Autor Thema: Neues Modul - Heating_Control, WeekdayTimer  (Gelesen 154905 mal)

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2053
Antw:Neues Modul - Heating_Control, WeekdayTimer
« Antwort #885 am: 21 November 2017, 12:19:07 »
Hmm... ich bin ein bisschen verwirrt, vielleicht weil ich die Reihenfolge von deinen letzten Massnahme nicht kenne.

hc.st.Schlafzimmer.Urlaub.zuhause ist auf Grund der Condition schon lange inaktiv. Das die Heizung nicht geschaltet wird scheint normal zu sein. Das hc.st.Schlafzimmer.Urlaub.zuhause selbst auf "open window" bleibt könnte auch normal sein, wenn das Modul inaktiv ist. Die Timestamps vonden Readings sind aber komisch: wenn die Condition das Modul verhindert, werden currValue usw. immer noch kalkuliert, aber "state" sollte sich nicht ändern.

hc.st.Schlafzimmer.Arbeit hat auf night geschaltet, was richtig ist. Aber vielleicht weil Du etwas anderes inzwischen geschaltet hast.

Was interessant wäre, wäre diese "list" von hc.st.Schlafzimmer.Arbeit zu sehen, wenn er in eine "falschem" Zustand sich befindet.
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline netwalk

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Neues Modul - Heating_Control, WeekdayTimer
« Antwort #886 am: 21 November 2017, 13:05:09 »
Danke, dass du dich meines Problems annimmst.
Ich versuche mal etwas Klarheit zu schaffen:

hc.st.Schlafzimmer.Urlaub.zuhause können wir z.Zt. vernachlässigen, Bedingung trifft nicht zu.
Im folgenden die Chronologie der Abläufe:

23:58:35 hm.fk.st.Schlafzimmer.links wird geöffnet. Zu diesem Zeitpunkt war der Modus von hc.st.Schlafzimmer.Arbeit auf "day". Durch den Fensterkontakt sprang der Heizungsregler auf 5.5°.

00:12:15 wurde der Wandtaster "Nachtmodus" gedrückt, dabei wird an alle Heizkörper der Befehl "set ... night" geschickt, der Regler im Schlafzimmer war im Fenster-Offen-Modus und reagierte deshalb wahrscheinlich nicht (habe ich noch nicht ausgetestet).

02:31:00 soll über hc.st.Schlafzimmer.Arbeit der Heizungsregler abermals "set ... night" erhalten. Wegen des offenen Fensters wurde "delayed" protokolliert.

06:36:32 wurde zusätzlich hm.fk.st.Schlafzimmer.rechts geöffnet.

07:01:00 wurde die Meldung über den verpassten Timer um 02:31:00 protokolliert, seltsamerweise ist 07:01:00 als Zeitpunkt nur in hc.st.Schlafzimmer.Urlaub.zuhause definiert (ist ja eigentlich inaktiv).

07:01:26 wurde hm.fk.st.Schlafzimmer.rechts geschlossen.

07:01:27 wurde hm.fk.st.Schlafzimmer.links geschlossen.

07:02:00 wurde die Meldung über "delay of switching stopped" protokolliert, weil beide Fenster geschlossen sind. Mehr passierte nicht...

08:40:21 habe ich durch "modify" von hc.st.Schlafzimmer.Arbeit die Umschaltung von "open window" auf "night" erzwungen.

Danach wurde erst das "List" von hc.st.Schlafzimmer.Arbeit erstellt...

Ist das halbwegs verständlich?
live long and prosper
netwalk
_______________________________________________
Rapberry Pi 3, Homematic mit HMLGW, RFXtrx433, DUOFERNSTICK, FBDECT, JEELINK

Offline netwalk

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Neues Modul - Heating_Control, WeekdayTimer
« Antwort #887 am: 22 November 2017, 09:04:14 »
@amenomade

So, hier ist einmal das fragliche List im Zustand "beide Fenster auf":

Internals:
   COMMAND
   CONDITION  (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off")
   DEF        struct.Heizung.st.Schlafzimmer 1234|16:31:00|day 5|14:01:00|day 60|07:01:00|day 1234560|02:31:00|night (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off")
   DEVICE     struct.Heizung.st.Schlafzimmer
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       hc.st.Schlafzimmer.Arbeit
   NR         1450
   Profil 0: Sonntag 02:31:00 night, 07:01:00 day
   Profil 1: Montag 02:31:00 night, 16:31:00 day
   Profil 2: Dienstag 02:31:00 night, 16:31:00 day
   Profil 3: Mittwoch 02:31:00 night, 16:31:00 day
   Profil 4: Donnerstag 02:31:00 night, 16:31:00 day
   Profil 5: Freitag 02:31:00 night, 14:01:00 day
   Profil 6: Samstag 02:31:00 night, 07:01:00 day
   STATE      open window
   STILLDONETIME 0
   TYPE       Heating_Control
   VERZOEGRUNG 1
   VERZOEGRUNG_IDX 3
   READINGS:
     2017-11-21 16:31:00   currValue       day
     2017-11-21 16:31:00   nextUpdate      2017-11-22 02:31:00
     2017-11-21 16:31:00   nextValue       night
     2017-11-22 08:47:00   state           open window
   SWITCHINGTIMES:
     1234|16:31:00|day
     5|14:01:00|day
     60|07:01:00|day
     1234560|02:31:00|night
   TIMER:
     hc.st.Schlafzimmer.Arbeit_1:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   1
       NAME       hc.st.Schlafzimmer.Arbeit_1
     hc.st.Schlafzimmer.Arbeit_2:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   2
       NAME       hc.st.Schlafzimmer.Arbeit_2
     hc.st.Schlafzimmer.Arbeit_3:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   3
       NAME       hc.st.Schlafzimmer.Arbeit_3
     hc.st.Schlafzimmer.Arbeit_SetTimerOfDay:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   SetTimerOfDay
       NAME       hc.st.Schlafzimmer.Arbeit_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
     hc.st.Schlafzimmer.Arbeit_delayed:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   delayed
       NAME       hc.st.Schlafzimmer.Arbeit_delayed
   dayNumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     SWITCHINGTIME:
       0:
         02:31:00   night
         07:01:00   day
       1:
         02:31:00   night
         16:31:00   day
       2:
         02:31:00   night
         16:31:00   day
       3:
         02:31:00   night
         16:31:00   day
       4:
         02:31:00   night
         16:31:00   day
       5:
         02:31:00   night
         14:01:00   day
       6:
         02:31:00   night
         07:01:00   day
   longDays:
     de:
       Sonntag
       Montag
       Dienstag
       Mittwoch
       Donnerstag
       Freitag
       Samstag
       Wochenende
       Werktags
     en:
       Sunday
       Monday
       Tuesday
       Wednesday
       Thursday
       Friday
       Saturday
       weekend
       weekdays
     fr:
       Dimanche
       Lundi
       Mardi
       Mercredi
       Jeudi
       Vendredi
       Samedi
       weekend
       jours de la semaine
   profil:
     1:
       EPOCH      1511364660
       PARA       day
       TIME       16:31:00
       TAGE:
         1
         2
         3
         4
     2:
       EPOCH      1511355660
       PARA       day
       TIME       14:01:00
       TAGE:
         5
     3:
       EPOCH      1511330460
       PARA       day
       TIME       07:01:00
       TAGE:
         0
         6
     4:
       EPOCH      1511314260
       PARA       night
       TIME       02:31:00
       TAGE:
         0
         1
         2
         3
         4
         5
         6
   profile_IDX:
     0:
       02:31:00   4
       07:01:00   3
     1:
       02:31:00   4
       16:31:00   1
     2:
       02:31:00   4
       16:31:00   1
     3:
       02:31:00   4
       16:31:00   1
     4:
       02:31:00   4
       16:31:00   1
     5:
       02:31:00   4
       14:01:00   2
     6:
       02:31:00   4
       07:01:00   3
   shortDays:
     de:
       so
       mo
       di
       mi
       do
       fr
       sa
       $we
       !$we
     en:
       su
       mo
       tu
       we
       th
       fr
       sa
       $we
       !$we
     fr:
       di
       lu
       ma
       me
       je
       ve
       sa
       $we
       !$we
Attributes:
   commandTemplate set $NAME controlMode $EVENT
   room       Heizung
   switchInThePast 1
   windowSensor hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts

Dann wurden beide Fenster geschlossen:
2017.11.22 08:51:00 3: [hc.st.Schlafzimmer.Urlaub.zuhause] delay of switching struct.Heizung.st.Schlafzimmer stopped.
2017.11.22 08:51:00 3: [hc.st.Schlafzimmer.Arbeit] delay of switching struct.Heizung.st.Schlafzimmer stopped.

und hier das List nach Schließen beider Fenster:
Internals:
   COMMAND
   CONDITION  (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off")
   DEF        struct.Heizung.st.Schlafzimmer 1234|16:31:00|day 5|14:01:00|day 60|07:01:00|day 1234560|02:31:00|night (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off")
   DEVICE     struct.Heizung.st.Schlafzimmer
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       hc.st.Schlafzimmer.Arbeit
   NR         1450
   Profil 0: Sonntag 02:31:00 night, 07:01:00 day
   Profil 1: Montag 02:31:00 night, 16:31:00 day
   Profil 2: Dienstag 02:31:00 night, 16:31:00 day
   Profil 3: Mittwoch 02:31:00 night, 16:31:00 day
   Profil 4: Donnerstag 02:31:00 night, 16:31:00 day
   Profil 5: Freitag 02:31:00 night, 14:01:00 day
   Profil 6: Samstag 02:31:00 night, 07:01:00 day
   STATE      open window
   STILLDONETIME 0
   TYPE       Heating_Control
   READINGS:
     2017-11-22 08:51:00   currValue       night
     2017-11-22 08:51:00   nextUpdate      2017-11-22 16:31:00
     2017-11-22 08:51:00   nextValue       day
     2017-11-22 08:50:00   state           open window
   SWITCHINGTIMES:
     1234|16:31:00|day
     5|14:01:00|day
     60|07:01:00|day
     1234560|02:31:00|night
   TIMER:
     hc.st.Schlafzimmer.Arbeit_1:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   1
       NAME       hc.st.Schlafzimmer.Arbeit_1
     hc.st.Schlafzimmer.Arbeit_2:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   2
       NAME       hc.st.Schlafzimmer.Arbeit_2
     hc.st.Schlafzimmer.Arbeit_3:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   3
       NAME       hc.st.Schlafzimmer.Arbeit_3
     hc.st.Schlafzimmer.Arbeit_SetTimerOfDay:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   SetTimerOfDay
       NAME       hc.st.Schlafzimmer.Arbeit_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
     hc.st.Schlafzimmer.Arbeit_delayed:
       HASH       hc.st.Schlafzimmer.Arbeit
       MODIFIER   delayed
       NAME       hc.st.Schlafzimmer.Arbeit_delayed
   dayNumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     SWITCHINGTIME:
       0:
         02:31:00   night
         07:01:00   day
       1:
         02:31:00   night
         16:31:00   day
       2:
         02:31:00   night
         16:31:00   day
       3:
         02:31:00   night
         16:31:00   day
       4:
         02:31:00   night
         16:31:00   day
       5:
         02:31:00   night
         14:01:00   day
       6:
         02:31:00   night
         07:01:00   day
   longDays:
     de:
       Sonntag
       Montag
       Dienstag
       Mittwoch
       Donnerstag
       Freitag
       Samstag
       Wochenende
       Werktags
     en:
       Sunday
       Monday
       Tuesday
       Wednesday
       Thursday
       Friday
       Saturday
       weekend
       weekdays
     fr:
       Dimanche
       Lundi
       Mardi
       Mercredi
       Jeudi
       Vendredi
       Samedi
       weekend
       jours de la semaine
   profil:
     1:
       EPOCH      1511364660
       PARA       day
       TIME       16:31:00
       TAGE:
         1
         2
         3
         4
     2:
       EPOCH      1511355660
       PARA       day
       TIME       14:01:00
       TAGE:
         5
     3:
       EPOCH      1511330460
       PARA       day
       TIME       07:01:00
       TAGE:
         0
         6
     4:
       EPOCH      1511314260
       PARA       night
       TIME       02:31:00
       TAGE:
         0
         1
         2
         3
         4
         5
         6
   profile_IDX:
     0:
       02:31:00   4
       07:01:00   3
     1:
       02:31:00   4
       16:31:00   1
     2:
       02:31:00   4
       16:31:00   1
     3:
       02:31:00   4
       16:31:00   1
     4:
       02:31:00   4
       16:31:00   1
     5:
       02:31:00   4
       14:01:00   2
     6:
       02:31:00   4
       07:01:00   3
   shortDays:
     de:
       so
       mo
       di
       mi
       do
       fr
       sa
       $we
       !$we
     en:
       su
       mo
       tu
       we
       th
       fr
       sa
       $we
       !$we
     fr:
       di
       lu
       ma
       me
       je
       ve
       sa
       $we
       !$we
Attributes:
   commandTemplate set $NAME controlMode $EVENT
   room       Heizung
   switchInThePast 1
   windowSensor hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts

Zur Zeit steht im Frontend:

DeviceOverview
hc.st.Schlafzimmer.Arbeit                                         open window

obwohl im List currValue auf "night" steht.
Der Heizkörper hat immer noch die "day"-Temperatur, es wurde kein "set ... night" abgesetzt.
live long and prosper
netwalk
_______________________________________________
Rapberry Pi 3, Homematic mit HMLGW, RFXtrx433, DUOFERNSTICK, FBDECT, JEELINK

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2053
Antw:Neues Modul - Heating_Control, WeekdayTimer
« Antwort #888 am: 23 November 2017, 23:30:24 »
So weit ich das Modul verstanden habe, setzt er immer noch alle Timer, und ändert die unabhängig von der Kondition. Nur wenn diese Kondition nicht wahr ist wenn die Schaltzeit erreicht ist, wird der Befehl nicht ausgeführt.

Die Fenstersensoren verzögern die Schalttimer bis die Fenster wieder "zu" sind. Dann sollten alle verpasste Timer schalten.

Jetzt fehlen mir aber immer noch Informationen, um das Verhalten zu verstehen. Es wäre hilfreich, die gesamte Log von allen relevanten Events und deren Reihenfolge zu sehen. Kannst Du evtl. eine eigene Filelog mit allen Devices erstellen?

Im Moment kann ich mir nur vorstellen, dass die Timers nicht diejenige sind, die wir uns vorstellen. Dafür sollte man andere Meldung in der Log (mit verbose 5) sehen, wie z.B. "setTimer - timer seems to be active today:", oder "past timer on DEVICE at  <time> activated", oder "result of condition". Die wären auch wichtig, um das ganze zu verstehen.

Ich habe gestern und heute wenig Zeit gehabt, aber ich werde versuchen das ganze zu simulieren, um selbst zu sehen. Deine Logs wären aber schon hilfreich.
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2053
Antw:Neues Modul - Heating_Control, WeekdayTimer
« Antwort #889 am: 24 November 2017, 00:43:40 »
Hier eine Simulation bei mir:
Zeitprofil: 00:08 day 00:10:00 night, 00:12:00 day, 00:14:00 night, 00:16:00 day, 00:18:00 night, 00:20:00 day, 00:22:00 night, 00:24:00 day, 00:26:00 nightAm Anfang sind die Fenster zu, sc.Heizung.Auto ist "on", und beide sc.Urlaub.* sind "off" (=> Condition = wahr)
Log:
2017.11.24 00:08:00 4: [hc.st.Schlafzimmer.Arbeit] time=00:08/1511478480 delay=0, nextDelay=60, nextRetry=1511478540
2017.11.24 00:08:00 4: [hc.st.Schlafzimmer.Arbeit] delayedExecutionCond:0
2017.11.24 00:08:00 4: [hc.st.Schlafzimmer.Arbeit] result of delayedExecutionCond:0
2017.11.24 00:08:00 4: [hc.st.Schlafzimmer.Arbeit] list of window sensors found: 'hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts hc.st.Schlafzimmer.Arbeit'
2017.11.24 00:08:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'closed'
2017.11.24 00:08:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.rechts' Reading/Attribute 'state' is 'closed'
2017.11.24 00:08:00 4: [hc.st.Schlafzimmer.Arbeit] condition:(ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") - Tage:0,1,2,3,4,5,6
2017.11.24 00:08:00 5: [hc.st.Schlafzimmer.Arbeit] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") && (defined $days->{$wday}))}
2017.11.24 00:08:00 5: [hc.st.Schlafzimmer.Arbeit] result of condition:1
2017.11.24 00:08:00 4: [hc.st.Schlafzimmer.Arbeit] Update   - timer seems to be active today: 0123456|00:08|day
2017.11.24 00:08:00 4: [hc.st.Schlafzimmer.Arbeit] aktParam: newParam:day - is  not disabled
2017.11.24 00:08:00 4: [hc.st.Schlafzimmer.Arbeit] command: 'set $NAME controlMode $EVENT' executed with %EVENT=>day,%NAME=>struct.Heizung.st.Schlafzimmer
2017.11.24 00:10:00 4: [hc.st.Schlafzimmer.Arbeit] time=00:10/1511478600 delay=0, nextDelay=60, nextRetry=1511478660
2017.11.24 00:10:00 4: [hc.st.Schlafzimmer.Arbeit] delayedExecutionCond:0
2017.11.24 00:10:00 4: [hc.st.Schlafzimmer.Arbeit] result of delayedExecutionCond:0
2017.11.24 00:10:00 4: [hc.st.Schlafzimmer.Arbeit] list of window sensors found: 'hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts hc.st.Schlafzimmer.Arbeit'
2017.11.24 00:10:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'open'
2017.11.24 00:10:00 3: [hc.st.Schlafzimmer.Arbeit] switch of struct.Heizung.st.Schlafzimmer delayed - sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'open'
2017.11.24 00:10:00 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_2
2017.11.24 00:10:00 5: [hc.st.Schlafzimmer.Arbeit] setting  Timer: hc.st.Schlafzimmer.Arbeit_2 2017-11-24 00:11:00
2017.11.24 00:11:00 4: [hc.st.Schlafzimmer.Arbeit] time=00:10/1511478600 delay=60, nextDelay=120, nextRetry=1511478720
2017.11.24 00:11:00 4: [hc.st.Schlafzimmer.Arbeit] delayedExecutionCond:0
2017.11.24 00:11:00 4: [hc.st.Schlafzimmer.Arbeit] result of delayedExecutionCond:0
2017.11.24 00:11:00 4: [hc.st.Schlafzimmer.Arbeit] list of window sensors found: 'hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts hc.st.Schlafzimmer.Arbeit'
2017.11.24 00:11:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'open'
2017.11.24 00:11:00 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_2
2017.11.24 00:11:00 5: [hc.st.Schlafzimmer.Arbeit] setting  Timer: hc.st.Schlafzimmer.Arbeit_2 2017-11-24 00:12:00
2017.11.24 00:12:00 4: [hc.st.Schlafzimmer.Arbeit] time=00:12/1511478720 delay=0, nextDelay=60, nextRetry=1511478780
2017.11.24 00:12:00 4: [hc.st.Schlafzimmer.Arbeit] delayedExecutionCond:0
2017.11.24 00:12:00 4: [hc.st.Schlafzimmer.Arbeit] result of delayedExecutionCond:0
2017.11.24 00:12:00 4: [hc.st.Schlafzimmer.Arbeit] list of window sensors found: 'hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts hc.st.Schlafzimmer.Arbeit'
2017.11.24 00:12:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'open'
2017.11.24 00:12:00 3: [hc.st.Schlafzimmer.Arbeit] timer at 00:10 skiped by new timer at 00:12
2017.11.24 00:12:00 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_2
2017.11.24 00:12:00 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_3
2017.11.24 00:12:00 5: [hc.st.Schlafzimmer.Arbeit] setting  Timer: hc.st.Schlafzimmer.Arbeit_3 2017-11-24 00:13:00
2017.11.24 00:13:00 4: [hc.st.Schlafzimmer.Arbeit] time=00:12/1511478720 delay=60, nextDelay=120, nextRetry=1511478840
2017.11.24 00:13:00 4: [hc.st.Schlafzimmer.Arbeit] delayedExecutionCond:0
2017.11.24 00:13:00 4: [hc.st.Schlafzimmer.Arbeit] result of delayedExecutionCond:0
2017.11.24 00:13:00 4: [hc.st.Schlafzimmer.Arbeit] list of window sensors found: 'hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts hc.st.Schlafzimmer.Arbeit'
2017.11.24 00:13:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'open'
2017.11.24 00:13:00 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_3
2017.11.24 00:13:00 5: [hc.st.Schlafzimmer.Arbeit] setting  Timer: hc.st.Schlafzimmer.Arbeit_3 2017-11-24 00:14:00
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] time=00:12/1511478720 delay=119, nextDelay=180, nextRetry=1511478900
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] delayedExecutionCond:0
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] result of delayedExecutionCond:0
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] list of window sensors found: 'hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts hc.st.Schlafzimmer.Arbeit'
2017.11.24 00:14:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'closed'
2017.11.24 00:14:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.rechts' Reading/Attribute 'state' is 'closed'
2017.11.24 00:14:00 3: [hc.st.Schlafzimmer.Arbeit] delay of switching struct.Heizung.st.Schlafzimmer stopped.
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] condition:(ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") - Tage:0,1,2,3,4,5,6
2017.11.24 00:14:00 5: [hc.st.Schlafzimmer.Arbeit] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") && (defined $days->{$wday}))}
2017.11.24 00:14:00 5: [hc.st.Schlafzimmer.Arbeit] result of condition:1
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] Update   - timer seems to be active today: 0123456|00:12|day
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] aktParam: newParam:day - is  not disabled
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] command: 'set $NAME controlMode $EVENT' executed with %NAME=>struct.Heizung.st.Schlafzimmer,%EVENT=>day
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] time=00:14/1511478840 delay=0, nextDelay=60, nextRetry=1511478900
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] delayedExecutionCond:0
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] result of delayedExecutionCond:0
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] list of window sensors found: 'hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts hc.st.Schlafzimmer.Arbeit'
2017.11.24 00:14:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'closed'
2017.11.24 00:14:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.rechts' Reading/Attribute 'state' is 'closed'
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] condition:(ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") - Tage:0,1,2,3,4,5,6
2017.11.24 00:14:00 5: [hc.st.Schlafzimmer.Arbeit] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") && (defined $days->{$wday}))}
2017.11.24 00:14:00 5: [hc.st.Schlafzimmer.Arbeit] result of condition:1
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] Update   - timer seems to be active today: 0123456|00:14|night
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] aktParam: newParam:night - is  not disabled
2017.11.24 00:14:00 4: [hc.st.Schlafzimmer.Arbeit] command: 'set $NAME controlMode $EVENT' executed with %NAME=>struct.Heizung.st.Schlafzimmer,%EVENT=>night

Fazit: es funktioniert wie erwartet:

- um 00:08 => set controlMode day
>> hier werden die Fenster geöffnet. Keine Änderung im HC
- um 00:10 springt er auf "open window" => Verzögerung
- um 00:11 prüft er die Verzögerung. Da die Fenster immer noch auf sind => weitere Verzögerung
- um 00:12 neue Schaltzeit => timer skiped by new timer. Fenster immer noch auf => Verzögerung
- um 00:13 prüft er die Verzögerung. Da die Fenster immer noch auf sind => weitere Verzügerung
>> hier werden die Fenster geschlossen
- um 00:14 delay of switching stopped => Verzögerte Befehl von 00:12 wird ausgeführt => er springt auf day. Dann wird der Befehl von 00:14 ausgeführt => er spring auf night
- um 00:16 day
usw

Wie gesagt: mir fehlen bei dir diese Log Auszüge mit allen Meldungen.

Versionen ("version" im Kommandofeld eingeben):
fhem.pl               15294 2017-10-20 06:40:24Z rudolfkoenig
98_Heating_Control.pm 13374 2017-02-09 20:00:35Z orti-otto
98_WeekdayTimer.pm    13374 2017-02-09 20:00:35Z orti-otto

Ich muss aber noch was anderes testen, da beim Lesen des Moduls mir etwas aufgefallen ist. Aber nicht heute.
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline netwalk

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Neues Modul - Heating_Control, WeekdayTimer
« Antwort #890 am: 24 November 2017, 13:17:07 »
Fhem wird von mir regelmäßig aktualisiert. Hier die Versionen:
fhem.pl               15466 2017-11-20 22:22:19Z rudolfkoenig
98_Heating_Control.pm 13374 2017-02-09 20:00:35Z orti-otto
98_WeekdayTimer.pm    13374 2017-02-09 20:00:35Z orti-otto

