Closed mdkeil closed 8 months ago
Das wird unter 0.124.9 bei einem Neustart von evcc schon noch gepublished. Eben getestet. Und dann vermutlich nur noch, wenn sich der Wert ändert. Lass mal den MQTT Explorer laufen und starte evcc neu.
Das kann ich bestätigen.. witzigerweise wird das topic nun auch alle 20s aktuallisiert.. einziger Unterschied, dass nun ein Auto angeschlossen ist.. nun fehlt aber das topicevcc/loadpoints/id/planActive
..irgendwie auf jeden Fall eigenartig das Verhalten.
nun fehlt aber das topic evcc/loadpoints/id/planActive
Das ist nach einem Neustart weg und kommt wieder, wenn du mal kurz einen Plan aktivierst.
Das kann ich bestätigen.. witzerweise wird das topic nun auch alle 20s aktuallisiert.. einziger Unterschied, dass nun ein Auto angeschlossen ist..
Das ist ganz normal. Nur wenn ein Auto angeschlossen ist, wird auch der Zustand des Autos über das Hersteller-Portal abgefragt. Nur dann hat evcc Infos zum Zustand vehicleClimaterActive
.
Edit: Hat vielleicht mit diesem MQTT Fix zu tun: https://github.com/evcc-io/evcc/pull/12621. Vorher wurden wohl alle Topics als retained veröffentlicht.
@VolkerK62 ..auch das konnte ich nachvollziehen.. dieses Verhalten ist aber definitiv mal anders gewesen.. habe es halt nur mitbekommen, da nach einem node-red Neustart einige Werte auf "" standen, wo ich vorher definierte booleans hatte..
so ging es mir auch ... ich bin bei @docolli , dass es mit #12621 zu tun hat
Das glaube ich persönlich nicht.. dieses Verhalten muss wohl schon länger so sein, nur dass es mir nie aufgefallen war.. ich bin gestern mal bis 0.123.0 zurückgegangen, da war das Verhalten identisch.. Wenn man es weiß, kann man sich ja leicht drauf einstellen, nur des es schwieriger ist, entsprechende topics ohne aktualisierte Doku zu finden, wenn einige Werte erst bei definierten Ereignissen gepublished werden, wobei man dann ja immer noch auf die API ausweichen kann.
Bis zu diesem Fix hat evcc alle MQTT Topics wohl mit dem Flag "retained" veröffentlicht, sodaß sich der Broker die Topics (und deren letzten Werte) gemerkt hat. Siehe https://www.hivemq.com/blog/mqtt-essentials-part-8-retained-messages/ Vorteil ist, dass der Broker auch noch Werte liefert (aber nicht mehr aktuelle) und die angefragten Topics kennt, wenn evcc nicht mehr aktiv ist.
Seit dem Fix sendet evcc beim Start einen "cleanup"-Befehl err := m.Handler.Cleanup(m.root+"/#", true)
, mit dem vermutlich ALLE evcc MQTT Topics aus dem Broker gelöscht werden. Dann sendet evcc wieder alle aktuellen MQTT Topics und der Broker hat dann nur noch die aktuellen evcc Topics.
Der Grund ist, dass es einige Umbauten in den MQTT Topics gab (und noch geben wird). Ohne das Cleanup verbleiben die im Broker, werden aber nicht mehr aktualisiert. Da der MQTT Topic Umbau schrittweise voran geht, ist nicht klar definiert, welcher evcc user noch welche Topics in seinem Broker "retained" liegen hat. Da ist ein generelles Löschen beim Start die sicherste Methode aufzuräumen, aber eben mit dem kleinen Nachteil, dass es bei jedem Neustart von evcc etwas dauert, bis der Broker wieder alle Topics aufgesammelt hat. evcc sendet die nur, wenn intern dazu auch Daten vorliegen.
Describe the bug
Bis vor kurzem wurde das topic noch gepublished-- kann aber nicht genau nachvollziehen, wann es "entfernt" wurde.. unter
/api/state
gibt es unter den loadpointsvehicleClimaterActive
.Habe via MQTT Explorer geschaut, ob nur das topic geändert wurde, konnte aber nichts finden. Vielleicht wurde das topic ja bewusst entfernt.
Steps to reproduce
Nothing to report (NTR)
Configuration details
Log details
What type of operating system are you running?
Docker container
Version
0.124.9