Hallo Leute,
ich bin am Verzweifeln.
Aufgabe: Rollos werden mit dem Rollo-Modul gesteuert, der aktuelle Stand (Reading pct) soll nach Beendigung der Fahrt in einen Dummy gespeichert werden. Das Rollo meldet über MQTT, wenn es den Stop-Befehl erhält, wodurch ein Notify getriggert wird:
MQTT_.*:Rollo.*:.extern.stop {chop($EVTPART0);fhem"set test " . ReadingsVal("$EVTPART0","pct",1)}
Das funktioniert ja fast. Es wird ein Wert in den Dummy geschrieben, nur der falsche. Es ist immer der Wert, bei dem die Fahrt gestartet ist.
Beispiel: Rollo steht bei 100%, ich lasse es auf 86% fahren, der Dummy wird auf 100 gesetzt.
Im Eventmonitor steht alles richtig:
2020-03-25 23:51:07 ROLLO RolloHWR drive-type: extern
2020-03-25 23:51:07 ROLLO RolloHWR pct: 86.2068965517241
2020-03-25 23:51:07 ROLLO RolloHWR pct: 86.2068965517241
2020-03-25 23:51:08 ROLLO RolloHWR desired_pct: 86.2068965517241
2020-03-25 23:51:08 ROLLO RolloHWR command: stop
2020-03-25 23:51:08 ROLLO RolloHWR drive-type: na
2020-03-25 23:51:08 ROLLO RolloHWR pct-90
2020-03-25 23:51:08 MQTT2_DEVICE MQTT_HWR RolloHWR: extern stop
Im Rollo selber wird auch 86% angezeigt.
Wieder schließen, gleiches Spiel, Rollo auf 100, Dummy jetzt auf 86,206...
Was muss ich tun, um den aktuellen Stand zu bekommen statt den vorherigen? Bin ich zu doof oder hat das ROLLO-Modul hier irgend eine Schweinerei versteckt? Habe statt pct auch das Reading desired_pct versucht, mit dem gleichen Ergebnis.