Liebe Fhem-Community,
ich habe folgendes DoIf:
([dy_Rollo_schalten:"^toggle$"] and [MQTT2_zigbee_Ikea_Rollo:pct]==0)(set MQTT2_zigbee_Ikea_Rollo pct 98)
DOELSE (set MQTT2_zigbee_Ikea_Rollo close )
Das auf einen Toggle Event aus einem Dummy die Position des Ikea-Rollos überprüfen soll, wenn dieser auf pct=0 steht den Rollo auf 98 Prozent hochfahren und wenn der Rollo nicht auf 0 steht diesen schließen.
Problem ist, dass er im geschlossenen Zustand anfängt hochzufahren, aber nur für 10cm. Danach fährt er wieder ganz runter.
Die andere Richtung funktioniert: Wenn er offen ist, fährt er ganz runter.
Wo liegt mein Denkfehler?
Grüße,
Volker
Zitat von: vbretsch am 01 November 2021, 13:28:30
Liebe Fhem-Community,
ich habe folgendes DoIf:
([dy_Rollo_schalten:"^toggle$"] and [MQTT2_zigbee_Ikea_Rollo:pct]==0)(set MQTT2_zigbee_Ikea_Rollo pct 98)
DOELSE (set MQTT2_zigbee_Ikea_Rollo close )
Das auf einen Toggle Event aus einem Dummy die Position des Ikea-Rollos überprüfen soll, wenn dieser auf pct=0 steht den Rollo auf 98 Prozent hochfahren und wenn der Rollo nicht auf 0 steht diesen schließen.
Problem ist, dass er im geschlossenen Zustand anfängt hochzufahren, aber nur für 10cm. Danach fährt er wieder ganz runter.
Die andere Richtung funktioniert: Wenn er offen ist, fährt er ganz runter.
Wo liegt mein Denkfehler?
Grüße,
Volker
Dein DOIF reagiert auch auf Events von [MQTT2_zigbee_Ikea_Rollo:pct], ich denke, du solltest den Trigger dort herausnehmen: [?MQTT2_zigbee_Ikea_Rollo:pct]
Wie meinst Du Trigger rausnehmen? Ich wollte damit abfragen, ob der Rollo zu ist, um ihn dann hochzufahren bzw umgekehrt.
Gibt es eine bessere Variante dieser Abfrage?
Zitat von: vbretsch am 01 November 2021, 13:37:24
Wie meinst Du Trigger rausnehmen? Ich wollte damit abfragen, ob der Rollo zu ist, um ihn dann hochzufahren bzw umgekehrt.
Gibt es eine bessere Variante dieser Abfrage?
[
?MQTT2_zigbee_Ikea_Rollo:pct]==0
Mit dem Fragezeichen verhinderst du, dass dein Modul getriggert wird, wenn von MQTT2_zigbee_Ikea_Rollo mit Reading pct Events kommen.
Es ist in der Commandref ausführlich erklärt: https://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger
Großartig! Danke! Das war die Lösung. Ich versuche mal das in der Commandref nachzuvollziehen.