PHP Modul zum Einbinden einer Go-eCharger Wallbox

Dir ist aber schon klar, das die GOeCharger Befehle auf das Modul selbst und nicht auf die Attribute angewendet werden, oder? :upside_down_face:

Nimm mal die Instanz-ID des GOeChargers…

Vielen, vielen Dank!!!
Jetzt funktionierts!

Hallo Coyote!
Auch von mir ein dickes Dankeschön für das Modul.
Ich habe einen go-eCharger HomeFix mit Hardware v3, dort kommen die Temperaturdaten nicht mehr mit dem Schlüssel tmp, sondern mit einem Array tma aus zwei Sensoren.
Ich habe auf Github mal ein Issue erstellt mit einem Anpassungsvorschlag…
Viele Grüße

da habe ich mit Go-E aktuell tatsächlich ein Problem. Die Sorgfalt bei ihren API Änderungen (z.B. „dws“ und jetzt ggf. das von die beschriebene „tmp/twa“) ist doch etwas „erschütternd“.

Ich selbst habe aktuell 2 GO-eCharger, Hardware V2 mit Firmware 040. Die Firmware 050 wird mir z.B. gar nicht angeboten (iOS App). Somit kann ich faktisch auch keine 050/051er FW Änderungen erkennen/anpassen oder testen!

Da wäre ich ggf. auf eine saubere API Dokumentation angewiesen (und hier schlampert GO-e leider etwas). Evtl. hilft hier, wenn ihr mir den /status Abruf zuschickt, damit ich erkennen kann, was das API anders macht. Aber wenn undokumentierte Werte geliefert werden…

Da hast Du wohl leider recht… Mit der neuen Firmware hat ja auch die APIv2 Einzug gehalten, eine Dokumentation habe ich hierfür leider noch gar nicht gesehen.
Auch zu meinem Support-Case, weil sich die API relativ häufig mit einem Lock-Fehler aufhängt, habe ich seit einigen Wochen nichts gehört.
Hier mal der Status-Response, hatte diesen bereits im Github gepostet:
{"version":"B","tme":"2607210800","rbc":"85","rbt":"1701934","car":"1","amx":"0","amp":"16","err":"0","ast":"1","alw":"0","stp":"0","cbl":"0","pha":"56","fsp":"0","tma":[23.625,28.375],"dws":"0","dwo":"0","adi":"1","uby":"0","eto":"0","wst":"3","fwv":"051.1","nrg":[225,224,226,0,0,0,0,0,0,0,0,0,0,0,0,0],"sse":"123456","wss":"WLANSID","wke":"********","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"255","aho":"0","afi":"7","azo":"1","ama":"16","al1":"6","al2":"10","al3":"12","al4":"14","al5":"16","cid":"46847","cch":"16747008","cfi":"65280","lse":"1","ust":"2","wak":"******** ","r1x":"2","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"0","ecr":"0","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"1","rcr":"1","rcd":"1","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"User 1","rnm":"User 2","rne":"User 3","rn4":"User 4","rn5":"User 5","rn6":"User 6","rn7":"User 7","rn8":"User 8","rn9":"User 9","rn1":"User 10","loe":0,"lot":32,"lom":6,"lop":50,"log":"","lof":0,"loa":0,"lch":0}

Firmware ist aktuell 051.1, der Response sah aber bei einer 050 identisch aus.
Firmwareupdates wurden bei mir erst angezeigt, als ich die Cluod in der App aktiviert habe. Davor kam immer „Keine Verbindung zum Update-Server“.
Vielleicht sind die neueren Firmware-Versionen aber auch nur für die v3…

Die folgenden Punkte habe ich gerade noch gefunden:

  • tmp - immer „0“, wurde durch das temperatur-array tma ersetzt
  • tma - array aller 4 Temperatursensoren in °C (z.B. [24.00,24.12,23.38,23.38])
  • amt - die maximale Amperezahl wenn diese durch die Temperatursensoren limitiert ist (bzw. „32“ wenn es nicht limitiert ist)
  • txi - das transmit interface und in der Home+ immer „0“

https://www.loxwiki.eu/pages/viewpage.action?pageId=72122962

