MQTT: Device Status nur nach Rückmeldung vom Device selber setzen

Begonnen von slowfinger, 13 Januar 2019, 11:08:20

Vorheriges Thema - Nächstes Thema

slowfinger

Hallo Forum,

vielleicht wurde meine Frage ja schon irgendwo beantwortet und ich habe sie nur nicht gefunden, deswegen MEA CULPA wenn dem so sei..

Ich habe zB ein paar Rolläden über ROLLO und dann MQTT (Sonoff Dual mit aktuellem Tasmota) angesteuert. Das funktioniert auch in so fern gut, WENN der Sonoff dann auch schaltet. Nur wenn zB der Sonoff offline ist oder nicht reagiert, dann glaubt das ROLLO Modul und auch MQTT das der Rolladen auch wirklich gefahren ist.

Ich habe auch noch ein paar Steckdosen (Sonoff S20 auch mit Tasmota), die gleich angesteuert das selbe in FHEM melden (oder eher gesagt nicht melden) => ich kann in MQTT die Geräte ein/ausschalten mit entsprechendem setzen des webCMD-Icons, auch wenn die Steckdosen garnicht online sind. Anders herum funktioniert die RM von der Steckdose über MQTT gut, d.h. wenn ich an der Steckdose den Knopf drücke (oder auch per WEB-Oberfläche), dann wird auch in Fhem der Status richtig gesetzt.

Also kurz zusammengefasst => ich will das Fhem nur dann den Status in MQTT setzt, wenn der Status auch vom Device als ON/OFF zurückmeldet wird.
Die Krönung wäre wenn auch das ROLLO Modul erst dann mit der Änderung der Position beginnt, wenn auch über MQTT ON/OFF gemeldet wird.


### Rolladen_WohnzimmerFenster
define Sonoff_3_up MQTT_DEVICE
attr Sonoff_3_up IODev myBroker
attr Sonoff_3_up alias WoZi_hoch
attr Sonoff_3_up devStateIcon on:control_arrow_upward@green off:control_arrow_upward@grey
attr Sonoff_3_up eventMap ON:on OFF:off ON:Ein OFF:Aus
attr Sonoff_3_up publishSet ON OFF cmnd/Rolladen_WohnzimmerFenster/POWER1
attr Sonoff_3_up room MQTT
attr Sonoff_3_up stateFormat state
attr Sonoff_3_up subscribeReading_state stat/Rolladen_WohnzimmerFenster/POWER1
attr Sonoff_3_up subscribeReading_tele tele/Rolladen_WohnzimmerFenster/STATE
attr Sonoff_3_up webCmd :

rudolfkoenig

In MQTT2_DEVICE kann man das mit dem setStateList Attribut erreichen.
Ob ein Umstieg deswegen lohnt, kann ich nicht beurteilen.