FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: nepomu am 09 Januar 2019, 20:46:13

Titel: Verständnisproblem DOIF
Beitrag von: nepomu am 09 Januar 2019, 20:46:13
Hallo,

ich habe zwei DOIF-Funktionen programmiert, hier die Einträge in FHEM unter DEF:

DEF 1: ([Anwesenheit] eq "present" and ([22:00|12345] or [23:00|06])) (set Schlafzi_Schaltdose_Sw off)
   
DEF 2: ([06:00|12345] or [08:00|06]) (set Schlafzi_Schaltdose_Sw on)

Idee ist, dass die Schaltdose (Typ HM-ES-PMSw1-Pl-DN-R1) abends abgeschaltet wird sofern ich zu Hause bin und morgens wieder an. Das soll außerdem am Wochenende und in der Woche zu verschiedenen Zeiten passieren. Wenn ich weg bin schaltet [Anwesenheit] auf absent, die erste DOIF ist nicht relevant und die Schaltdose soll an bleiben.

Problem: Das Abschalten (bzw. Nicht-Abschalten) funktioniert wie gewünscht. Die zweite DOIF funktioniert jedoch meistens nicht. Zuerst dachte ich, dass es Funkprobleme gibt, aber der Befehl zum Einschalten kommt erst gar nicht im Protokoll an, außerdem geht es von Hand immer (siehe unten).

Frage: Was habe ich nicht verstanden? Meine Vermutung ist, dass ich beides in eine DOIF zusammenführen muss, aber warum?

Hier noch weitere Infos von heute morgen:

RSSI entsprechender HM-ES-PMSw1-Pl-DN-R1: -76

Logfile FHEM (a) und Schlafzi_Schaltdose (b)
--> Weitere Einträge sind im betreffenden Zeitraum nicht vorhanden.
--> Um 06:03 habe ich gleich eine manuelle Schaltung per Browser auf der FHEM-Oberfläche durchgeführt, wie man sieht mit Erfolg.

(a)
2019.01.08 22:00:00 3: CUL_HM set Schlafzi_Schaltdose_Sw off
... (andere Vorgänge)
2019.01.09 06:03:17 3: CUL_HM set Schlafzi_Schaltdose_Sw on

(b)
2019-01-08_22:00:00 Schlafzi_Schaltdose CMDs_pending
2019-01-08_22:00:02 Schlafzi_Schaltdose CMDs_done
2019-01-09_06:03:17 Schlafzi_Schaltdose CMDs_pending
2019-01-09_06:03:17 Schlafzi_Schaltdose CMDs_done
2019-01-09_06:03:18 Schlafzi_Schaltdose CMDs_done
2019-01-09_06:03:26 Schlafzi_Schaltdose CMDs_done

Danke vorab und viele Grüße!
Titel: Antw:Verständnisproblem DOIF
Beitrag von: Amenophis86 am 09 Januar 2019, 22:17:06
Do always bzw DOELSE mal einbauen.

Dann bitte Code in Codetags posten, macht das lesen einfacher. Weiterhin besser mit dem list Befehl arbeiten um Definitionen zu zeigen, dann sind mehr Infos für die Helfer vorhanden. => angepinnten Themen bitte lesen :)
Titel: Antw:Verständnisproblem DOIF
Beitrag von: Frank_Huber am 09 Januar 2019, 23:25:25
Man kann das auch mit DOELSEIF in einen doif packen.
Mit grsetztem do always kein Problem.

Gesendet von meinem Doogee S60 mit Tapatalk