Neues Modul - Heating_Control, WeekdayTimer

Begonnen von Dietmar63, 04 Januar 2013, 19:42:26

Vorheriges Thema - Nächstes Thema

carzl

Oha, interessant! Mein "SindImUrlaub"-Dummy steht in der cfg tatsächlich weiter hinten - FHT, HC, dummy. Na da klimper ich den einfach mal weiter vorne rein und beobachte den morgigen Tag.
Danke erstmal für Deine Mühe!
Fhem 6.0 auf RPi3: CUL, JeeLink, Hue Bridge v2, HarmonyHub, Fritzbox7590+7412, 6x FHT80b, 2x FS20S6A, FS20S4A, S300TH, 4x FritzDECT200/210, 4x TX29DTH, 4x Hue LightStripe, 5x Hue Smart Plug, Sonos mit 5x Play:1, Beam und Sub; 3x Lenovo Tab M10 mit FTUI

stefanpf

#496
Hallo,

ich in gestern über das Modul gestolpert und war so begeistert, dass ich heute Nacht erst einmal alle Thermostate umgestellt habe.
(Testphasen werden eigentlich überbewertet  :o)
Zwei Thermostaten ärgern mich derzeit noch mit einem "State inactive".
Heute Nacht konnte ich kurz beobachten, dass ein HC anscheinend auf inactive wechselt, wenn der erste Zeitraum um 00:00 beginnt.
Eine Modifikation auf 00:01 korrigierte das Verhalten. Ich kann es aktuell nicht mehr nachstellen - vermutlich weil die dazwischenliegenden Zeitfenster derzeit ausgewertet werden. Ich schau mir das beim nächsten mal Schlafwandeln noch genauer an.

Aktuell ärgert mich diese Definition hier:
Code (Fhem.cfg) Auswählen
define bz_HeatingControl Heating_Control bz_HM_CC_TC_Climate Mo-Fr|00:03|19.0 Mo-Fr|04:30|20 Mo-Fr|05:00|21.5 Mo-Fr|07:30|20 Mo-Fr|16:00|20.5 Mo-Fr|21:30|19 Sa,So|00:03|19.0 Sa,So|06:30|20 Sa,So|07:00|20.5 Sa,So|07:30|21.5 Sa,So|12:01|22.5 Sa,So|20:00|20 (ReadingsVal("HCAutomatik", "state", "") eq "on")
attr bz_HeatingControl disable 0
attr bz_HeatingControl icon edit_settings
attr bz_HeatingControl room Heizung
attr bz_HeatingControl verbose 5
attr bz_HeatingControl windowSensor bz_SEC_RHS


