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

use Go-e API V2 instead of API V1 (in case of HWv3 which supports it) #2460

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

matzempc
Copy link
Contributor

Mit der HW-Generation V3 des Go-e chargers wurde eine neue Version der API eingeführt (https://github.com/goecharger/go-eCharger-API-v2).
Die HWv3 kann anhand des Vorhandenseins des Parameters fsp (1-3 Phasenumschaltung) detektiert werden, da die HWv2
diesen nicht unterstützt. Dieser Parameter wird nur gelesen bzw. auf tatsächlich Vorhandensein überprüft.
Der Vorteil der APIv2 ist im Moment das der Zählerstand nicht mehr nur in ganzen kWh so wie in APIv1, sondern mit drei Nachkommastellen (so wie der der openWB selbst - GoE ist natürlich ungenauer, da nicht MID geeicht) zurückgeliefert wird.
Mit der Änderung werden somit sowohl "ältere" Go-e (mit APIv1) als auch "neuere" mit HWv3 (mit APIv2) automatisch erkannt und unterstützt.
Die Unterstützung ist für LP1 bis LP3 eingebaut.

oldcurrent=$(echo $output | jq -r '.amp')
current=$(</var/www/html/openWB/ramdisk/llsoll)
if (( oldcurrent != $current )) && (( $current != 0 )) ; then
curl --silent --connect-timeout $goetimeoutlp1 -s http://$goeiplp1/api/set?amp=$current > /dev/null
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ist bei der neuen API keine Unterscheidung zwischen amp und amx erforderlich?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nein, hier gibt es nur noch den Wert amp.
Die Unterscheidung zwischen amx und amp war ja, das amp persistent ist, also der Wert ins Flash geschrieben wird. Um zu verhindern, das man damit auf Dauer durch "ständiges" Neusetzen (was bei PV Regelung ja der Fall ist) das Flash "kaputt" schreibt wurde der Wert amx eingeführt.
Mit der neuen HW Generation (sowie neuer SW) ist go-e dieses Problem aber von einer neuen Seite angegangen mit einem intelligenten bzw. intelligenteren Ansatz zur Persistierung, hier das Statement von go-e (habe extra nochmals angefragt):
"Da du allerdings wohl ohnehin bereits eine neuere Hardware-Version hast, musst du dir hier generell keine Sorgen machen.
Hier wird ein Log geschrieben und immer hinten der geänderte Einstellungwert angehängt. Da ein sehr großer Bereich im Flash dafür vorgesehen ist, setzt sich das einfach auf dem nächsten Block fort wenn noch mehr Daten geschrieben werden. Erst wenn alle Blöcke vollgeschrieben wurden, wird das komprimiert, alle Blöcke wieder mit 0 initialisiert und das Log von vorne geschrieben. Daher muss man sich hier keine Sorgen um Langzeit Zuverlässigkeit machen."

Überschlagsmäßig würde ich das unterstreichen (mehrere 1000 Male den Wert schreiben, bis der Sektor gelöscht werden muss und der verkraftet mind. 1000 Zyklen - eher 10000 => da sollte länger funktionieren, als die eigentliche alterungsbedingte Flashlebensdauer).

Da es die neue API ausschließlich bei der neuen HW-Generation gibt, sollte es somit kein Problem geben.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants