a529987659852 / openwb2mqtt

Home Assistant Integration for openWB (Version 2)
13 stars 4 forks source link

MQTT corrupts openWB2 settings #4

Closed requiemmg closed 10 months ago

requiemmg commented 10 months ago

Hi,

I have opened a thread at openWB Forums. https://openwb.de/forum/viewtopic.php?p=99373

Quote: Ich verzweifle ein bisschen an einem Thema, nämlich wiederkehrenden falschen Zählerständen. Das Problem hatte ich schon mit 1.9.x und jetzt mit der 2.1.2 Release + Patch1.

Setting: SolarEdge SE8KRWB Inverter mit SE StorEdge Batterie und Meter. openWB 2 standard+ HomeAssistant

Ich habe gestern von 1.9 auf 2.1.2+Patch1 geupdated. Ich hatte falsche Zählerwerte in der 1.9 (viel, viel, viel zu hoch, Milliarden von kWh). Im ersten Versuch habe ich dann gesehen, dass falsche Werte noch im MQTT Broker von Home Assistant steckten. Daher komplettreset der Datenbank des Brokers (währenddessen die openWB stromlos), nochmal komplett neues Image in die Wallbox gedengelt und fertig eingerichtet.

Alles prima, alles lief, alle Werte richtig. Alles wird richtig übertragen, keine Leftovers in MQTT.

Da ich mit der openWB und dem HomeAssistant parallel auf die Modbus-Schnittstelle zugreife, setze ich das Addon Modbus-Proxy ein. Keine Probleme hier, und alle Werte die ich in HomeAssistant von Inverter, Zähler und Batterie bekomme sind komplett richtig.

Der Inverter macht 2x am Tag (vom Hersteller so vorgegeben) einen Reset und ist dann ca 2 Minuten nicht erreichbar. Heute gab es noch ein Firmware-Update des Inverters (0004.0019.0039), in der war er 10 Minuten nicht erreichbar.

Und jetzt habe ich wieder irre hohe Werte in der openWB, die sich auch via MQTT nicht löschen lassen.

Ich würde gerne wissen, wie ich die loswerde, warum das passiert und wie ich es vermeiden kann, das Problem erneut zu bekommen.

___ etwas später

Jetzt wird's unlustig: Nach einem Reboot der openWB kommen die alten Geräte wieder rein, sind also doppelt vorhanden. Und lassen sich nicht löschen. Mit Klick auf "löschen" wird dann zwar angezeigt "Gerät mit Id {Nummer} gelöscht", aber beim reload der page ist das Gerät noch da. Ich setz dann morgen mal die openWB zum dritten Mal neu auf....

Anbei mal die relevanten logs jetzt einige Minuten nach Neustart.

Im Übrigen bekomme ich auch die Meldung, dass nicht mit Maximalstromstärke geladen werden könne, da die Maximale Last am SolarEdge-Zähler erreicht sei; diese habe ich auf 40 kW gestellt, ich bin aber bei einer Gesamtlast (Haus+openWB inkl Ladevorgang) von ca 10-11 kW, die Ladeleistung ist hierbei dreiphasig zwischen 6000-9000 Watt, war mit Software 1.9 bei 10600 Watt.

Ich bin etwas verzweifelt.

Ladepunkt.log main.log modbus-proxy.log mqtt.log

Screenshot 2024-01-04 180150 Screenshot 2024-01-04 180314 Screenshot 2024-01-04 180428 Screenshot 2024-01-04 215133 Screenshot 2024-01-04 215153
requiemmg commented 10 months ago

Idee: Eigentlich benötigt Home Assistant AUSSCHLIESSLICH lesezugriff. Würde es helfen, wenn man topic openWB/# both 2 in topic openWB/# in 2

ändert? Teste das mal aus.

requiemmg commented 10 months ago

Das funktioniert. Also, es kommt tatsächlich reichlich Datenmüll über den MQTT broker an die openWB und zerschiesst mir da die Zählerstände und trägt gelöschte Geräte wieder ein. Leider hat das "in" einen ungewollten Nebeneffekt: Ich kann nicht mehr die SoC und Range schreiben. Dann müsste ich mit ACLs arbeiten, aber das probiere ich dann mal morgen aus, schaffe ich heute nicht mehr.

scrichab commented 10 months ago

das ist ja Einstellung aus der MQTT Bridge?? kann nicht beurteilen ob oWB ohne Bridge läuft hatte die 1.9er auch mit Bridge laufen

na ja mit nur Lesezugriffen lässt sich halt aus HA nichts einstellen momentan gibt es ja schon lademodus schreibend - was auch funktioniert (und ich hoffe das noch das eine oder andere dazu kommt ;-) )

im oWB Forum wird dringend von Einstellung both 2 abgeraten (die 1.9er lief bei mir damit problemlos)

meine 2.x Installation läuft mit

... topic openWB/# in 2 topic openWB/set/# out 2 ....

auch mit Einstellungen aus HA

bin aber kein mqtt Experte

Tante Edit: hatte anfänglich meine 2.x Installation auch mit topic openWB/# both 2 laufen bie mir lief das bisher auch ohne Probleme - habe das erst die letzten Tage wg. der Diskussion im oWB Forum umgestellt

requiemmg commented 10 months ago

Das teste ich dann mal, das würde auch das Problem lösen mit dem SoC und der Range. Vorausgesetzt, ich bekomme dann nicht wieder scheisse in die Kanäle... ;-)

a529987659852 commented 10 months ago

Ich hatte beim Entwickeln und jetzt auch im Livebetrieb keine Probleme mit der both Option. Die 1.9 Version hat auch nicht gezickt. Aber andererseits ist bei 2.0 ja einiges neu entwickelt worden.

Ich schreib euch morgen zusammen, welche Topics gelesen und (bis jetzt nur welches - Singular) geschrieben werden, damit ihr die sauber abonnieren könnt.

Andreas

requiemmg @.***> schrieb am Do., 4. Jan. 2024, 23:06:

Das teste ich dann mal, das würde auch das Problem lösen mit dem SoC und der Range. Vorausgesetzt, ich bekomme dann nicht wieder scheisse in die Kanäle... ;-)

— Reply to this email directly, view it on GitHub https://github.com/a529987659852/openwb2mqtt/issues/4#issuecomment-1877823645, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQTMJRBHW7FGTEO6TSID5C3YM4RUZAVCNFSM6AAAAABBNQGFW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZXHAZDGNRUGU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

requiemmg commented 10 months ago

Ich hatte bei der 1.9 schon auf einmal falsche Zählerstände drin, die sich nicht mehr korrigieren liessen. Das war dann nach einem Tag Betrieb in der 2.x auch so, völlig irre Werte (Milliarden von kWh), während das in HA alles korrekt ist. Jetzt mit der 2.x hat mir das echt einiges zerschossen, warum auch immer, mag die spezielle Zusammenstellung aus meiner SOlaredge-Anlage und den verwendeten Modulen etc sein. Aber wie gesagt, ausser SoC, Range und Lademodus muss HA ja eigentlich nichts an die openWB senden. Falls es mit dem "out" im Ordner /set/ jetzt weiter Probleme gibt grenze ich das weiter auf topics ein, die wirklich geschrieben werden müssen.

scrichab commented 10 months ago

ist halt von User zu unterschiedlich bei mir kommt SOC und Range aus der Fahrzeugintegration. für mich wäre noch Anzahl Phasen PV Ladung und Fahrzeugauswahl schön in der Integration habe das momentan einzeln manuell gelöst da ich aber die openWB2 Integration laufen lassen möchte wäre es halt einheitlich und so gibt es für andere User bestimmt noch andere Prio´s

requiemmg commented 10 months ago

Kommt bei mir auch daher, muss aber von HA an die WB, da die V2 den Enyaq aktuell nicht unterstützt (hatte das vorher via evcc). Anzahl Phasen schreibbar meinst du? Denn im Chargepoint-Modul ist der Wert ja aktuell schon drin...

scrichab commented 10 months ago

ja Auswahl Phasen für PV Ladung (mit 1p3p Umschaltung) 0 Automatik, 1, oder 3 - schalte halt bei schlechterm oder wechselndem Wetter von Automatik auf 1 Phase die Automatik wirkt ab und zu sehr träge :-( ich verwende HA als Übersicht für unterschiedliche PV Installationen/Batterien und Ladestation und dann ist halt die Möglichkeit auch aus HA umzuschalten hilfreich ich muss nicht wechseln auf oWB Web

a529987659852 commented 10 months ago

@requiemmg Ich habe die Doku-Section für MQTT angepasst und auch eine Beispieldatei für die Mosquitto-Konfiguration bereitgestellt. Dort werden alle Themen nur von der openWB importiert und sollten damit deine Konfig nicht mehr zerhauen. Als einziges Thema wird _openWB/set/vehicle/template/chargetemplate/+/chargemode/selected exportiert, da das für den Wechsel des Ladezustands gebraucht wird.

@all: Falls euch bei der Doku noch was auffällt, schreibt es mir und ich passe es an. Andreas

EckeFL commented 10 months ago

Hallo Andreas Die Beschreibung funktioniert gut. Wenn man den SoC des Autos an die openWB senden möchte, ist topic openWB/set/vehicle/template/charge_template/+/chargemode/selected out zu einschränkend.

Für Menschen (wie mich) die beim erstbesten Codeblock nicht mehr weiter lesen, wäre es sicher auch hilfreich, beide Codeblöcke zusammen zu fassen.