Seite 5 von 6

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Fr Apr 23, 2021 10:45 am
von LutzB
sagibo hat geschrieben: Fr Apr 23, 2021 9:52 am Ein herzliches Dankeschön noch, dass ich mir ab jetzt bei updates grep und nano sparen kann....
Da fragt sich der geneigte Leser, warum Du das nicht schon vorher per PR angeboten hast. ;)

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Fr Apr 23, 2021 3:56 pm
von sagibo
Das ist ziemlich einfach: Ich bin zu neu hier... War bislang nur im goingelectric-Forum unterwegs, dort hatte ich das auch gepostet. Da gibts einen sehr umfangreichen thread zur go-e. Und einen Verbesserungsvorschlag bei openWB habe ich auch gemacht... Besser spät als nie :) ...

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Do Jan 05, 2023 11:26 am
von sagibo
Hallo zusammen,

ich habe kürzlich eine go-e V3 auf die FW 054.11 hochgezogen. Dies hatte zur Folge, dass in den beiden Routinen, die den go-e Ladestrom regeln

/var/www/html/openWB/goecheck.sh
/var/www/html/openWB/runs/set-current.sh

die FW-Erkennung und daher auch die anschließende Verzweigung nicht mehr funktioniert.
Es tauchen Fehler im openWB.log auf:

"... Syntaxfehler im Ausdruck. (Fehlerverursachendes Zeichen ist \"11 >= 40\")"

Das liegt daran, dass die Variable "fwv" nicht den String "54" enthält, sondern "54 11", mit dem die Vergleichsoperation für die if-Verzweigung dann nicht mehr funktioniert.

Dies hat zur Folge, dass dann nicht mehr der EEPROM-schonende "amx="-Befehl ausgeführt wird, sondern wieder der "alte" "amp="-Befehl, der die Anzahl der flash-Schreibzyklen in der go-e erhöht und damit dessen Lebensdauer verkürzt.

Lösungen:
1) Nur noch go-e FW mit einstelligen Subversionen installieren. (Ziemlich doof, funktioniert aber... Bei der "055.0" tritt der Fehler nicht mehr auf)

2) Die Verzweigung in den Scripten reparieren. Wenn man sich darauf verlassen kann, dass das fwv-Attribut im go-e-Status keine alphanumerischen Zeichen, sondern ausschließlich Ziffern enthält, funktioniert auch
fwv=$(echo $output | jq -r '.fwv' | awk -F '.' '{print $1}')
Das war aber bei beta-Versionen früher nicht so,daher finde ich diese Lösung nicht super... Ich kann es nicht testen, aber bei einigen V2-Boxen wird das ggf. nicht funktionieren.

3) Einfach mal alte Zöpfe abschneiden. Alle go-e ab V2 FW=40 können den amx-Befehl verarbeiten. Es ist meiner Meinung nach zumutbar, dass go-e V2 Besitzer nach so langer Zeit die FW ihrer Box hochziehen. Ein Hinweis darauf, dass dies sinnvoll ist, befindet sich ja auch seit einiger Zeit in der Modulkonfig von openWB:
"Seit Firmware Version 0.40 wird PV-Laden besser unterstützt. Bitte halten Sie die go-e Firmware auf einem aktuellen Stand."

Daher mein Vorschlag: Den Hinweis ändern auf:
"Es werden nur noch go-eCharger mit Firmware ab Version 0.40 unterstützt. Bei go-e V3 und höher aktivieren Sie bitte in der go-e-Box die "API v 1".
(Letzteres muss man ja eh schon...)

Die scripte dann nur noch in der "amx=" Version deployen. Ich habe die anepassten Scripte im tgz-Archiv unten angehängt. Bei mir funktionieren sie problemlos.


Leider habe ich null Erfahrung in kollektiven Software-Pflege und -Entwicklungsprozessen. Mit meinem rudimentären shell-script Wissen aus Unix-Admin-Erfahrungen von vor 25 Jahren kriege ich gerade noch hin, die kritsichen code-Passagen zu identifizieren. Bzgl. der deployment-Prozesse in openWB habe ich keinerlei Ahnung und möchte mich da auch nicht mehr reinhängen.

Da ich meine Beobachtung aber wichtig finde, teile ich sie hier mit und bitte einen erfahrenen Co-Entwickler ( -in) sich dessen ggf. anzunehmen.

Viele Grüße
Andreas

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Do Jan 05, 2023 7:30 pm
von TeutoRockA
Ich bin für alte Zöpfe abschneiden - und wer vielleicht nicht updated hat eh ne alte OpenWB Version

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Mo Jan 09, 2023 11:45 am
von mutsch2000
Ichbin auch dafür, wenn ihr wollt ändere ich das ab.

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Mo Jan 09, 2023 11:56 am
von mkpv
Kann ich dann meine Go-e Hardware Version V1 trotzdem mit der openWB weiter nutzen? Sonst wäre das ein Rückschritt für mich.

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Mo Jan 09, 2023 1:03 pm
von mutsch2000
Gute Frage mit der V1 mit welcher Firmware läuft diese?

Die Änderung habe ich jetz dennoch mal eingereicht
https://github.com/snaptec/openWB/pull/2579

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Mo Jan 09, 2023 1:22 pm
von mkpv
mkpv hat geschrieben: Mo Jan 09, 2023 11:56 am Kann ich dann meine Go-e Hardware Version V1 trotzdem mit der openWB weiter nutzen? Sonst wäre das ein Rückschritt für mich.
ziehe meine Frage zurück, habe die hardware revision V2 und FW 41. Somit sollte kein Problem sein.

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Di Jan 10, 2023 2:35 pm
von mutsch2000
was wi natürlich auch machen könnten ist die Bedingung abzuändern dass im zweifel amx zieht

quasi


if (($fwv < 40)) ; then
curl --silent --connect-timeout $goetimeoutlp2 -s http://$goeiplp2/mqtt?payload=amp=$current > /dev/null
else
curl --silent --connect-timeout $goetimeoutlp2 -s http://$goeiplp2/mqtt?payload=amx=$current > /dev/null
fi


@sagibo
Könntest du das mal ausprobieren?

Re: go-e API: neuer Befehl zur Stromvorgabe

Verfasst: Mi Jan 11, 2023 7:33 am
von LutzB
Bitte mal testen:

Code: Alles auswählen

#!/bin/bash
minVersion=40

checkVersion() {
	version=$(echo "$1" | jq -r '.fwv')
	majorVersion=${version%.*}  # remove everything after a "."
	majorVersion=${majorVersion%-*}  # remove everything after a "-"
	majorVersion=${majorVersion#0}  # remove leading "0"
	if ((majorVersion >= minVersion)); then
		echo "AMX ($version >= $2)"
	else
		echo "AMP ($version < $2)"
	fi
}

JSON=(\
	'{"fwv":"054.11"}' \
	'{"fwv":"051"}' \
	'{"fwv":"040.23-beta9"}' \
	'{"fwv":"039-beta43"}' \
	'{"fwv":"039.4-beta56"}' \
	'{"fwv":"100.4-beta99"}'\
)
for j in "${JSON[@]}"; do
	checkVersion "$j" "$minVersion"
done
Wenn damit alle Fälle abgedeckt sind, kann gerne ein neuer PR erstellt werden.