Hauptmenü

Fussbodenheizung via FHEM

Begonnen von en-trust, 05 September 2017, 07:51:44

Vorheriges Thema - Nächstes Thema

en-trust

Ich habe im Laufe des Jahres meine Fussbodenheizung mit Stellmotoren umgerüstet und auf FHEM umgestellt. Das Ein- und Ausschalten klappt auch soweit. Ich würde das Ganze jedoch noch verfeinern und zwischen Sommer (AUS) und Winter (AUTO bzw. URLAUB) unterscheiden. Ob das allerdings Sinn macht, wenn ich die Motoren nach Außen- und Innentemperatur steuern lasse, sei dahin gestellt. Vielleicht kann der ein oder andere ja mal über den Code schauen, ob der so funktioniert.


################################################################################
# Heizung Schaltaktoren - Regelung
#-------------------------------------------------------------------------------
#
# Heizungregelung (FHZ)
#
define Modus_FHZ dummy
attr Modus_FHZ alias Heizungsmodus
attr Modus_FHZ devStateIcon devStateIcon Auto:sani_heating_automatic FHEM:sani_heating_manual AUS:secur_heat_protection Frostschutz:temp_frost
attr Modus_FHZ eventMap FHEM Urlaub Aus
attr Modus_FHZ group Heizung
attr Modus_FHZ icon temp_inside@LightSlateGray
attr Modus_FHZ room Automation
attr Modus_FHZ setList state:AUTO,URLAUB,AUS
attr Modus_FHZ sortby 01
attr Modus_FHZ webCmd state

################################################################################
# Heizung Schaltaktoren
#-------------------------------------------------------------------------------
#
# Heizungsaktor - Erdgeschoss
#
define HM_531770 CUL_HM 531770
attr HM_531770 IODev myCUL
attr HM_531770 IOgrp myVCCU:myCUL
attr HM_531770 autoReadReg 4_reqStatus
attr HM_531770 comment 2-fach Schaltaktor fuer FBH (Ergeschoss)
attr HM_531770 expert 2_raw
attr HM_531770 firmware 2.8
attr HM_531770 group Schaltaktoren
attr HM_531770 model HM-LC-SW2-FM
attr HM_531770 room CUL_HM
attr HM_531770 serialNr NEQ1780929
attr HM_531770 subType switch
attr HM_531770 webCmd getConfig:clear msgEvents
define FileLog_HM_531770 FileLog /opt/fhem/log/HM_531770-%Y.log HM_531770
attr FileLog_HM_531770 logtype text
attr FileLog_HM_531770 room CUL_HM
#
# Wohnzimmer - Kanal 1
#
define HM_531770_Sw_01 CUL_HM 53177001
attr HM_531770_Sw_01 comment Kanal 1 steuert FBH-Heizkreise 1-2 (Wohnzimmer)
attr HM_531770_Sw_01 group Schaltaktoren
attr HM_531770_Sw_01 model HM-LC-SW2-FM
attr HM_531770_Sw_01 peerIDs 00000000,
attr HM_531770_Sw_01 room CUL_HM,Wohnzimmer
attr HM_531770_Sw_01 webCmd statusRequest:toggle:on:off
#
# Wohnzimmer - Heizungregelung (Automatik- / Urlaubsmodus)
#                                   
define HM_531770_Sw_01.Auto DOIF ([Modus_FHZ] eq "AUTO" and ([05:00-22:00] and [GT.LaCrosse:temperature] < 15 and [WZ.LaCrosse:temperature] < 21.5)) (set HM_531770_Sw_01 on) \
DOELSEIF ([Modus_FHZ] eq "AUTO" and ([05:00-22:00] and [GT.LaCrosse:temperature] > 15 and [WZ.LaCrosse:temperature] > 21.5)) (set HM_531770_Sw_01 off) \
DOELSEIF ([Modus_FHZ] eq "URLAUB" and ([05:00-22:00] and [GT.LaCrosse:temperature] < 15 and [WZ.LaCrosse:temperature] < 17.5)) (set HM_531770_Sw_01 on) \
DOELSEIF ([Modus_FHZ] eq "URLAUB" and ([05:00-22:00] and [GT.LaCrosse:temperature] > 15 and [WZ.LaCrosse:temperature] > 17.5)) (set HM_531770_Sw_01 off) \
DOELSEIF ([23:00-04:00] and [GT.LaCrosse:temperature] < 12 and [WZ.LaCrosse:temperature] < 17.5) (set HM_531770_Sw_01 on)
attr HM_531770_Sw_01.Auto group Schaltaktoren
attr HM_531770_Sw_01.Auto room CUL_HM,Wohnzimmer
attr HM_531770_Sw_01.Auto sortby 02

#
# Wohnzimmer - Heizungregelung (Sommermodus)
#
define HM_531770_Sw_01.Off DOIF ([Modus_FHZ] eq "AUS") (set HM_531770_Sw_01.Auto disable) DOELSEIF ([Modus_FHZ] ne "AUS") (set HM_531770_Sw_01.Auto initialize)
attr HM_531770_Sw_01.Off group Schaltaktoren
attr HM_531770_Sw_01.Off room CUL_HM,Wohnzimmer
attr HM_531770_Sw_01.Off sortby 03
#
# Wohnzimmer - Benachrichtigung für Stellmotor
#
define HM_531770_Sw_01.SM.Oeffnung dummy
attr HM_531770_Sw_01.SM.Oeffnung room Haus

#HM_531770_Sw_01.SM.Oeffnung definieren
define HM_531770_Sw_01.SM.Oeffnung.An notify HM_531770_Sw_01:on.* { fhem ("set HM_531770_Sw_01.SM.Oeffnung on") }
define HM_531770_Sw_01.SM.Oeffnung.Aus notify HM_531770_Sw_01:off.* { fhem ("set HM_531770_Sw_01.SM.Oeffnung off") }

#
#Pushover Notification bei Stellmotorenöffnung
#
define HM_531770_Sw_01.SM.Oeffnung.Pushover.On notify HM_531770_Sw_01.SM.Oeffnung:on {\
my $temperature_wz = sprintf "%.2f°C", ReadingsVal("WZ.LaCrosse","temperature",0);;\
my $temperature_te = sprintf "%.2f°C", ReadingsVal("GT.LaCrosse","temperature",0);;\
{fhem ("set PushMessenger msg 'FHZ (Wohnzimmer)' 'Die Stellmotoren wurden geöffnet.\n-WZ.Temperatur $temperature_wz\n-Außentemperatur $temperature_te'")}

define HM_531770_Sw_01.SM.Oeffnung.Pushover.Off notify HM_531770_Sw_01.SM.Oeffnung:off {\
my $temperature_wz = sprintf "%.2f°C", ReadingsVal("WZ.LaCrosse","temperature",0);;\
my $temperature_te = sprintf "%.2f°C", ReadingsVal("GT.LaCrosse","temperature",0);;\
{fhem ("set PushMessenger msg 'FHZ (Wohnzimmer)' 'Die Stellmotoren wurden geschlossen.\n-WZ.Temperatur $temperature_wz\n-Außentemperatur $temperature_te'")}

amenomade

Soll er an bleiben, wenn [GT.LaCrosse:temperature] < 15 und [WZ.LaCrosse:temperature] geht über 21.5 durch die Heizung?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

en-trust

Wenn ich am Tablet den 'Hauptschalter' auf AUS stelle, soll er gar nichts tun. Bei AUTO soll fhem dann in Abhängigkeit der Außen- und Raumtemperatur entscheiden, ob der Stellmotor aufgemacht werden muss und wenn die Raumtemperatur die Temperatur von 21.5 erreicht hat, wieder schließen.

amenomade

Trotzdem hast Du keine Bedingung für "[GT.LaCrosse:temperature] < 15 und [WZ.LaCrosse:temperature] geht über 21.5" oder sehe ich das falsch?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

en-trust

Nach längerem Überlegen macht es vielleicht mehr Sinn, nur auf die Innentemperatur abzufragen. Korrigiert mich wenn ich da einen Denkfehler habe, aber wenn draußen 18 Grad sind und drin auch nur 18, dann ist es drin ja gefühlt merklich kälter. Demnach vielleicht doch nur auf das Programm und die Innentemperatur schauen ?
Macht es wegen der Trägheit der FH Sinn die Range zwischen 20.5 und 22.5 zu belassen (sprich 2 Grad die geheizt werden) ?


define HM_531770_Sw_01.Auto DOIF ([Modus_FHZ] eq "AUTO" and ([04:15-22:00] and [WZ.LaCrosse:temperature] < 20.5)) (set HM_531770_Sw_01 on) \
DOELSEIF ([Modus_FHZ] eq "AUTO" and ([04:15-22:00] and [WZ.LaCrosse:temperature] > 22.5)) (set HM_531770_Sw_01 off) \
DOELSEIF ([Modus_FHZ] eq "URLAUB" and ([04:15-22:00] and [WZ.LaCrosse:temperature] < 17.5)) (set HM_531770_Sw_01 on) \
DOELSEIF ([Modus_FHZ] eq "URLAUB" and ([04:15-22:00] and [WZ.LaCrosse:temperature] > 19.5)) (set HM_531770_Sw_01 off) \
DOELSEIF ([22:45-04:00] and [WZ.LaCrosse:temperature] < 17.5) (set HM_531770_Sw_01 on) \
DOELSEIF ([22:45-04:00] and [WZ.LaCrosse:temperature] > 19.5) (set HM_531770_Sw_01 off)
...

amenomade

Ja, sieht m.A. besser aus. 2 Grad Hysterese ist auch nicht schlecht - bin aber kein Heizungsprofi ;)

Ca. 21,5 ° ist OK für ein Wohnzimmer, aber ein bisschen zu viel für ein Schlafzimmer. Das ist aber eine Geschmacks-/Kostensache.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

FNT

Hallo,

ich bin ebenfalls daran interessiert eine Fussbodenheizung - wenn auch nicht sofort - aber dann doch ueber FHEM (bin absoluter Anfaenger )zu steuern.
Wie ist es ausgegangen bislang?

Wie sind die Stellmotoren angeschlossen? Wer steuert sie an?

Gruss und Danke,
FNT

en-trust

Also irgendwie funktioniert der Code noch nicht. Der Modus_FHZ steht auf Auto. Ich habe den Stellmotor dann mal manuell eingeschalten und laut Code hätte er bei 22,5 zu fahren sollen. Jetzt hab ich 23,5 und der Stellmotor ist immernoch offen.

Rolfg

Vielleicht nur auf die Temperaturen triggern und die anderen mit [? 22.00 usw. Und mit der höchsten beginnen.
Gruß Rolf

Rolfg

Und vielleicht atribut doalways. Bin ich mir aber nicht sicher.
Gruß Rolf

amenomade

Poste mal ein "list HM_531770_Sw_01.Auto" bitte
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

en-trust

Hier das List. Manuell kann ich die Stellmotoren ein und ausschalten.

Internals:
   CFGFN      ./FHEM/fhem_activeactors.cfg
   DEF        ([Modus_FHZ] eq "Auto" and ([04:15-21:00] and [WZ.LaCrosse:temperature] < 20.5)) (set HM_531770_Sw_01 on)
DOELSEIF ([Modus_FHZ] eq "Auto" and ([04:15-21:00] and [WZ.LaCrosse:temperature] > 22.5)) (set HM_531770_Sw_01 off)
DOELSEIF ([Modus_FHZ] eq "URLAUB" and ([04:15-21:00] and [WZ.LaCrosse:temperature] < 17.5)) (set HM_531770_Sw_01 on)
DOELSEIF ([Modus_FHZ] eq "URLAUB" and ([04:15-21:00] and [WZ.LaCrosse:temperature] > 19.5)) (set HM_531770_Sw_01 off)
DOELSEIF ([22:00-04:00] and [WZ.LaCrosse:temperature] < 17.5) (set HM_531770_Sw_01 on)
DOELSEIF ([22:00-04:00] and [WZ.LaCrosse:temperature] > 19.5) (set HM_531770_Sw_01 off)
   NAME       HM_531770_Sw_01.Auto
   NR         215
   NTFY_ORDER 50-HM_531770_Sw_01.Auto
   STATE      cmd_6
   TYPE       DOIF
   READINGS:
     2017-09-18 16:29:56   Device          WZ.LaCrosse
     2017-09-09 22:00:00   cmd             6
     2017-09-09 22:00:00   cmd_event       timer_11
     2017-09-09 22:00:00   cmd_nr          6
     2017-09-07 19:22:52   e_GT.LaCrosse_temperature 17.4
     2017-09-08 19:57:12   e_Modus_FHZ_STATE Auto
     2017-09-18 16:29:56   e_WZ.LaCrosse_temperature 22.6
     2017-09-09 22:00:00   state           cmd_6
     2017-09-18 16:03:57   timer_01_c01    19.09.2017 04:15:00
     2017-09-18 16:03:57   timer_02_c01    18.09.2017 21:00:00
     2017-09-18 16:03:57   timer_03_c02    19.09.2017 04:15:00
     2017-09-18 16:03:57   timer_04_c02    18.09.2017 21:00:00
     2017-09-18 16:03:57   timer_05_c03    19.09.2017 04:15:00
     2017-09-18 16:03:57   timer_06_c03    18.09.2017 21:00:00
     2017-09-18 16:03:57   timer_07_c04    19.09.2017 04:15:00
     2017-09-18 16:03:57   timer_08_c04    18.09.2017 21:00:00
     2017-09-18 16:03:57   timer_09_c05    18.09.2017 22:00:00
     2017-09-18 16:03:57   timer_10_c05    19.09.2017 04:00:00
     2017-09-18 16:03:57   timer_11_c06    18.09.2017 22:00:00
     2017-09-18 16:03:57   timer_12_c06    19.09.2017 04:00:00
     2017-09-18 16:04:01   wait_timer      18.09.2017 17:04:01 cmd_2 WZ.LaCrosse
   condition:
     0          InternalDoIf($hash,'Modus_FHZ','STATE') eq "Auto" and (DOIF_time($hash,0,1,$wday,$hms) and ReadingValDoIf($hash,'WZ.LaCrosse','temperature') < 20.5)
     1          InternalDoIf($hash,'Modus_FHZ','STATE') eq "Auto" and (DOIF_time($hash,2,3,$wday,$hms) and ReadingValDoIf($hash,'WZ.LaCrosse','temperature') > 22.5)
     2          InternalDoIf($hash,'Modus_FHZ','STATE') eq "URLAUB" and (DOIF_time($hash,4,5,$wday,$hms) and ReadingValDoIf($hash,'WZ.LaCrosse','temperature') < 17.5)
     3          InternalDoIf($hash,'Modus_FHZ','STATE') eq "URLAUB" and (DOIF_time($hash,6,7,$wday,$hms) and ReadingValDoIf($hash,'WZ.LaCrosse','temperature') > 19.5)
     4          DOIF_time($hash,8,9,$wday,$hms) and ReadingValDoIf($hash,'WZ.LaCrosse','temperature') < 17.5
     5          DOIF_time($hash,10,11,$wday,$hms) and ReadingValDoIf($hash,'WZ.LaCrosse','temperature') > 19.5
   days:
   devices:
     0           Modus_FHZ WZ.LaCrosse
     1           Modus_FHZ WZ.LaCrosse
     2           Modus_FHZ WZ.LaCrosse
     3           Modus_FHZ WZ.LaCrosse
     4           WZ.LaCrosse
     5           WZ.LaCrosse
     all         Modus_FHZ WZ.LaCrosse
   do:
     0:
       0          set HM_531770_Sw_01 on
     1:
       0          set HM_531770_Sw_01 off
     2:
       0          set HM_531770_Sw_01 on
     3:
       0          set HM_531770_Sw_01 off
     4:
       0          set HM_531770_Sw_01 on
     5:
       0          set HM_531770_Sw_01 off
     6:
   helper:
     event      temperature: 22.6,humidity: 49,dewpoint: 11.4
     globalinit 1
     last_timer 12
     sleepdevice WZ.LaCrosse
     sleepsubtimer 0
     sleeptimer 1
     timerdev   WZ.LaCrosse
     timerevent temperature: 22.6,humidity: 49,dewpoint: 11.4
     triggerDev WZ.LaCrosse
     timerevents:
       temperature: 22.6
       humidity: 49
       dewpoint: 11.4
     timereventsState:
       temperature: 22.6
       humidity: 49
       dewpoint: 11.4
     triggerEvents:
       temperature: 22.6
       humidity: 49
       dewpoint: 11.4
     triggerEventsState:
       temperature: 22.6
       humidity: 49
       dewpoint: 11.4
   internals:
     0           Modus_FHZ:STATE
     1           Modus_FHZ:STATE
     2           Modus_FHZ:STATE
     3           Modus_FHZ:STATE
     all         Modus_FHZ:STATE
   interval:
     0          -1
     1          0
     10         -1
     11         10
     2          -1
     3          2
     4          -1
     5          4
     6          -1
     7          6
     8          -1
     9          8
   itimer:
   localtime:
     0          1505787300
     1          1505761200
     10         1505764800
     11         1505786400
     2          1505787300
     3          1505761200
     4          1505787300
     5          1505761200
     6          1505787300
     7          1505761200
     8          1505764800
     9          1505786400
   readings:
     0           WZ.LaCrosse:temperature
     1           WZ.LaCrosse:temperature
     2           WZ.LaCrosse:temperature
     3           WZ.LaCrosse:temperature
     4           WZ.LaCrosse:temperature
     5           WZ.LaCrosse:temperature
     all         WZ.LaCrosse:temperature
   realtime:
     0          04:15:00
     1          21:00:00
     10         22:00:00
     11         04:00:00
     2          04:15:00
     3          21:00:00
     4          04:15:00
     5          21:00:00
     6          04:15:00
     7          21:00:00
     8          22:00:00
     9          04:00:00
   regexp:
     0:
     1:
     all:
   state:
     STATE:
   time:
     0          04:15:00
     1          21:00:00
     10         22:00:00
     11         04:00:00
     2          04:15:00
     3          21:00:00
     4          04:15:00
     5          21:00:00
     6          04:15:00
     7          21:00:00
     8          22:00:00
     9          04:00:00
   timeCond:
     0          0
     1          0
     10         5
     11         5
     2          1
     3          1
     4          2
     5          2
     6          3
     7          3
     8          4
     9          4
   timer:
     0          0
     1          0
     10         0
     11         0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
     8          0
     9          0
   timers:
     0           0  1
     1           2  3
     2           4  5
     3           6  7
     4           8  9
     5           10  11
   trigger:
   triggertime:
     1505761200:
       localtime  1505761200
       hash:
     1505764800:
       localtime  1505764800
       hash:
     1505786400:
       localtime  1505786400
       hash:
     1505787300:
       localtime  1505787300
       hash:
Attributes:
   group      Schaltaktoren
   room       CUL_HM,Wohnzimmer
   sortby     02
   wait       0:3600

Damian

Es ist einfacher die Steuerung zu handhaben, wenn man pro Zimmer ein THRESHOLD-Modul definiert, welches autark arbeitet. Über ein zentrales DOIF werden nur noch die Zeitprogramme definiert.

So läuft es bei mir:

eines der zahlreichen THRESHOLDS:

defmod TH_DG THRESHOLD T_Dachgeschoss H_Dachgeschoss
attr TH_DG number_format %.1f
attr TH_DG room Heizung,Info
attr TH_DG state_cmd1_gt off
attr TH_DG state_cmd2_lt on
attr TH_DG state_format _dv _sc _s1v

setstate TH_DG 20.0 off 22.7
setstate TH_DG 2017-09-18 13:00:00 cmd cmd1_gt
setstate TH_DG 2017-09-18 13:00:00 desired_value 20
setstate TH_DG 2017-09-18 13:00:00 mode active
setstate TH_DG 2017-09-18 17:06:21 sensor_value 22.6875
setstate TH_DG 2017-09-18 17:06:21 state 20.0 off 22.7
setstate TH_DG 2017-09-18 13:00:00 threshold_max 20
setstate TH_DG 2017-09-18 13:00:00 threshold_min 19


und hier eine für unser Haus ausgetüftelte Wochentagsteuerung:

defmod di_Heizung DOIF ([04:30|8] or [05:00|7])\
  (set TH_Kz_o_HM desired-temp 21)\
DOELSEIF ([05:00|8] or [06:00|7])\
  (set TH_Keller_HM desired-temp 20,\
   set TH_Kueche desired 21,\
    set TH_Bad_HM desired-temp 20,\
   set TH_DG desired 20)\
DOELSEIF ([05:35|7])\
  (set TH_Wz desired 19.5,\
  set TH_Kz_w_HM desired-temp 21)\
DOELSEIF ([08:00|8] or [09:00|7])\
  (set TH_Keller_HM desired-temp 17,\
   set TH_Kueche desired 17,\
   set TH_Kz_w_HM desired-temp 17,\
   set TH_Bad_HM desired-temp 17,\
   set TH_DG desired 17)\
DOELSEIF ([13:00])\
  (set TH_Kueche desired 19.5,\
   set TH_Wz desired 20.5,\
   set TH_Kz_w_HM desired-temp 21,\
   set TH_Keller_HM desired-temp 20,\
   set TH_DG desired 20)\
DOELSEIF ([17:00])\
  (set TH_Bad_HM desired-temp 17)\
DOELSEIF ([20:00])\
  (set TH_Kueche desired 17,\
   set TH_Wz desired 19,\
   set TH_Keller_HM desired-temp 17,\
   set TH_Kz_w_HM desired-temp 17,\
   set TH_Bad_HM desired-temp 17,\
   set TH_DG desired 17)\
DOELSEIF ([23:00])\
  (set TH_Kz_o_HM desired-temp 19)
attr di_Heizung room Heizung

setstate di_Heizung cmd_6
setstate di_Heizung 2017-09-18 17:00:00 cmd 6
setstate di_Heizung 2017-09-18 17:00:00 cmd_event timer_9
setstate di_Heizung 2017-09-18 17:00:00 cmd_nr 6
setstate di_Heizung 2017-09-18 17:00:00 state cmd_6
setstate di_Heizung 2017-09-18 04:30:00 timer_01_c01 19.09.2017 04:30:00|8
setstate di_Heizung 2017-09-18 05:00:00 timer_02_c01 19.09.2017 05:00:00|7
setstate di_Heizung 2017-09-18 05:00:00 timer_03_c02 19.09.2017 05:00:00|8
setstate di_Heizung 2017-09-18 06:00:00 timer_04_c02 19.09.2017 06:00:00|7
setstate di_Heizung 2017-09-18 05:35:00 timer_05_c03 19.09.2017 05:35:00|7
setstate di_Heizung 2017-09-18 08:00:00 timer_06_c04 19.09.2017 08:00:00|8
setstate di_Heizung 2017-09-18 09:00:00 timer_07_c04 19.09.2017 09:00:00|7
setstate di_Heizung 2017-09-18 13:00:00 timer_08_c05 19.09.2017 13:00:00
setstate di_Heizung 2017-09-18 17:00:00 timer_09_c06 19.09.2017 17:00:00
setstate di_Heizung 2017-09-17 20:00:00 timer_10_c07 18.09.2017 20:00:00
setstate di_Heizung 2017-09-17 23:00:00 timer_11_c08 18.09.2017 23:00:00




Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Eisix

Hallo,

mache gerade was ähnliches. FTUI ist angehängt. Was momentan geht ist Automatic inkl. Nachtabsenkung und manuell. Aus und Boost fehlt noch. Darüber wollte ich dann nochmal eine Zentrale setzen die dann Party,  Urlaub, ... steuert.

Status pro Raum zu definieren

Internals:
   NAME       Heizung.Status_BAD_EG
   NR         367
   STATE      ???
   TYPE       dummy
   READINGS:
     2017-09-19 13:33:47   Boost           off
     2017-09-19 13:33:45   Frost           on
     2017-09-21 10:44:26   Heizung         automatic
     2017-09-11 16:09:31   Nacht           21:00
     2017-09-19 13:33:52   Party           on
     2017-09-19 13:33:50   Sommer          off
     2017-09-11 16:07:33   Tag             04:30
     2017-09-19 16:53:41   TempMan         23.0
     2017-04-03 16:11:40   TempNacht       20.0
     2017-09-19 15:45:29   TempTag         22.0
     2017-09-19 13:33:43   Urlaub          off
     2017-09-19 13:33:49   abwesend        off
Attributes:
   readingList Boost Frost Heizung Nacht Party Sommer Tag TempMan TempNacht TempTag Urlaub abwesend
   room       Heizungsraum
   setList    Boost Frost Heizung Nacht Party Sommer Tag TempMan TempNacht TempTag Urlaub abwesend
   useSetExtensions 1


Thermostat zum steuern des Stellmotors pro Raum

Internals:
   NAME       EinschaltTemp_BAD_EG
   NR         312
   STATE      22.0
   TYPE       dummy
   READINGS:
     2017-09-20 04:30:00   state           22.0
Attributes:
   group      Schalter
   room       Heizungsraum,Wohnzimmer
   setList    state:slider,15,0.5,25,1
   sortby     5
   webCmd     state


DOIF für Vergleich eingestellte Temp mit realer Temp

Internals:
   DEF        ([Sensor_BAD_EG:temperature:d] < [EinschaltTemp_BAD_EG:state]) (set Heizung_BAD_EG on, setreading Heizung_BAD_EG stateColor #995c00) DOELSE (set Heizung_BAD_EG off, setreading Heizung_BAD_EG stateColor #112026)
   NAME       Program.Heizung_BAD_EG
   NR         313
   NTFY_ORDER 50-Program.Heizung_BAD_EG
   STATE      cmd_1
   TYPE       DOIF
   Helper:
     DBLOG:
       cmd:
         logdb:
           TIME       1505997421.22745
           VALUE      1
       cmd_event:
         logdb:
           TIME       1505997421.22745
           VALUE      Sensor_BAD_EG
       cmd_nr:
         logdb:
           TIME       1505997421.22745
           VALUE      1
       state:
         logdb:
           TIME       1505997421.22745
           VALUE      cmd_1
   READINGS:
     2017-09-21 14:37:01   Device          Sensor_BAD_EG
     2017-09-21 14:37:01   cmd             1
     2017-09-21 14:37:01   cmd_event       Sensor_BAD_EG
     2017-09-21 14:37:01   cmd_nr          1
     2017-09-20 04:30:00   e_EinschaltTemp_BAD_EG_state 22.0
     2017-09-21 14:37:01   e_Sensor_BAD_EG_temperature 21.9 C
     2017-09-21 14:37:01   state           cmd_1
   condition:
     0          ReadingValDoIf($hash,'Sensor_BAD_EG','temperature','','d') < ReadingValDoIf($hash,'EinschaltTemp_BAD_EG','state')
   devices:
     0           Sensor_BAD_EG EinschaltTemp_BAD_EG
     all         Sensor_BAD_EG EinschaltTemp_BAD_EG
   do:
     0:
       0          set Heizung_BAD_EG on, setreading Heizung_BAD_EG stateColor #995c00
     1:
       0          set Heizung_BAD_EG off, setreading Heizung_BAD_EG stateColor #112026
   helper:
     event      temperature: 21.9 C
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Sensor_BAD_EG
     timerevent temperature: 21.9 C
     triggerDev Sensor_BAD_EG
     timerevents:
       temperature: 21.9 C
     timereventsState:
       temperature: 21.9 C
     triggerEvents:
       temperature: 21.9 C
     triggerEventsState:
       temperature: 21.9 C
   internals:
   itimer:
   readings:
     0           Sensor_BAD_EG:temperature EinschaltTemp_BAD_EG:state
     all         Sensor_BAD_EG:temperature EinschaltTemp_BAD_EG:state
   regexp:
     0:
     all:
   state:
     STATE:
   trigger:
Attributes:
   room       Heizungsraum


Nachtabsenkung und die verschiedenen Betriebsmodi (automatic und manuell momentan)

Internals:
   DEF        ([Heizung.Status_BAD_EG:Heizung] eq "automatic" and [[Heizung.Status_BAD_EG:Tag]-[ Heizung.Status_BAD_EG:Nacht]]) (set EinschaltTemp_BAD_EG [Heizung.Status_BAD_EG:TempTag]) DOELSEIF ([Heizung.Status_BAD_EG:Heizung] eq "automatic") (set EinschaltTemp_BAD_EG [Heizung.Status_BAD_EG:TempNacht]) DOELSEIF ([Heizung.Status_BAD_EG:Heizung] eq "manuell") (set EinschaltTemp_BAD_EG [Heizung.Status_BAD_EG:TempMan])
   NAME       Steuerung.Heizung.BAD_EG
   NR         387
   NTFY_ORDER 50-Steuerung.Heizung.BAD_EG
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2017-09-21 10:44:26   Device          Heizung.Status_BAD_EG
     2017-09-20 04:30:00   cmd             1
     2017-09-20 04:30:00   cmd_event       timer_1
     2017-09-20 04:30:00   cmd_nr          1
     2017-09-21 10:44:26   e_Heizung.Status_BAD_EG_Heizung automatic
     2017-09-20 04:30:00   state           cmd_1
     2017-09-21 13:54:44   timer_01_c01    22.09.2017 04:30:00
     2017-09-21 13:54:44   timer_02_c01    21.09.2017 21:00:00
     2017-09-21 13:54:41   wait_timer      no timer
   condition:
     0          ReadingValDoIf($hash,'Heizung.Status_BAD_EG','Heizung') eq "automatic" and DOIF_time($hash,0,1,$wday,$hms)
     1          ReadingValDoIf($hash,'Heizung.Status_BAD_EG','Heizung') eq "automatic"
     2          ReadingValDoIf($hash,'Heizung.Status_BAD_EG','Heizung') eq "manuell"
   days:
   devices:
     0           Heizung.Status_BAD_EG
     1           Heizung.Status_BAD_EG
     2           Heizung.Status_BAD_EG
     all         Heizung.Status_BAD_EG
   do:
     0:
       0          set EinschaltTemp_BAD_EG [Heizung.Status_BAD_EG:TempTag]
     1:
       0          set EinschaltTemp_BAD_EG [Heizung.Status_BAD_EG:TempNacht]
     2:
       0          set EinschaltTemp_BAD_EG [Heizung.Status_BAD_EG:TempMan]
     3:
   helper:
     globalinit 1
     last_timer 2
     sleeptimer -1
   interval:
     0          -1
     1          0
   itimer:
     all         Heizung.Status_BAD_EG
   localtime:
     0          1506047400
     1          1506020400
   readings:
     0           Heizung.Status_BAD_EG:Heizung
     1           Heizung.Status_BAD_EG:Heizung
     2           Heizung.Status_BAD_EG:Heizung
     all         Heizung.Status_BAD_EG:Heizung
   realtime:
     0          04:30:00
     1          21:00:00
   regexp:
     all:
   state:
     STATE:
   time:
     0          [Heizung.Status_BAD_EG:Tag]
     1          [Heizung.Status_BAD_EG:Nacht]
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   triggertime:
     1506020400:
       localtime  1506020400
       hash:
     1506047400:
       localtime  1506047400
       hash:
Attributes:
   room       Heizungsraum
   wait       3:3:3


Umschalten auf manuell

Internals:
   DEF        Heizung.Status_BAD_EG:TempMan.* set Heizung.Status_BAD_EG Heizung manuell
   NAME       Heizung_BAD_EG.man
   NOTIFYDEV  Heizung.Status_BAD_EG
   NR         403
   NTFY_ORDER 50-Heizung_BAD_EG.man
   REGEXP     Heizung.Status_BAD_EG:TempMan.*
   STATE      active
   TYPE       notify
   READINGS:
     2017-09-21 13:54:44   state           active
Attributes:
   room       Heizungsraum



Setzt Nachts alles nochmal auf automatic

Internals:
   DEF        ([00:00]) (set Heizung.Status.* Heizung automatic)
   NAME       Heizung.auto
   NR         408
   NTFY_ORDER 50-Heizung.auto
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2017-09-20 00:00:00   cmd             1
     2017-09-20 00:00:00   cmd_event       timer_1
     2017-09-20 00:00:00   cmd_nr          1
     2017-09-20 00:00:00   state           cmd_1
     2017-09-21 13:54:44   timer_01_c01    22.09.2017 00:00:00
   condition:
     0          DOIF_time_once($hash,0,$wday)
   days:
   devices:
   do:
     0:
       0          set Heizung.Status.* Heizung automatic
     1:
   helper:
     globalinit 1
     last_timer 1
     sleeptimer -1
   itimer:
   localtime:
     0          1506031200
   realtime:
     0          00:00:00
   regexp:
     all:
   state:
     STATE:
   time:
     0          00:00:00
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1506031200:
       localtime  1506031200
       hash:
Attributes:
   room       Heizungsraum


Vielleicht hilft es jemandem!

Gruß
Eisix

en-trust

Jetzt klappt es. Fragt mich aber nicht warum, ich musste das Auto in AUTO abändern.
Zeitlich sind bei dieser Programmierung recht fix. Flexibel wäre mir hier lieber.
Daher die Frage an Eisix wie dieses Popup funktioniert bzw. die cfg ausschaut. Gerne würde ich die Sache mit dem Urlaub so gestalten, dass ich neben Urlaub ein Datum eingeben kann, wann ich wieder da bin, damit der Heizung / Motoren schon 2 Tage früher wieder auf Auto schalten können. Hab es gestern gemerkt, dass 18,5 Grad doch kalt ist ;o) und die Fussbodenheizung bekanntlich 2 Tage braucht.