Hauptmenü

EIN DOIF geht nicht....

Begonnen von Christian72D, 04 März 2020, 17:05:05

Vorheriges Thema - Nächstes Thema

Christian72D

Eigentlich klappt die Steuerung meiner Heizung super, aber EIN einziges DOIF von 28 will absolut nicht.

Internals:
   DEF        ([06:50|8] and [?Heizung] eq "on" and [?Bewohner] ne "home") (set WZ.HeizungR desired-temp 17.0)
   FUUID      5e450160-f33f-23c8-1fd2-c823099b09607120
   FVERSION   98_DOIF.pm:0.212240/2020-02-18
   MODEL      FHEM
   NAME       Heizung_WZ_222
   NOTIFYDEV  global
   NR         510
   NTFY_ORDER 50-Heizung_WZ_222
   STATE      cmd_1
   TYPE       DOIF
   VERSION    21224 2020-02-18 18:45:49
   READINGS:
     2020-02-26 06:50:00   cmd             1
     2020-02-26 06:50:00   cmd_event       timer_1
     2020-02-26 06:50:00   cmd_nr          1
     2020-02-20 08:55:05   mode            enabled
     2020-02-26 06:50:00   state           cmd_1
     2020-03-04 06:50:00   timer_01_c01    05.03.2020 06:50:00|8
   Regex:
     accu:
   attr:
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday,"8") and ::InternalDoIf($hash,'Heizung','STATE') eq "on" and ::InternalDoIf($hash,'Bewohner','STATE') ne "home"
   days:
     0          8
   do:
     0:
       0          set WZ.HeizungR desired-temp 17.0
     1:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       timer_1
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   internals:
     all         Heizung:STATE Bewohner:STATE
   interval:
   intervalfunc:
   localtime:
     0          1583387400
   perlblock:
   realtime:
     0          06:50:00
   time:
     0          06:50:00
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1583387400:
       localtime  1583387400
       hash:
   uiState:
   uiTable:
Attributes:
   do         always
   group      HeizungsSteuerung
   room       Steuerung


Ja, um die Zeit ist" Bewohner" auf "gone" und "Heizung" sowieso auf "on".

Im Log gibts um 6:50 keinen Eintrag dazu.

Damian

Dann gebe in der Kommandozeile {IsWe()} ein und schaue was zurückkommt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Christian72D

Zitat von: Damian am 04 März 2020, 17:24:33
Dann gebe in der Kommandozeile {IsWe()} ein und schaue was zurückkommt.

"0"

kumue

Zitat von: Damian am 04 März 2020, 17:24:33
Dann gebe in der Kommandozeile {IsWe()} ein und schaue was zurückkommt.

hm, 0 kommt zurück, also kein WE... und |8 bedeutet ja Arbeitstag.
Also sollte es nach meinem Verständnis heute fkt. haben.
Oder was habe ich/wir übersehen ?

Christian72D

DAS ist ja die Frage.
Es hat weder heute noch gestern funktioniert.

Damian

Zitat von: Christian72D am 04 März 2020, 17:44:14
"0"

ok. Und jetzt noch {Value("Heizung")} und {Value("Bewohner")}.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

kumue

Zitat von: Christian72D am 04 März 2020, 17:51:38
DAS ist ja die Frage.
Es hat weder heute noch gestern funktioniert.
deshalb rätsle ich ja, wie Damian das gemeint hat...
wird sich ja was dabei gedacht haben....

Frank_Huber

Es steht doch auf cmd1, also hat es doch ausgelöst.

Gesendet von meinem S68Pro mit Tapatalk


Damian

Zitat von: Frank_Huber am 04 März 2020, 18:11:01
Es steht doch auf cmd1, also hat es doch ausgelöst.

Gesendet von meinem S68Pro mit Tapatalk

ja, am 26.02.

Ergänze deine Definition um einen weiteren Zweig:

DOELSE (setreading $SELF Heizung [Heizung], setreading $SELF Bewohner [Bewohner], setreading $SELF we {(IsWe())})

dann weißt du morgen mehr.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Christian72D

#9
Zitat von: Damian am 04 März 2020, 18:32:56
ja, am 26.02.

Ergänze deine Definition um einen weiteren Zweig:

DOELSE (setreading $SELF Heizung [Heizung], setreading $SELF Bewohner [Bewohner], setreading $SELF we {(IsWe())})

dann weißt du morgen mehr.

Also ICH weiß morgen dann bestimmt nicht mehr, ich versteh nämlich gerade nicht, was da gemacht wird. :)

Schreibt es die drei Werte als Readings ins DOIF?

Frank_Huber

Zitat von: Damian am 04 März 2020, 18:32:56
ja, am 26.02.
wer lesen kann ist klar im Vorteil.
Sorry.  ::) :-X

Christian72D

SEHR geil...

Obwohl bist auf das "DOELSE" NICHTS von mir verändert wurde, läuft es jetzt wieder.. Demzufolge ist auch der "DOELSE" Part nicht ausgeführt worden und es steht nichts weiteres im DOIF.

Danke.

Damian

Zitat von: Christian72D am 05 März 2020, 07:21:09
SEHR geil...

Obwohl bist auf das "DOELSE" NICHTS von mir verändert wurde, läuft es jetzt wieder.. Demzufolge ist auch der "DOELSE" Part nicht ausgeführt worden und es steht nichts weiteres im DOIF.

Danke.

Lass den mal drin, wenn es nicht klappt, dann weißt du wenigstens anhand der Readings, warum es nicht geklappt hat.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF