NEWS
openWB SoC Wert aus vwconnect übergeben?
-
Ich eröffne hier mal einen neuen Thread zu oben genannten Thema.
Begonnen hat die "Fragestunde" hier im vwconnect Thread -> https://forum.iobroker.net/topic/26438/test-adapter-vw-connect-für-vw-id-audi-seat-skoda/1071?_=1639225626463
Hintergrund der Idee, war den SoC des Fahrzeugs, welcher ja über vwconnect ausgelesen wird, an openWB zu übergeben, damit man sich das lästige händische einstellen an der Wallbox sparen kann.
Die letzten Beiträge im vwconnect Thread haben zwar eine ungefähre Vorgehensweise erbraucht, doch leider funktioniert das nicht so, wie es der User @bommel_030 vorgeschlagen hat.
Ich habe zwar nun im openWB - SET Verzeichnis einen Datenpunkt mit dem Namen %Soc angelegt (als Zahl), aber jegliche Änderungen werden NICHT nach mqtt.2.openWB.lp.1.%Soc übergeben.
Ich habe dieses auch mit mqtt.2.openWB.set.lp.1.manualSoc ausprobiert, aber auch hier werden Wertänderungen im SET Ordner, nicht übernommen.
Die Werte aus openWB landen bei mir im ioBroker über den MQTT Adapter der wiederum als Client/Subcriber eingestellt ist.
Muss ggf. in openWB noch irgend etwas spezielles eingestellt werden, damit Werte die von extern rein kommen, von openWB auch akzeptiert werden? Bislang habe ich ja nur die Werte aus openWB lesend abgegriffen.
-
@jb_sullivan
Also... Erstmal den Datenpunkt manualSoc löschen, der kann nicht funktionieren.
Blockly, Javascript etc. die den SOC schreiben sollen erstmal dekativiert werden.
Du kannst in der OpenWB / Einstellungen / Modulkonfiguration => SOC Modul MQTT auswählen.
Nutze aktuell noch das VAG Modul und es funktioniert trotzdem.
Von der OpenWB verwendet wird dieser Datenpunkt:
mqtt.2.openWB.lp.1.%Soc
Von dir geschrieben wird in diesen Datenpunkt:
mqtt.2.openWB.set.lp.1.%Soc
Jetzt einfach in diesen Datenpunkt einen Wert z.B. 75 eingeben und mit "Wert setzen" bestätigen.
(Mit der Maus draufklicken, nicht Enter drücken) Jetzt sollte die 75 kurz grün aufleuchten und dann verschwinden.
Dafür steht die jetzt im Datenpunkt mqtt.2.openWB.lp.1.%Soc.Sollte das nicht funktionieren, dann schau dir mal deine MQTT EInstellungen an:
-Client/Subscriber
-Haken bei rejectunauthorized
-Subscribe pattern: #
-Maske zum Bekanntgeben eigener States: mqtt.2.*
-Haken bei : Nur bei Änderungen publizieren / Eigene States beim verbinden publizieren
-ggf. die OpenWB mal neu starten, hab noch nicht herausgefunden bei welchen EInstellungen speichern reicht und welche nen reboot brauchen. -
@bommel_030 sagte in openWB SoC Wert aus vwconnect übergeben?:
-Maske zum Bekanntgeben eigener States: mqtt.2.*
-Haken bei : Nur bei Änderungen publizieren / Eigene States beim verbinden publizierenVielen Dank für die detaillierte Ausführung. Der obere Teil mit der 75 hat "natürlich" nicht funktioniert, weil die beiden zitierten Menüpunkte bei mir in der Instant so nicht gesetzt waren.
Habe ich jetzt geändert und auch die openWB neu gestartet - und siehe da, kaum macht man es richtig, funktioniert es auch.
Nun wird der Wert aus %Soc auch bis in die openWB durchgereicht. Schade nur, das diese Wochenende mal wieder die Skoda Server hängen und seit Freitag der SoC Wert vom Wagen unverändert ist. Lt. div. Foren scheint eine große Anzahl an Fahrzeugen aktuell davon betroffen zu sein.
Da gibt es seitens Skoda noch sehr sehr viel Optimierungsbedarf
Allerdings funktioniert das Wert weiterreichen nur, wenn ich es manuell mache. Über ein Blockly funktioniert es nicht.
Mit dem System Block "aktualisiere" passiert gar nichts und mit dem Systemblock "steuere" schreibt er zwar den neuen Wert in den Set %Soc DP rein, jedoch wird dieser nicht "nach oben" in den DP mqtt.2.openWB.lp.1.%Soc übernommen und verschwindet auch unten nicht wieder.
Weißt du zufällig welcher Blockly Block die Funktion "setzen" wie bei der händischen Eingabe auslöst?
-
Jabb, das WE war auch bei VW eher bescheiden was den SoC angeht. Ärgerlich wenn man morgens bei 81% abstöpselt und abends wieder mit 26% anschließt und die Box Dank VW-Server noch von 81% ausgeht. Dann hat das Nachtladen natürlich nicht funktioniert und die Abfahrt am Sonntag verzögert sich...
Nutze ein Blockly für den EVU Zweig. Der übergibt mit "steuere" korrekt via MQTT weiter. Evtl. Musst du Mal nachschauen ob du noch ne Umwandlung String/Zahl o.ä. brauchst.
Kann erst später selber testen. -
@jb_sullivan
ich habe das mit diesem Block gemacht, du brauchst sonst nichts, keinen Trigger o.ä.
teste es einfach mal selbst mit deinen Variablen. -
@jb_sullivan
Hab es mal kurz getestet. Mit "steuere" reicht er den SOC brav aus dem vw-connect Adapter weiter an die Wallbox.
Beide Datenpunkte sind vom Typ "number".
Die elegantere Methode ist natürlich der Binding Vorschlag von @schmuh. -
Vielen Dank an Euch beide - aber leider funktioniert bei mir weder "steuere" noch "bind" (was bedeutet eigentlich der DP content?)
Ich kann mich auf den Kopf stellen. Alles was über ein Blockly auf den DP
mqtt.2.openWB.set.lp.1.%Soc
geschrieben wird, bleibt dort wie angenagelt stehen und wird nicht anmqtt.2.openWB.lp.1.%Soc
weitergereicht.Mache ich es aber von Hand und drücke "Wert setzen", funktioniert es.
-
@jb_sullivan
Der DP "content" kommt vom We Connect Adapter:
-
@jb_sullivan
Ausm Bauch raus ohne PC vor der Nase...
Dein Quelldatenpunkt ist auch Number?
Hatte sowas Mal beim Stromzähler, hat W als Number und Wh als String geliefert... -
@schmuh Ah Ok, dann werden die DP`s beim Skoda Enyaq offensichtlich anders benannt.
-
@bommel_030 Jupp Quell DP ist "number" wie alle anderen DP`s auch
-
Dann löse ich das ganze mal selber auf - ich habe nichts, von dem oben gezeigten geändert.
Als die Skoda Server wieder funktionsfähig waren und mein Fahrzeug wieder gefunden wurde, hat es sofort eine automatische Aktualisierung des SoC Wertes, sowohl auf vwconnect Ebene, als auch in openWB mit dem "binding" Blockly gegeben.
Somit alles OK was das weiterreichen des Datenpunktes angeht - so die Server der Automobil Hersteller das auch wollen ..........
-
@jb_sullivan
Freut mich wenn es funktioniert. Ist leider (noch) nicht sonderlich zuverlässig was VAG da liefert.
Du kannst mit der simpleAPI den SOC auch von der Wallbox direkt aus iobroker auslesen lassen,
dann brauchst du theoretisch nicht mal nen Skript zum aktualisieren.