Verständnisfrage setStateList

Begonnen von ToKa, 11 März 2021, 13:40:25

Vorheriges Thema - Nächstes Thema

ToKa

Hallo zusammen,

ich habe ein MQTT2_Device in fhem1, das über meinen mosquitto einen Zwischenstecker in fhem2 steuert. Im Device habe ich das Attrribut setStateList mit on und off definiert.

Wenn ich jetzt im fhem1 das MQTT2_Device im WebGui anschalte wechselt state zu set_on, der Schaltbefehl wird übertragen und aus der Rückmeldung von fhem2 wechselt state zu on. Bei off funktioniert das ebenso und state wechselt über set_off zu off.

Das Device in fhem1 steuere ich zeit- und wetterabhängig und dabei ist mir jetzt aufgefallen, dass state auf set_off stehen geblieben ist. Ich kann das Verhalten auch manuell provozieren: set device on -> set device off -> set device off ergibt im state set_on -> on -> set_off -> off -> set_off. Im Eventmonitor in meinem fhem2 kommt beim letzten set device off kein Event mehr an und damit auch keine Rückmeldung, die state wieder auf off ändern würde.

Kann / muss ich in meinem fhem1 oder fhem2 noch irgendein Attribut pflegen, dass bei "zweimaligen" set device off trotzdem ein Event im fhem2 erzeugt wird? Eine MQTT Nachricht wird erzeugt und mit dem MQTT Explorer sehe ich auch die zwei "off" Nachrichten? Oder ist das Verhalten so gewollt?

Bei Bedarf kann ich gerne das List der Devices aus den beiden fhem Instanzen zur Verfügung stellen.

Viele Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Beta-User

Hmm, ich weiß nicht, ob ich die Konstruktion auf beiden Seiten richtig erfaßt habe... "Zwischenstecker in fhem2" bedeutet? (z.B. ZWave-Gerät iVm. MQTT_GENERIC_BRIDGE?)

Grundsätzlich nehme ich an, dass das Verhalten "korrekt" ist:
"setStateList" bewirkt nur, dass nicht alle "set"-Anweisungen im state landen, sondern nur noch bestimmte (und der Rest bei den passenden Readings, ebenfalls mit "set_"), "zurückgesetzt" wird das ganze dann durch eine Bestätigung der Gegenstelle.

Die scheint hier - aus welchen Gründen auch immer (eocr auf der Gegenseite gesetzt?) - auszubleiben, wenn man mehrfach dasselbe tut oder das ganze zu schnell abläuft?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

ToKa

Hallo Beta-User,

ja in fhem2 handelt es sich um einen ZWave Zwischenstecker, der über MQTT_GENERIC_BRIDGE angebunden ist.

Der Hinweise mit eocr hat den richtigen Anstoß gegeben. Ich hatte zwar schon "reportedState" als eour definiert, aber das hat nicht gereicht. Nachdem ich auch state (stateFormat = reportedState) eingetragen habe, funktioniert es jetzt.

Danke und viele Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight