DOIF Wochentagsteuerung Werktag geht nicht mehr

Begonnen von platypus, 06 Februar 2020, 23:14:05

Vorheriges Thema - Nächstes Thema

platypus

Hi

Ich will eine Lampe werktags um 05:30 einschalten. Folgende Varianten haben nicht funktioniert, wobei die erste lange ihren Dienst verrichtet hat:

define licht DOIF ([05:30|8]) (set Licht1 on)
define licht DOIF ([05:30|AT]) (set Licht1 on)
define licht DOIF ([05:30|WD]) (set Licht1 on)
define licht DOIF ([05:30|1-5]) (set Licht1 on)


Bei der letzten Variante bin ich nicht sicher, ob sie funktionieren sollte, aber die anderen Varianten habe ich aus der Commandref interpretiert.

Wie kriege ich die Schaltung werktags wieder zum laufen?

Danke für Eure Hilfe

Daniel

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Damian

Wenn du nur einen Zweig hast, dann solltest du das do always Attribut setzen, sonst funktioniert dein Befehl nur einmal.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

platypus

OK, ich habe auch noch "do always" ergänzt.

define licht DOIF ([05:30|AT]) (set Licht1 on) funktioniert nicht (an einem Arbeitstag)

define licht DOIF ([05:30]) (set Licht1 on)  funktioniert problemlos

Es ist, wie wenn er den Arbeittag nicht interpretieren kann.
Wo kann ich noch weitersuchen?

Daniel

amenomade

Zeig ein "list" vom nicht funktionierenden Device
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

platypus

Ok, hier das List:

Internals:
   CFGFN     
   DEF        ([05:30|AT]) (set Lampe on)
   FUUID      5e3de660-f33f-0e34-3fc7-d65d4b0bddabf60b
   MODEL      FHEM
   NAME       do_test
   NOTIFYDEV  global
   NR         48310
   NTFY_ORDER 50-di_we
   STATE      initialized
   TYPE       DOIF
   VERSION    20929 2020-01-10 09:44:35
   Helper:
     DBLOG:
       cmd:
         dbserver:
           TIME       1581442419.41887
           VALUE      0
       cmd_event:
         dbserver:
           TIME       1581115440.10178
           VALUE      timer_1
       cmd_nr:
         dbserver:
           TIME       1581115440.10178
           VALUE      1
       mode:
         dbserver:
           TIME       1581442419.41887
           VALUE      enabled
       state:
         dbserver:
           TIME       1581442419.41887
           VALUE      initialized
   READINGS:
     2020-02-11 18:33:39   cmd             0
     2020-02-11 18:33:39   mode            enabled
     2020-02-11 18:33:39   state           initialized
     2020-02-11 18:33:39   timer_01_c01    12.02.2020 05:30:00|AT
   Regex:
     accu:
   attr:
     cmdState:
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday,"AT")
   days:
     0          AT
   do:
     0:
       0          set Lampe on
     1:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     globalinit 1
     last_timer 1
     sleeptimer -1
   intervalfunc:
   localtime:
     0          1581481800
   realtime:
     0          05:30:00
   time:
     0          05:30:00
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1581481800:
       localtime  1581481800
       hash:
   uiState:
   uiTable:
Attributes:
   do         always

amenomade

Na, alles gut. Nächstes Schalten 12.02.2020 05:30:00
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

platypus

In der Theorie ja, sehe ich auch. Aber das ist genau der Punkt, es schaltet ja nicht ....
Sonst würde ich hier ja nicht Hilfe suchen.
Ich habe es schon x-fach durchgespielt.

Damian

#8
Zitat von: platypus am 11 Februar 2020, 20:42:40
In der Theorie ja, sehe ich auch. Aber das ist genau der Punkt, es schaltet ja nicht ....
Sonst würde ich hier ja nicht Hilfe suchen.
Ich habe es schon x-fach durchgespielt.

In der Praxis geht es um die allgemeine FHEM-Funktion IsWe().

Die kannst du in der Kommandozeile aufrufen: {IsWe()}

0 ist kein Wochenende = Arbeitstag, sonst liefert sie 1. Wenn es bei dir nicht stimmt, dann musst du nach den holiday-Einstellungen bei dir schauen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

amenomade

Und zeig ggf wieder ein "list" vom DOIF morgen früh nach 5:30 Uhr.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

platypus

Danke Damian
Der Hinweis auf die holiday-Einstellungen war der richtige Wegweiser!
Ich hatte einen Dreher (Tag-Monat) bei einer Feriendefinition - dies führte zu sehr langen Ferien.
Leider nur für Fhem und nicht für mich  8)

Danke nochmal für den lösenden Tip.

Daniel