Die Zeiten werden anscheinend korrekt in die Profile interpretiert, allerdings machen mich die Readings stutzig
Die Werte für NExtUpdate und NExtValue gehören eindeutig zu dem Samstagsprofil.
Entferne ich das Samstagsprofil aus der Definition werden die erwarteten Werte angezeigt und der Status inactive verschwindet auch  :(

Nach 12:01 verschwindet der mysteriöse Eintrag wieder. Setzte ich den Eintrag auf 12:10 taucht er wieder auf.

Version: # $Id: 98_Heating_Control.pm 8394 2015-04-07 17:48:30Z dietmar63 $
Code (Readings) Auswählen
disabled 0 2015-04-24 08:04:55
nextUpdate 12:01:00 2015-04-24 08:06:07
nextValue 22.5 2015-04-24 08:06:07
state inactive 2015-04-24 08:06:07


2015.04.24 08:06:07.019 5: [bz_HeatingControl] removing Timer: bz_HeatingControl_21:30:00
2015.04.24 08:06:07.019 5: [bz_HeatingControl] removing Timer: bz_HeatingControl_20:00:00
2015.04.24 08:06:07.019 5: [bz_HeatingControl] removing Timer: bz_HeatingControl_12:01:00
2015.04.24 08:06:07.019 5: [bz_HeatingControl] removing Timer: bz_HeatingControl_05:00:00
2015.04.24 08:06:07.020 5: [bz_HeatingControl] removing Timer: bz_HeatingControl_07:00:00
2015.04.24 08:06:07.020 5: [bz_HeatingControl] removing Timer: bz_HeatingControl_07:30:00
2015.04.24 08:06:07.020 5: [bz_HeatingControl] removing Timer: bz_HeatingControl_06:30:00
2015.04.24 08:06:07.020 5: [bz_HeatingControl] removing Timer: bz_HeatingControl_16:00:00
2015.04.24 08:06:07.028 4: [bz_HeatingControl] 05:31:15 21:16:02 Freitag
2015.04.24 08:06:07.028 4: [bz_HeatingControl] 00:03:00 19.0, 06:30:00 20, 07:00:00 20.5, 07:30:00 21.5, 12:01:00 22.5, 20:00:00 20 (Profil 0: Sonntag)
2015.04.24 08:06:07.029 4: [bz_HeatingControl] 00:03:00 19.0, 04:30:00 20, 05:00:00 21.5, 07:30:00 20, 16:00:00 20.5, 21:30:00 19 (Profil 1: Montag)
2015.04.24 08:06:07.029 4: [bz_HeatingControl] 00:03:00 19.0, 04:30:00 20, 05:00:00 21.5, 07:30:00 20, 16:00:00 20.5, 21:30:00 19 (Profil 2: Dienstag)
2015.04.24 08:06:07.029 4: [bz_HeatingControl] 00:03:00 19.0, 04:30:00 20, 05:00:00 21.5, 07:30:00 20, 16:00:00 20.5, 21:30:00 19 (Profil 3: Mittwoch)
2015.04.24 08:06:07.029 4: [bz_HeatingControl] 00:03:00 19.0, 04:30:00 20, 05:00:00 21.5, 07:30:00 20, 16:00:00 20.5, 21:30:00 19 (Profil 4: Donnerstag)
2015.04.24 08:06:07.029 4: [bz_HeatingControl] 00:03:00 19.0, 04:30:00 20, 05:00:00 21.5, 07:30:00 20, 16:00:00 20.5, 21:30:00 19 (Profil 5: Freitag)
2015.04.24 08:06:07.029 4: [bz_HeatingControl] 00:03:00 19.0, 06:30:00 20, 07:00:00 20.5, 07:30:00 21.5, 12:01:00 22.5, 20:00:00 20 (Profil 6: Samstag)
2015.04.24 08:06:07.031 5: [bz_HeatingControl] setting  Timer: bz_HeatingControl_21:30:00 24.04.2015  21:30:00
2015.04.24 08:06:07.032 5: [bz_HeatingControl] setting  Timer: bz_HeatingControl_20:00:00 24.04.2015  20:00:00
2015.04.24 08:06:07.032 5: [bz_HeatingControl] setting  Timer: bz_HeatingControl_16:00:00 24.04.2015  16:00:00
2015.04.24 08:06:07.033 5: [bz_HeatingControl] setting  Timer: bz_HeatingControl_12:01:00 24.04.2015  12:01:00
2015.04.24 08:06:07.034 5: [bz_HeatingControl] setting  Timer: bz_HeatingControl_07:30:00 24.04.2015  07:30:00
2015.04.24 08:06:07.035 5: [bz_HeatingControl] setting  Timer: bz_HeatingControl_07:00:00 24.04.2015  07:00:00
2015.04.24 08:06:07.036 5: [bz_HeatingControl] setting  Timer: bz_HeatingControl_06:30:00 24.04.2015  06:30:00
2015.04.24 08:06:07.037 5: [bz_HeatingControl] setting  Timer: bz_HeatingControl_05:00:00 24.04.2015  05:00:00
2015.04.24 08:06:07.039 5: [bz_HeatingControl] removing Timer: bz_HeatingControl_SetTimerOfDay
2015.04.24 08:06:07.039 5: [bz_HeatingControl] setting  Timer: bz_HeatingControl_SetTimerOfDay 25.04.2015  00:00:05
2015.04.24 08:06:07.044 5: [bz_HeatingControl] list of window sensors found: 'bz_SEC_RHS bz_HeatingControl'
2015.04.24 08:06:07.044 5: [bz_HeatingControl] sensor 'bz_SEC_RHS' Reading/Attribute 'state' is 'closed'
2015.04.24 08:06:07.045 4: [bz_HeatingControl] timer seems to be active today: 12345|05:00:00|21.5
2015.04.24 08:06:07.045 5: [bz_HeatingControl] aktParam:21.5 newParam:21.5 - is  not disabled
2015.04.24 08:06:07.048 5: [bz_HeatingControl] list of window sensors found: 'bz_SEC_RHS bz_HeatingControl'
2015.04.24 08:06:07.048 5: [bz_HeatingControl] sensor 'bz_SEC_RHS' Reading/Attribute 'state' is 'closed'
2015.04.24 08:06:07.049 5: [bz_HeatingControl] aktParam:21.5 newParam:20.0 - is  not disabled
2015.04.24 08:06:07.049 4: [bz_HeatingControl] command: {my%days=map{$_=>1}(0,6);; if ( (ReadingsVal("HCAutomatik", "state", "") eq "on") && (defined $days{$wday})) { fhem("set bz_HM_CC_TC_Climate desired-temp 20.0") }} executed
2015.04.24 08:06:07.052 5: [bz_HeatingControl] list of window sensors found: 'bz_SEC_RHS bz_HeatingControl'
2015.04.24 08:06:07.053 5: [bz_HeatingControl] sensor 'bz_SEC_RHS' Reading/Attribute 'state' is 'closed'
2015.04.24 08:06:07.053 5: [bz_HeatingControl] aktParam:21.5 newParam:20.5 - is  not disabled
2015.04.24 08:06:07.054 4: [bz_HeatingControl] command: {my%days=map{$_=>1}(0,6);; if ( (ReadingsVal("HCAutomatik", "state", "") eq "on") && (defined $days{$wday})) { fhem("set bz_HM_CC_TC_Climate desired-temp 20.5") }} executed
2015.04.24 08:06:07.057 5: [bz_HeatingControl] list of window sensors found: 'bz_SEC_RHS bz_HeatingControl'
2015.04.24 08:06:07.057 5: [bz_HeatingControl] sensor 'bz_SEC_RHS' Reading/Attribute 'state' is 'closed'
2015.04.24 08:06:07.058 5: [bz_HeatingControl] aktParam:21.5 newParam:21.5 - is  not disabled


carzl

Zitat von: carzl am 23 April 2015, 21:43:43
Oha, interessant! Mein "SindImUrlaub"-Dummy steht in der cfg tatsächlich weiter hinten - FHT, HC, dummy. Na da klimper ich den einfach mal weiter vorne rein und beobachte den morgigen Tag.
Danke erstmal für Deine Mühe!
Habe gestern Abend die Position des Urlaubs-Dummys innerhalb der cfg nach vorne umgezogen, jetzt also Dummy-FHTs-HCs. Nach dem reboot war dann nur einer der 6 HCs auf inactiv. Heute früh aber wieder 4 von 6. Gerade wieder neugestartet, jetzt ist wieder 1 von 6 inactiv. Vielleicht hats also wirklich was mit der Position des Dummys zu tun, aber so wirklich gelöst ist es noch nicht...
Fhem 6.0 auf RPi3: CUL, JeeLink, Hue Bridge v2, HarmonyHub, Fritzbox7590+7412, 6x FHT80b, 2x FS20S6A, FS20S4A, S300TH, 4x FritzDECT200/210, 4x TX29DTH, 4x Hue LightStripe, 5x Hue Smart Plug, Sonos mit 5x Play:1, Beam und Sub; 3x Lenovo Tab M10 mit FTUI

Hans Franz

Hallo Dietmar,

Könntest du es  evtl. in Erwägung ziehen, das Datum im Reading nextUpdate wieder zu reaktivieren?
Es war schon sehr hilfreich.
siehe hier

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Dietmar63

Zitat von: Hans Franz am 24 April 2015, 13:06:14
Hallo Dietmar,

Könntest du es  evtl. in Erwägung ziehen, das Datum im Reading nextUpdate wieder zu reaktivieren?
Es war schon sehr hilfreich.
siehe hier

Gruß
Hans

ja - ist schon geändert, wird aber künfig im Format von FmtDateTime() geliefert werden
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

Zitat von: carzl am 24 April 2015, 10:52:12
Habe gestern Abend die Position des Urlaubs-Dummys innerhalb der cfg nach vorne umgezogen, jetzt also Dummy-FHTs-HCs. Nach dem reboot war dann nur einer der 6 HCs auf inactiv. Heute früh aber wieder 4 von 6. Gerade wieder neugestartet, jetzt ist wieder 1 von 6 inactiv. Vielleicht hats also wirklich was mit der Position des Dummys zu tun, aber so wirklich gelöst ist es noch nicht...

vielleicht wartest du man das nächste udpate ab. Dann wird einiges ander sein.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Haecksler

Hallo
Habe das selbe Problem seit dem letzten update stehen sämtliche WeekdayTimer auf "inactive".
Wann wurde eigentlich die Zuordnung der Wochentage, sprich WE = 7 und So = 0 geändert?
Ging voll an mir vorbei :-\.

Gruß,
Stefan

Dietmar63

Zitat von: Haecksler am 25 April 2015, 08:26:09
Hallo
Habe das selbe Problem seit dem letzten update stehen sämtliche WeekdayTimer auf "inactive".
Wann wurde eigentlich die Zuordnung der Wochentage, sprich WE = 7 und So = 0 geändert?
Ging voll an mir vorbei :-\.

Gruß,
Stefan

Kurz vor Ostern
Am Problem mit dem actice/inaktive arbeite ich bereits. Aufgrund interner Änderungen ist das leider nicht ganz so einfach.
Die Timer laufen aber fehlerfrei.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

neue Version eingecheckt:

98_WeekdayTimer, 98_Heating_Control:
correction of some bugs with inactive/active state
nextValue has now Format 2015-04-25 18:15:00 as before
added better logging and attr switchInThePast
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

stefanpf

Hallo,

das mit dem inactive state schaut auf den ersten Blick sehr gut aus.  :D

Die zufälligen Werte im nextUpdate und nextValue sind allerdings bei mir noch geblieben.
Ich erkenne da allerdings auch keinen logischen Zusammenhang.

Um die Werte besser auseinander halten zu können habe ich die Wochentage in den Schaltsekunden integriert.
Anbei ein Screenshot, der 46 Sekunden vor einem extra eingefügtem Testzeitpunkt 19:37:06 erstellt wurde.
nextUpdate zeigt hier eindeutig einen Schaltzeitpunkt aus der Montags(-Freitags) Definition.

Um 19:37:06 hat der State aber auf den korrekten Wert ( 22) gewechselt.
Anschließend wurde auch bei nextUpdate der nächste Schaltzeitpunkt um 20:00:00 angezeigt ( dieser ist der Sonntagswert statt dem Samstagswert)

Oder verstehe ich den Inhalt des Readings falsch? Ich meine irgendwo gelesen zu haben, dass dies der nächste Schaltzeitpunkt sein soll.

Gruß

Stefan

optimizer

Hallo Dietmar,
das inactive-Problem ist bei mir noch nicht behoben. Ich steuere mit deinem Modul meine FBH-Relais über ein THRESHOLD-device (FBH_Buero).
Kannst du noch etwas zum neuen Attribut "switchInThePast" sagen? Dies wird bei mir nicht akzeptiert.
Wie bei Stefan scheint die Readings-Anzeige nicht aktualisiert zu werden:
Sa. 19:50 habe ich neu hinzugefügt. Der state bleibt inactive. Nächster Schaltzeitpunkt wird jedoch 23:00 im Reading angezeigt.
Um 19:50 wurde geschaltet und state steht erst jetzt auf 21
list HCBuero um 19:40 Uhr (nach Update + Neustart):
Internals:
   COMMAND    {fhem("set @ desired %") if (ReadingsVal("HCAutomatik", "state", "") eq "on")}
   DEF        FBH_Buero 23:00|19 Mo-Do|18:00|21 Fr|07:00|20 Sa,So|13:00|20 Sa,So|19:50|21 {fhem("set @ desired %") if (ReadingsVal("HCAutomatik", "state", "") eq "on")}
   DEVICE     FBH_Buero
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       HCBuero
   NR         56
   Profil 0: Sonntag 13:00:00 20, 19:50:00 21, 23:00:00 19
   Profil 1: Montag 18:00:00 21, 23:00:00 19
   Profil 2: Dienstag 18:00:00 21, 23:00:00 19
   Profil 3: Mittwoch 18:00:00 21, 23:00:00 19
   Profil 4: Donnerstag 18:00:00 21, 23:00:00 19
   Profil 5: Freitag 07:00:00 20, 23:00:00 19
   Profil 6: Samstag 13:00:00 20, 19:50:00 21, 23:00:00 19
   STATE      inactive
   TYPE       Heating_Control
   Readings:
     2015-04-25 19:34:53   disabled        0
     2015-04-25 19:40:00   nextUpdate      23:00:00
     2015-04-25 19:40:00   nextValue       19
     2015-04-25 19:40:53   state           inactive
   SWITCHINGTIMES:
     23:00|19
     Mo-Do|18:00|21
     Fr|07:00|20
     Sa,So|13:00|20
     Sa,So|19:50|21
   Timer:
     Hcbuero_19:50:00:
       HASH       HCBuero
       MODIFIER   19:50:00
       NAME       HCBuero_19:50:00
     Hcbuero_23:00:00:
       HASH       HCBuero
       MODIFIER   23:00:00
       NAME       HCBuero_23:00:00
     Hcbuero_settimerofday:
       HASH       HCBuero
       MODIFIER   SetTimerOfDay
       NAME       HCBuero_SetTimerOfDay
   Daynumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   Helper:
     DESIRED_TEMP_READING
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     Switchingtime:
       0:
         13:00:00   20
         19:50:00   21
         23:00:00   19
       1:
         18:00:00   21
         23:00:00   19
       2:
         18:00:00   21
         23:00:00   19
       3:
         18:00:00   21
         23:00:00   19
       4:
         18:00:00   21
         23:00:00   19
       5:
         07:00:00   20
         23:00:00   19
       6:
         13:00:00   20
         19:50:00   21
         23:00:00   19
   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:
     07:00:00:
       NEXTPARA   20
       NEXTSWITCH 13:00:00
       PARA       20
       TIM        1429938000
       TAGE:
         5
     13:00:00:
       NEXTPARA   21
       NEXTSWITCH 18:00:00
       PARA       20
       TIM        1429959600
       TAGE:
         0
         6
     18:00:00:
       NEXTPARA   21
       NEXTSWITCH 19:50:00
       PARA       21
       TIM        1429977600
       TAGE:
         1
         2
         3
         4
     19:50:00:
       NEXTPARA   19
       NEXTSWITCH 23:00:00
       PARA       21
       TIM        1429984200
       TAGE:
         0
         6
     23:00:00:
       NEXTPARA   20
       NEXTSWITCH 07:00:00
       PARA       19
       TIM        1429995600
       TAGE:
         0
         1
         2
         3
         4
         5
         6
   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:
   disable    0
   group      Heizplan
   room       Heizung
   verbose    4


Gruß
Karlheinz

Dietmar63

Zitat von: stefanpf am 25 April 2015, 19:52:53
Die zufälligen Werte im nextUpdate und nextValue sind allerdings bei mir noch geblieben.
Ich erkenne da allerdings auch keinen logischen Zusammenhang.

Um die Werte besser auseinander halten zu können habe ich die Wochentage in den Schaltsekunden integriert.
Anbei ein Screenshot, der 46 Sekunden vor einem extra eingefügtem Testzeitpunkt 19:37:06 erstellt wurde.
nextUpdate zeigt hier eindeutig einen Schaltzeitpunkt aus der Montags(-Freitags) Definition.

Um 19:37:06 hat der State aber auf den korrekten Wert ( 22) gewechselt.
Anschließend wurde auch bei nextUpdate der nächste Schaltzeitpunkt um 20:00:00 angezeigt ( dieser ist der Sonntagswert statt dem Samstagswert)

Oder verstehe ich den Inhalt des Readings falsch? Ich meine irgendwo gelesen zu haben, dass dies der nächste Schaltzeitpunkt sein soll.

Gruß

Stefan

da muss ich noch einmal nachbessern
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

"switchInThePast"
sollte in der Liste der Attribute auftauchen - eventuell einmal durchstarten.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

stefanpf

Zitat von: Dietmar63 am 25 April 2015, 20:33:24
da muss ich noch einmal nachbessern
Das ist nett - danke.
Solange es wie gewünscht schaltet ist ja eigentlich schon alles in Butter.
Ich gehe jetzt über das Wochenende einmal live mit HC.
Am WE habe ich eine Chance einzugreifen wenn das Bad morgens kalt bleibt ( am Freitag Morgen ist der WAF doch glatt um 10% gesunken  ;D)

Mitch

Hallo Dietmar,

habe gerade einen Update gemacht.
Nun steht im state immer active.

Kann man da wieder die aktuelle Temperatur stehen haben?
ich schalte mit dem Wert aus state ein anderes Gerät.
FHEM im Proxmox Container