Gestern nachmittag habe ich versuchsweise den Schaltzeitpunkt von 02:31:00 auf 21:31:00 vorverlegt. In den Readings wurden die Werte für "nextUpdate" und "nextValue" korrekt gesetzt, zum angebenen Zeitpunkt passierte nichts. Kein Eintrag im Log. In der Zeit zwischen Änderung und geplantem Schaltzeitpunkt wurde kein Fenster geöffnet.

Ich werde jetzt den verbose-Level raufsetzen und am WE einige Tests vornehmen und die Logs präsentieren.
live long and prosper
netwalk
_______________________________________________
Rapberry Pi 3, Homematic mit HMLGW, RFXtrx433, DUOFERNSTICK, FBDECT, JEELINK

Offline netwalk

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Neues Modul - Heating_Control, WeekdayTimer
« Antwort #891 am: 27 November 2017, 08:52:54 »
Am WE habe ich versuchsweise die vorgesehene Schaltzeit von 02:31:00 auf 21:31:00 vorgezogen, mit dem Ergebnis, dass es seitdem funktioniert. Am Tag der Änderung funktionierte es noch nicht, jedoch ab dem nächsten Tag, ohne weitere Änderung, problemlos. Verstehe ich nicht.

 Hier die entsprechenden Logs:

2017.11.26 21:31:00 4: [hc.st.Schlafzimmer.Arbeit] time=21:31:00/1511728260 delay=0, nextDelay=60, nextRetry=1511728320
2017.11.26 21:31:00 4: [hc.st.Schlafzimmer.Arbeit] delayedExecutionCond:0
2017.11.26 21:31:00 4: [hc.st.Schlafzimmer.Arbeit] result of delayedExecutionCond:0
2017.11.26 21:31:00 4: [hc.st.Schlafzimmer.Arbeit] list of window sensors found: 'hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts hc.st.Schlafzimmer.Arbeit'
2017.11.26 21:31:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'closed'
2017.11.26 21:31:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.rechts' Reading/Attribute 'state' is 'closed'
2017.11.26 21:31:00 4: [hc.st.Schlafzimmer.Arbeit] condition:(ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") - Tage:0,1,2,3,4,5,6
2017.11.26 21:31:00 5: [hc.st.Schlafzimmer.Arbeit] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") && (defined $days->{$wday}))}
2017.11.26 21:31:00 5: [hc.st.Schlafzimmer.Arbeit] result of condition:1
2017.11.26 21:31:00 4: [hc.st.Schlafzimmer.Arbeit] Update   - timer seems to be active today: 0123456|21:31:00|night
2017.11.26 21:31:00 4: [hc.st.Schlafzimmer.Arbeit] device type heating recognized, setModifier:desired-temp
2017.11.26 21:31:00 4: [hc.st.Schlafzimmer.Arbeit] aktParam:19.0 newParam:night - is  not disabled
2017.11.26 21:31:00 4: [hc.st.Schlafzimmer.Arbeit] command: 'set $NAME controlMode $EVENT' executed with %NAME=>struct.Heizung.st.Schlafzimmer,%EVENT=>night

...

2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_1
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_4
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_2
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_3
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] 07:29:50 17:06:54 Montag
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] 07:01:00 day, 21:31:00 night (Profil 0: Sonntag)
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] 16:01:00 day, 21:31:00 night (Profil 1: Montag)
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] 16:01:00 day, 21:31:00 night (Profil 2: Dienstag)
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] 16:01:00 day, 21:31:00 night (Profil 3: Mittwoch)
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] 16:01:00 day, 21:31:00 night (Profil 4: Donnerstag)
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] 13:31:00 day, 21:31:00 night (Profil 5: Freitag)
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] 07:01:00 day, 21:31:00 night (Profil 6: Samstag)
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] device type heating recognized, setModifier:desired-temp
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] Heating recognized - switch in the past activated
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] condition:(ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") - Tage:1,2,3,4
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] condition: {my $days={};;map{$days->{$_}=1}(1,2,3,4);;;;( (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") && (defined $days->{$wday}))}
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] result of condition:1
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] setTimer - timer seems to be active today: 1234|16:01:00|day
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] setting  Timer: hc.st.Schlafzimmer.Arbeit_1 2017-11-27 16:01:00
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] condition:(ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") - Tage:5
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] condition: {my $days={};;map{$days->{$_}=1}(5);;;;( (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") && (defined $days->{$wday}))}
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] result of condition:
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] setTimer - timer seems to be NOT active today: 5|13:31:00|day (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off")
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] setting  Timer: hc.st.Schlafzimmer.Arbeit_2 2017-11-27 13:31:00
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] condition:(ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") - Tage:0,6
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] condition: {my $days={};;map{$days->{$_}=1}(0,6);;;;( (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") && (defined $days->{$wday}))}
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] result of condition:
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] setTimer - timer seems to be NOT active today: 06|07:01:00|day (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off")
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] setting  Timer: hc.st.Schlafzimmer.Arbeit_3 2017-11-27 07:01:00
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] condition:(ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") - Tage:0,1,2,3,4,5,6
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") && (defined $days->{$wday}))}
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] result of condition:1
2017.11.27 00:00:05 4: [hc.st.Schlafzimmer.Arbeit] setTimer - timer seems to be active today: 0123456|21:31:00|night
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] setting  Timer: hc.st.Schlafzimmer.Arbeit_4 2017-11-27 21:31:00
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] removing Timer: hc.st.Schlafzimmer.Arbeit_SetTimerOfDay
2017.11.27 00:00:05 5: [hc.st.Schlafzimmer.Arbeit] setting  Timer: hc.st.Schlafzimmer.Arbeit_SetTimerOfDay 2017-11-28 00:00:05

