[gelöst] MQTT2, Arduino, Stepper und retained message

Begonnen von Salvi5, 08 Januar 2021, 19:21:19

Vorheriges Thema - Nächstes Thema

Salvi5

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

xenos1984

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

Salvi5

Ohh, dankedankedanke... jetzt funktioniert's perfekt...

Wo habe ich das überlesen???

Gruß Mike