FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: is2late am 08 Januar 2021, 18:20:09

Titel: [Gelöst] DOIF ... bekomme nie Bedingung 1
Beitrag von: is2late am 08 Januar 2021, 18:20:09
Hi,

ich scheitere offenbar an der DOIF-Syntax. StromOKay ist ein Dummy, Schreibtisch eine Lampe.
Realisiert wird immer nur Bedingung 2, dh der Dummy steht beharrlich auf "on".

defmod LichtAusNachStromausfall DOIF ([Schreibtisch:"off"]) (set StromOkay off) DOELSE(set StromOkay on)

Sieht jemand den Fehler?

LG Ingo
Titel: Antw:DOIF ... bekomme nie Bedingung 1
Beitrag von: Otto123 am 08 Januar 2021, 18:34:13
Hallo Ingo,

na viel ist nicht zu sehen, aber zu vermuten:
Du triggerst das DOIF mit Events und fragst aber nur den Event off für den ersten Zweig ab.
Schau Dir im Event Monitor an was da noch danach kommt - sicher kommt was.

Das ist nicht "off" und dein DOIF geht auf cmd2.

Mach doch den Trigger auf Zustand: ([Schreibtisch] eq "off") damit wird der STATE abgefragt (auch nicht optimal) wenn ein Event kommt und das DOIF triggert.

Besser wäre gezielt ein Reading zu fragen: ([Schreibtisch:state] eq "off")

Gruß Otto
Titel: Antw:DOIF ... bekomme nie Bedingung 1
Beitrag von: Damian am 08 Januar 2021, 18:36:26
Das ist eine Zustandsabfrage:

defmod LichtAusNachStromausfall DOIF ([Schreibtisch:state] eq "off") (set StromOkay off) DOELSE(set StromOkay on)
Titel: Antw:DOIF ... bekomme nie Bedingung 1
Beitrag von: is2late am 08 Januar 2021, 18:52:11
Super!

Nach Ottos Tipp habe ich im Logfile gesehen, dass die Lampe dort nicht mit dem Klarnamen, sondern als HUEDevice14 geführt wird.
Damians Code hat dann mit dem angepassten Namen sofort funktioniert.
Herzlichen Dank und einen schönen Abend!

LG Ingo