-
-
Notifications
You must be signed in to change notification settings - Fork 720
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
Use generator to simplify interface composition #310
Conversation
b04cb80
to
e647311
Compare
a7cf1f3
to
9ca1d43
Compare
So ganz klar ist es mir noch nicht was ich testen muss, Ich habe den chrager folgendermaßen konfiguriert:
Stimmt das so? Die Ladeleistung muss jedenfalls noch mit 1000 multipliziert werden. Die geladenen Wh werden nach stop und start zurückgesetzt. Auch "meterReading" wird leider von evse auf Null gesetzt, allerdings erst beim Start. "chargedEnergy" wird bereits beim Stop zurückgesetzt. Alles bei S0 Meter. |
Du kannst zum Test einfach evcc charger eingeben, die Faktoren ergänze ich noch (Leistung ist jetzt auch mit drin). |
Bzgl meterReading: das ist doch perfekt! Dann nehmen wir das als Zählerstand und lassen evcc das Delta ermitteln! |
Bzgl actualPower: das sieht aus wie der theoretische Wert der Evse, weniger wie ein Messwert- den sollten wir also ignorieren, den theoretischen Wert kennt evcc ja auch. |
Arrgh, 2x dicker Finger :O |
e5f27c5
to
56e3ad4
Compare
039ebe6
to
c181860
Compare
schaut jetzt besser aus. Leistung paßt:
Die geladene Energy setzt sich immer noch zurück. MeterReading wird auf 0 gesetzt wenn die Ladung beginnt und das wird von evse übernommen. |
Wirklich bekloppt, das das sollte auf Seite der EVSE gelöst werden... |
Dieser PR implementiert einen Code Generator um dynamische Interface Komposition zu implementieren. Damit sinkt die Komplexität für Implementierung unterschiedlicher Zähler- und Chargereigenschaften die sich erst zur Laufzeit ergeben und daher nicht statisch typisiert werden können.
/cc @schenlap mit diesem PR kann die EVSE optional auch Energie und Ströme. Der Code dafür ist automatisch generiert.
Konfigurationsoption:
Zugehörige golang-nuts Diskussion: https://groups.google.com/g/golang-nuts/c/Oo9Nwm4AZRI/m/mjMLeMcSBQAJ