Danke. Ich könnte ja vom TMA einfach den maximalen Wert in die bestehende Temperatur-Variable schreiben. Ich glaube nicht, das jemand die Einzelwerte in IPS brauchen wird.

Bzgl. der API V2 wäre wirklich mal eine Doku nicht schlecht.

Die Cloud habe ich nicht angebunden da ich eigentlich meine GO-eCharger nur über IPS ansteuere. Ich mag es nicht, wenn jedes Gerät „nach hause“ telefonieren möchte.

Generell gilt beim GO-eCharger aus meiner Sicht die alte IT Weisheit: Never change a running system!

Das mit dem Maximalwert ist vermutlich eine gute Idee…
Wäre vielleicht noch interessant, an welchem Sensor sich der amt richtet, siehe oben. Den Wert habe ich aber aktuell gar nicht im JSON, vielleicht taucht der erst bei einer Überhitzung auf.

Die Cloud brauche ich auch nicht, aber ohne den Switch gab es bei mir mit der v3 eben gar keine Firmwareupdates. Ich glaube, der Punkt kam in der App unter Android auch erst mit einem Update.

Mit dem Never change a running system bin ich voll bei Dir, meine go-e ist aber erst ein paar Wochen alt und muss sich erst noch bewähren. :wink:

Vielen Dank, für das super Modul habe es gerade installiert und funktioniert sofort ohne Probleme. :slight_smile:

Was mich mal interessieren würde, wir ihr die Visualisierung umgesetzt habt? Da fehlt mir momentan noch die richtig Idee, ausser alle Variablen untereinander.

Danke & VG Thomas

Sieht bei mir dank IPSView (links) und Webfront so aus:

Da ist aber nicht nur der GO-eCharger involviert, sondern auch das BMW Connect Modul sowie eine selbst programmierte PV Ladesteuerung (basierend auf meinem RCT Power Modul).

Wie immer geht es bei der Visualisierung ja nicht um eine technische Sicht auf die Geräte sondern um eine Benutzersicht.

Danke Coyote,

das sieht schon sehr gut aus.
Hat jemand noch andere Vorschläge?

Servus @Coyote ,
ich komme nochmals auf die Phasenumschaltung zurück.
Laut API V2 ist das der Parameter „fsp“ (forcesinglephase).
Ein Wert „false“ erlaubt 3phasiges laden; „true“ erzwingt einphasiges Laden.

Der API2 Befehl:
http://192.168.xxx.xxx/api/set?fsp=true //einphasig
http://192.168.xxx.xxx/api/set?fsp=false // dreiphasig

Es wäre toll, wenn du den wert und die Bedieung in das Modul einbauen könntest.
Alle, die Hardware 3 und eine Firmware ab 051.4 haben können das nutzen.

Danke

Hi,

eine SEHR interessante Information. Dies (die Phasenumschaltung) ist genau die einzige Schwachstelle, die ich aktuell an meinen GO-eChargern habe.
Ich werde mir jetzt erstmal meine GO-eCharger gegen V3 Versionen austauschen (und dann gehen meine bisherigen in die Bucht) und dann werde ich sicherlich auch diese Umschaltung in mein Modul einbauen. :wink:

Gruß
Coyote

Sehr gut,
bis dahin löse ich das mit einem separaten Skript👍

Übrigens klappt das „im laufenden Betrieb, die Wallbox unterbricht kurz das Laden ind startet mit geänderter Phasenzahl neu.

Danke

:lying_face: mit der Firmware 051.4 hat die Umschaltung geklappt…mit 051.8 funktioniert es nicht mehr … ich teste in den nächsten Tagen mal diverse Varianten…

Och nö… schludern die immer noch bei den FW Updates rum?
Ei. Paar einfache Testroutinen könnten die ihrem Entwicklungsprozess schon spendieren… :neutral_face:

Meine zwei V3 Homefix+ liegen schon hier rum :wink:

So, nun habe ich abschließen getestet…
http://192.168.xxx.xxx/mqtt?payload=fsp=1 //einphasig
http://192.168.xxx.xxx/mqtt?payload=fsp=0 //dreiphasig
klappt.
Allerdings muss man natürlich in der APP zuerst MQTT aktivieren.