...
2017.11.27 07:01:00 4: [hc.st.Schlafzimmer.Arbeit] time=07:01:00/1511762460 delay=0, nextDelay=60, nextRetry=1511762520
2017.11.27 07:01:00 4: [hc.st.Schlafzimmer.Arbeit] delayedExecutionCond:0
2017.11.27 07:01:00 4: [hc.st.Schlafzimmer.Arbeit] result of delayedExecutionCond:0
2017.11.27 07:01:00 4: [hc.st.Schlafzimmer.Arbeit] list of window sensors found: 'hm.fk.st.Schlafzimmer.links hm.fk.st.Schlafzimmer.rechts hc.st.Schlafzimmer.Arbeit'
2017.11.27 07:01:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.links' Reading/Attribute 'state' is 'closed'
2017.11.27 07:01:00 5: [hc.st.Schlafzimmer.Arbeit] sensor 'hm.fk.st.Schlafzimmer.rechts' Reading/Attribute 'state' is 'closed'
2017.11.27 07:01:00 4: [hc.st.Schlafzimmer.Arbeit] condition:(ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") - Tage:0,6
2017.11.27 07:01:00 5: [hc.st.Schlafzimmer.Arbeit] condition: {my $days={};;map{$days->{$_}=1}(0,6);;;;( (ReadingsVal("sc.Heizung.Auto", "state", "") eq "on" and ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "off" and ReadingsVal("sc.Urlaub.auswaerts", "state", "") eq "off") && (defined $days->{$wday}))}
2017.11.27 07:01:00 5: [hc.st.Schlafzimmer.Arbeit] result of condition:

Als nächstes werde ich das Verhalten mit verschiedenen Zuständen der Fensterkontakte austesten und danach den Zeitschaltpunkt wieder auf nach Mitternacht setzen.


Wenn ich das richtig verstanden habe, ist das Modul WeekdayTimer ähnlich aufgebaut wie Heating_Control. Damit habe ich ebenfalls am WE experimentiert und ein ähnliches Problem feststellen müssen. Ich habe für jeden Rolladen im Erdgeschoss versuchsweise WeekdayTimer angelegt.
Z.B.:

define wdt.duo.eg.Badezimmer.Arbeit dm.duo.eg.Badezimmer 1234560|{sunset_abs("Civil",ReadingsVal("dm.duo.eg.Badezimmer","state",0)*60)}|down 12345|06:00|up 60|09:00|up (ReadingsVal("sc.Urlaub.zuhause","state","") eq "off") or (ReadingsVal("sc.Arbeit.Micha","state","") eq "on")und:
define wdt.duo.eg.Badezimmer.Urlaub.zuhause dm.duo.eg.Badezimmer 1234560|{sunset_abs("Civil",ReadingsVal("dm.duo.eg.Badezimmer","state",0)*60)}|down 1234560|09:00|up (ReadingsVal("sc.Urlaub.zuhause", "state", "") eq "on" or ReadingsVal("sc.Krank.zuhause", "state", "") eq "on")
Hintergrund ist, dass ich beim Öffnen des Badezimmerfensters das Rollo immer hochfahren (egal welcher Zustand vorlag) und nach dem Schließen in den laut Timer vorgesehenen Zustand ggf. herunterfahren lasse.
define di.fk.duo.eg.Badezimmer DOIF ([hm.fk.eg.Badezimmer:onoff] eq "1" ) (set duo.eg.Badezimmer manualMode on) (set duo.eg.Badezimmer up) DOELSEIF ([hm.fk.eg.Badezimmer:onoff] eq "0") (set duo.eg.Badezimmer manualMode off) (set duo.eg.Badezimmer [dm.duo.eg.Badezimmer:setpoint]) DOELSE
attr di.fk.duo.eg.Badezimmer wait 0,10:360,0

Dabei hat sich gestern das Problem ergeben, dass abends (ca. 20:00 Uhr )nach dem Duschen beim Öffnen des Fensters das Rollo erwartungsgemäß hochfuhr, nach Schließen des Fensters jedoch nicht herunterfuhr, obwohl die Schaltzeit (ca. 18:07 Uhr) längst vorbei war. Das verwendete Reading im Dummy dm.duo.eg.Badezimmer wurde nicht neu gesetzt.

Hier das List des WeekdayTimers von gestern abend:
Internals:
   CFGFN
   COMMAND
   CONDITION  (ReadingsVal("sc.Urlaub.zuhause","state","") eq "off") or (ReadingsVal("sc.Arbeit.Micha","state","") eq "on")
   DEF        dm.duo.eg.Badezimmer 1234560|{sunset_abs("Civil",ReadingsVal("dm.duo.eg.Badezimmer","state",0)*60)}|down 12345|06:00|up 60|09:00|up (ReadingsVal("sc.Urlaub.zuhause","state","") eq "off") or (ReadingsVal("sc.Arbeit.Micha","state","") eq "on")
   DEVICE     dm.duo.eg.Badezimmer
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       wdt.duo.eg.Badezimmer.Arbeit
   NR         16855
   Profil 0: Sonntag 09:00:00 up, 18:07:39 down
   Profil 1: Montag 06:00:00 up, 18:07:39 down
   Profil 2: Dienstag 06:00:00 up, 18:07:39 down
   Profil 3: Mittwoch 06:00:00 up, 18:07:39 down
   Profil 4: Donnerstag 06:00:00 up, 18:07:39 down
   Profil 5: Freitag 06:00:00 up, 18:07:39 down
   Profil 6: Samstag 09:00:00 up, 18:07:39 down
   STATE      up
   STILLDONETIME 0
   TYPE       WeekdayTimer
   READINGS:
     2017-11-26 09:00:00   currValue       up
     2017-11-24 19:49:36   disabled        0
     2017-11-26 09:00:00   nextUpdate      2017-11-26 18:07:39
     2017-11-26 09:00:00   nextValue       down
     2017-11-26 09:00:00   state           up
   SWITCHINGTIMES:
     1234560|{sunset_abs("Civil",ReadingsVal("dm.duo.eg.Badezimmer","state",0)*60)}|down
     12345|06:00|up
     60|09:00|up
   TIMER:
     wdt.duo.eg.Badezimmer.Arbeit_1:
       HASH       wdt.duo.eg.Badezimmer.Arbeit
       MODIFIER   1
       NAME       wdt.duo.eg.Badezimmer.Arbeit_1
       immerSchalten 1
     wdt.duo.eg.Badezimmer.Arbeit_2:
       HASH       wdt.duo.eg.Badezimmer.Arbeit
       MODIFIER   2
       NAME       wdt.duo.eg.Badezimmer.Arbeit_2
     wdt.duo.eg.Badezimmer.Arbeit_3:
       HASH       wdt.duo.eg.Badezimmer.Arbeit
       MODIFIER   3
       NAME       wdt.duo.eg.Badezimmer.Arbeit_3
     wdt.duo.eg.Badezimmer.Arbeit_SetTimerOfDay:
       HASH       wdt.duo.eg.Badezimmer.Arbeit
       MODIFIER   SetTimerOfDay
       NAME       wdt.duo.eg.Badezimmer.Arbeit_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
     wdt.duo.eg.Badezimmer.Arbeit_delayed:
       HASH       wdt.duo.eg.Badezimmer.Arbeit
       MODIFIER   delayed
       NAME       wdt.duo.eg.Badezimmer.Arbeit_delayed
     wdt.duo.eg.Badezimmer_1:
       HASH       wdt.duo.eg.Badezimmer.Arbeit
       MODIFIER   1
       NAME       wdt.duo.eg.Badezimmer_1
     wdt.duo.eg.Badezimmer_SetTimerOfDay:
       HASH       wdt.duo.eg.Badezimmer.Arbeit
       MODIFIER   SetTimerOfDay
       NAME       wdt.duo.eg.Badezimmer_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
   dayNumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     SWITCHINGTIME:
       0:
         09:00:00   up
         18:07:39   down
       1:
         06:00:00   up
         18:07:39   down
       2:
         06:00:00   up
         18:07:39   down
       3:
         06:00:00   up
         18:07:39   down
       4:
         06:00:00   up
         18:07:39   down
       5:
         06:00:00   up
         18:07:39   down
       6:
         09:00:00   up
         18:07:39   down
   longDays:
     de:
       Sonntag
       Montag
       Dienstag
       Mittwoch
       Donnerstag
       Freitag
       Samstag
       Wochenende
       Werktags
     en:
       Sunday
       Monday
       Tuesday
       Wednesday
       Thursday
       Friday
       Saturday
       weekend
       weekdays
     fr:
       Dimanche
       Lundi
       Mardi
       Mercredi
       Jeudi
       Vendredi
       Samedi
       weekend
       jours de la semaine
   profil:
     1:
       EPOCH      1511716059
       PARA       down
       TIME       {sunset_abs("Civil",ReadingsVal("dm.duo.eg.Badezimmer","state",0)*60)}
       TAGE:
         0
         1
         2
         3
         4
         5
         6
     2:
       EPOCH      1511672400
       PARA       up
       TIME       06:00
       TAGE:
         1
         2
         3
         4
         5
     3:
       EPOCH      1511683200
       PARA       up
       TIME       09:00
       TAGE:
         0
         6
   profile_IDX:
     0:
       09:00:00   3
       18:07:39   1
     1:
       06:00:00   2
       18:07:39   1
     2:
       06:00:00   2
       18:07:39   1
     3:
       06:00:00   2
       18:07:39   1
     4:
       06:00:00   2
       18:07:39   1
     5:
       06:00:00   2
       18:07:39   1
     6:
       09:00:00   3
       18:07:39   1
   shortDays:
     de:
       so
       mo
       di
       mi
       do
       fr
       sa
       $we
       !$we
     en:
       su
       mo
       tu
       we
       th
       fr
       sa
       $we
       !$we
     fr:
       di
       lu
       ma
       me
       je
       ve
       sa
       $we
       !$we
Attributes:
   commandTemplate setreading $NAME setpoint $EVENT
   disable    0
   room       Rollladen
   switchInThePast 1

Auch hier wird offensichtlich nicht geschaltet, obwohl nextUpdate und nextValue korrekt erscheinen.

Ich werde auch hier den verbose-Level auf 5 setzen und weiter beobachten.
« Letzte Änderung: 27 November 2017, 11:10:14 von netwalk »
live long and prosper
netwalk
_______________________________________________
Rapberry Pi 3, Homematic mit HMLGW, RFXtrx433, DUOFERNSTICK, FBDECT, JEELINK

Offline Andre0909

  • Jr. Member
  • **
  • Beiträge: 97
Antw:Neues Modul - Heating_Control, WeekdayTimer
« Antwort #892 am: 03 Dezember 2017, 16:30:29 »
Moin, brauche mal eure syntax-Hilfe. Nutze bisher den WD-Timer erfolgreiche für simple on oder off-Befehle. Nun brauche ich aber die Ausführung des TextTo-Speech Befehls: set Tablet ttsMsg Hier kommt mein Text.

Ich weiss nun nicht wie ich das einbinden soll weil:

define WD_Bahn_Morgens WeekdayTimer Tablet 8|07:08|ttsMsg lala lala lala (Value("Automatikmodus") eq "Standard")
wird ja nicht funktionieren. Wie setze ich das ttsMsg lala lala lala um? DANKE

Offline cotecmania

  • Full Member
  • ***
  • Beiträge: 487
Antw:Neues Modul - Heating_Control, WeekdayTimer
« Antwort #893 am: 07 Dezember 2017, 13:52:16 »
Hallo,

Ich möchte mit einem HeatingControl 2 Arten von Thermostaten schalten (MAX + HM). Der eine braucht desired-temp, der andere desiredTemperature.
Gibt es dazu eine Möglichkeit, das in einem HC-Device zu vereinen ohne es explizit hinten als 2 Befehle anzugeben ?

So gehts nicht zumindest fuer das MAX-Device :
HK_HM_WOHNEN_._Clima,HK_WC_EG Mo-So|07:30|22 Mo-So|22:00|15 {if (Value("DS_Heizen") eq "on" )) {fhem("set $NAME desired-temp $EVENT")}}
FHEM auf RaspberryPI B (jessie)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, ACER Iconia One mit AMAD/FTUI

 

decade-submarginal