Hallo,
in Kürze: Ich steuere über einen D1 mini mit einem Arduino-Sketch einen Schrittmotor und habe dieses Konstrukt über MQTT2 in fhem eingebunden. Das funktioniert super, obwohl ich wenig Ahnung von Vielem habe :)
Wenn ich
set MQTT2_Server publish /home/data1 30
ausführe, fährt der Motor auf 30°...
Wenn ich
set MQTT2_Server publish -r /home/data1 30
ausführe, fährt der Motor auf 30° und speichert die Position, für den Fall, dass dem Wemos der Strom ausgeht. Geht er wieder an, fährt der stepper nach der Nullpunktsuche wieder auf 30°! Toll!
Jetzt habe ich den stepper als Device eingerichtet,
defmod MQTT2_ESP8266Client_1 MQTT2_DEVICE ESP8266Client_1
attr MQTT2_ESP8266Client_1 IODev MQTT2_Server
attr MQTT2_ESP8266Client_1 readingList ESP8266Client_1:/home/data1:.* data1
attr MQTT2_ESP8266Client_1 room MQTT2_DEVICE
attr MQTT2_ESP8266Client_1 setList data1:slider,0,1,1440 /home/data1
attr MQTT2_ESP8266Client_1 webCmd data1
setstate MQTT2_ESP8266Client_1 data1
setstate MQTT2_ESP8266Client_1 2021-01-08 19:02:45 data1 170
setstate MQTT2_ESP8266Client_1 2021-01-08 19:01:53 state data1
aber ich weiß nicht, wie ich dem Ding sagen soll, dass er die message als retained verschickt. Hab gegoggelt und gesucht
finde aber immer nur, wie ich retained messages löschen kann, oder Hinweise auf MQTT, nicht MQTT2...
Bin für Hinweise dankbar!
Gruß Mike
Zitatif the topic name ends with :r, then the retain flag is set
Also in dem Fall:
attr MQTT2_ESP8266Client_1 setList data1:slider,0,1,1440 /home/data1:r
Ohh, dankedankedanke... jetzt funktioniert's perfekt...
Wo habe ich das überlesen???
Gruß Mike
Hier: https://fhem.de/commandref_modular.html#MQTT2_DEVICEattr unter setList, ganz unten.
Zitat von: rudolfkoenig am 08 Januar 2021, 20:26:32
Hier: https://fhem.de/commandref_modular.html#MQTT2_DEVICEattr unter setList, ganz unten.
Hmm :-[