Über die API-Befehle habe ich die Umschaltung nicht mehr zustande gebracht.
Aktuell getestet mit Hardware V3 und Firmware 051.8 (am 30.10.21 aktuelle Version)

@JoeB So, meine Installation ist angepasst.

Aktuell haben meine V3 die Firmware 50.1. Die neueste Version ist die 51.9. Nach deiner negativen Erfahrung mit der 51.8 bin ich aber vorsichtig. Ist das Problem mit der Phasenumschaltung in der 51.9 behoben? Sonst würde ich erst einmal auf der 50.1 bleiben.

Ansonsten denke ich über folgende Neuerungen nach (ist noch nichts realisiert):

  1. Aufnahme der Phasenumschaltung als Attribut und Befehl

  2. Zusätzlicher Befehl zum Setzen der Wh (anstatt A) sowie eines Konfigurationsparameters, ob automatisch eine Phasenumschaltung durchgeführt werden soll.
    Idee: Man kann die Wh setzen (Beispiel: anhand PV Überschuss), und das Modul ermittelt dann die benötigten Phasen und Ampere und setzt diese automatisch anhand der möglichen Kombinationen mit dem Fokus ggf. 1phasigem Laden.
    Beispiele:
    „setze 1500Wh“ → es werden 6A/1phasig gesetzt
    „setze 3000Wh“ → es werden 13A/1phasig gesetzt
    „setze 6000Wh“ → es werden 8A/ 3phasig gesetzt
    Hintergrund ist das Problem, das man, wenn man möglichst nur seinen eigenen PV Überschuss laden möchte, bei z.B. 3kWh Überschuss das Fahrzeug nicht 3phasig laden kann (3230V6A = 4.14kW minimale Ladeleistung), weshalb man in diesem Fall 1phasig laden muss. Ich würde dann im Bereich 1.38kW - 3.68kW (16A) bzw. 3.91kW (17A) 1phasig laden, und darüber erst auf 3phasig umschalten (dann 6A = 4.14kW - 11kW (16A) bzw. 22kW (32A)). Das dürfte die Integration in eine PV Steuerung vereinfachen

  3. Neue optionale Option MQTT Updates statt Pollen via Status-API (V1)
    Ggf. schreibe ich auch via MQTT, was mir aber keine Mehrwert bietet

Hat sonst noch jemand Ideen/Vorschläge, was man einbauen könnte? Nur für den Fall das ich eh dran rumschraube und es leicht einbauen könnte :wink:

Servus,
ich schalte aktuell die Phasen per MQTT (nicht per per API) …das läuft stabil.

Ich werde deine neue Version in den nächsten Tagen testen.

Top und DANKE!

Hi,

die Version ist noch nicht da. Wäre trotzdem nett, wenn du ggf. auf die 51.9 upgedatet haben solltest, ob das API Kommando wieder geht.

MQTT zum Empfangen steht schon bei mir auf der Liste. MQTT zum Senden probiere ich ggf. auch noch aus (dann könnte man komplett auf MQTT wechseln).

[Update] Ich habe meine erste Box auf 51.9 aktualisiert. In der 50.1 lief das Ändern von „fsp“ überhaupt nicht. Mit der 51.9 läuft es mit der API_V1 problemlos. Der Punkt ist also schon mal in der Mache :wink:

Servus Coyote,
ich habe die 51.9 aktiv …
Testreihe:
go-e HW V3; SW 59.1; lokale HTTP API V1&V2 aktiviert; MQTT inkl. schreiben aktiviert

Statusbafrage: http://192.168.11.92/api/status?filter=fsp → {„fsp“:true} / {„fsp“:false}

http://192.168.11.92/api/set?fsp=false → {„fsp“:„fsp: tried to set api key without setter (false)“} → Wert wird nicht geändert
http://192.168.11.92/api/set?fsp=0 → {„fsp“:„fsp: tried to set api key without setter (0)“} → Wert wird nicht geändert
http://192.168.11.92/mqtt?payload=fsp=0 → Wert wird geändert

Ich hoffe das hilft Dir weiter!

VG
Joe