Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Elli chargers #4207

Merged
merged 62 commits into from
Sep 30, 2022
Merged

Conversation

DerAndereAndi
Copy link
Contributor

@DerAndereAndi DerAndereAndi commented Aug 23, 2022

  • Generic template schema fixes
  • Added multiple workarounds for Elli charger specifics (define IP address in the configuration, use of hasMeter and chargedEnergy in the Elli templated marking lacking support of those)
  • Add EEBUS template presets, one with meter and one without
  • Move EEBUS ski definition to default params
  • Add ip to default params
  • Add 2 Elli templates, one for Connect (without meter) and one for Connect (with meter) and Pro
  • Set the chargers voltage per charger. Currently hard coded, in the future this should be taken from the site
  • Fixed excessive polling of external meters, will be fetched every 10s (could be improved by coupling this to the site interval)
  • Fixed check for detecting if the EV is charging
  • Fixed issue with self consumption handling
  • Use evcc provided machineid/plantid when available
  • Added patching of go library to accept buggy Elli EEBUS certificate

- Add support for defining manual IP addresses for eebus chargers
- Add support for defining `hasMeter`
- Add support for defining `chargedEnergy`
- Add eebus presets, one with meter and one without
- Move ski definition to default params
- Add ip default params
- Add 2 Elli templates, one for Connect (without meter) and one for Connect (with meter) and Pro
- Include updated zeroconf library
- Temporarily using the PRs original repo in mod
Temporarily hardcode the site voltage. This should be taken from site in the future
@DerAndereAndi DerAndereAndi marked this pull request as draft August 23, 2022 16:55
@DerAndereAndi DerAndereAndi changed the title Updates to support Elli chargers Add support for Elli chargers Aug 23, 2022
Fixes concurrent map read and map write issue
@andig andig added the devices Specific device support label Aug 24, 2022
charger/eebus.go Outdated Show resolved Hide resolved
charger/eebus.go Outdated Show resolved Hide resolved
charger/eebus.go Outdated Show resolved Hide resolved
@DerAndereAndi
Copy link
Contributor Author

Mein Ziel ist hier dass es funktioniert. Die EEBUS Implementierung und das momentane "Interface" sind für mich ein dead end. Möchte hier nicht mehr Zeit als notwendig einsetzen.

@DerAndereAndi
Copy link
Contributor Author

Der Elli Charger Connect hat kein eingebautes Messgerät. Man kann dies selbst nachrüsten, dafür gibt es in Foren eine Anleitung. Der Benefit ist dass gemessene Stromstärken pro Phase gemeldet werden. Die Wallbox selbst liefert ansonsten einfach die vorgegebene Stromstärke zurück. Momentan wird über das Template das jedoch deaktiviert und der Anwender sieht keine Ladeleistung. Er könnte "einfach" das andere Template nehmen und würde dann Werte sehen.

Die Wallboxen sind alle installiert und ob der Besitzer jetzt noch einen Modbus Zähler mit mehr Daten einsetzt um dann auch Leistung und geladene Energiemenge zu erhalten, ist wohl nicht sehr wahrscheinlich. Die meisten Anwender sind keine DIY und haben wohl mit der Einrichtung von evcc schon genug Schwierigkeiten vor sich.

Meine Frage wäre nun: sollte man das im Template der Connect nicht einfach auch "erlauben", dass die theoretischen Werte geliefert werden?

@andig @premultiply was meint ihr?

@andig
Copy link
Member

andig commented Aug 24, 2022

Auf keinen Fall falls sie das nicht phasenrichtig macht.

@DerAndereAndi
Copy link
Contributor Author

Was meinst du damit? Es werden pro Phase die Stromstärke zurückgegeben, die als Limit gesetzt ist. Es ist ein theoretischer Wert. Wenn das nicht erwünscht ist, bleibt es dann so wie es ist. Aber wie gesagt, der Anwender kann einfach das andere Template wählen und dann passiert genau das beschriebene. Es ist nicht möglich festzustellen ob da ein richtiger Zähler eingebaut ist oder nicht.

@andig
Copy link
Member

andig commented Aug 24, 2022

Wir verwenden die Ströme zur Phasenerkennung für den PV Modus. Die müssen stimmen, wenns nur L1 gibt darf auch nur auf L1 was kommen sonst funktioniert die Erkennung nicht. Ich würds lassen wie es ist.

Makefile Outdated Show resolved Hide resolved
charger/eebus.go Outdated Show resolved Hide resolved
charger/eebus.go Outdated Show resolved Hide resolved
go.mod Outdated Show resolved Hide resolved
- Remove sudo from the makefile
- Call `sudo make patch-asn1` from the default workflow build job
@andig
Copy link
Member

andig commented Sep 29, 2022

Bzgl. ASN: jetzt fehlt noch Docker?

Ansonsten LGTM:

evcc feature/elli*​ ≡3s  ❯
make patch-asn1
patch -N -t -d /opt/homebrew/Cellar/go/1.19.1/libexec/src/vendor/golang.org/x/crypto/cryptobyte -i /Users/andig/htdocs/evcc/patch/asn1.diff
patching file asn1.go

@DerAndereAndi
Copy link
Contributor Author

Wieso? Der läuft als Teil des GitHub Workflows, und da werden die Jobs in default.yaml durchgeführt in der go installiert und dann gepatched wird.

@andig
Copy link
Member

andig commented Sep 29, 2022

Wieso? Der läuft als Teil des GitHub Workflows, und da werden die Jobs in default.yaml durchgeführt in der go installiert und dann gepatched wird.

Nein. Der Docker Build läuft in einem Docker Container.

@andig
Copy link
Member

andig commented Sep 29, 2022

@DerAndereAndi
Copy link
Contributor Author

DerAndereAndi commented Sep 29, 2022

Ok, was genau soll da jetzt wo rein? Ich kenne diesen Teil nicht.

Darin hat man wohl keinen root Zugriff, benötigt man den überhaupt um die go libraries zu patchen? Ich habe hier dazu keine Umgebung um dazu testen und kenne mich damit nicht aus. Evtl. wäre das dann etwas für einen weiteren PR, von jemandem der sich damit auskennt?

@andig
Copy link
Member

andig commented Sep 29, 2022

Ok, was genau soll da jetzt wo rein?

Done

@DerAndereAndi DerAndereAndi marked this pull request as ready for review September 29, 2022 15:21
@DerAndereAndi DerAndereAndi marked this pull request as draft September 29, 2022 16:02
@DerAndereAndi DerAndereAndi marked this pull request as ready for review September 29, 2022 20:46
Makefile Outdated Show resolved Hide resolved
@andig andig merged commit 9f03dc7 into evcc-io:master Sep 30, 2022
@DerAndereAndi DerAndereAndi deleted the feature/elli branch October 9, 2022 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devices Specific device support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants