Hallo,
Frage an die Profis. Lässt sich dieser Sachverhalt auch "eleganter" lösen. Wird alle 15 Minuten über einen at-Befehl ausgeführt. Wurde noch nicht getestet, nur angedacht.
{my $cond=ReadingsVal("Wetter","condition",""); my $temp=ReadingsVal("Wetter","temperature",""); my $hm =sprintf
("%02d:%02d",$hour,$min); if ($hm gt "9:30" && $hm lt "20:00" && Value("BeschattungSZ") eq "on" && Value("Roll_SZ")eq "Up" && $cond eq "heiter" && $temp>25) {fhem ("set Roll_SZ Down80")}}
Für Rückmeldungen besten Dank.
Hallo!
Ja, schau dir mal DOIF an, als Alternative zum AT
Ich experimetiere gerade mit der Beschattungssteuerung meines Dachfensters (Südseite). Die derzeitige Lösung sieht so aus
defmod sonneDF DOIF ## 1\
(isInRange([$SELF:A_e1,"90"], [?AziInt], [$SELF:A_a1,"270"]) and [HM_520F82:brightness,"10000"] > [$SELF:B_e1,"20000"] and [?RTDN1_ArbZ:measured-temp,"19.0"] > [$SELF:T_ie1,"23"] and [?CUL_HM_HTO1:temperature,"19.0"] > [$SELF:T_ae1,"20"] and [?HM_467804:contact] eq "closed (to VCCU)" and [?AnwStatus_di] and $week > [$SELF:K_W_ein] and $week < [$SELF:K_W_aus])\
(set RolloDach_di cmd_4)\
## 2\
DOELSEIF (([18:15-00:00] or [AziInt] > [$SELF:A_a1,"270"]) and [?AnwStatus_di] and [?$SELF] =~ "cmd_1|initialized" and $week > [$SELF:K_W_ein] and $week < [$SELF:K_W_aus])\
(set RolloDach_di cmd_2)
attr sonneDF alias 00_Roll_ArbZ_Dach
attr sonneDF checkReadingEvent 1
attr sonneDF group Rolladen
attr sonneDF icon helper_doif
attr sonneDF readingList A_e1 A_a1 B_e1 T_ie1 T_ae1 W_e1 K_W_ein K_W_aus
attr sonneDF room 1_Rolladen
attr sonneDF setList A_e1:knob,min:0,max:360,width:50,height:50,step:1,lineCap:round,angleOffset:180,cursor:3,thickness:.3,bgColor:darkgrey \
A_a1:knob,min:0,max:360,width:50,height:50,step:1,lineCap:round,angleOffset:180,cursor:3,thickness:.3,bgColor:darkgrey \
B_e1:selectnumbers,1,0.0625,140000,0,log10 \
T_ie1:selectnumbers,15,.5,25,1,lin \
T_ae1:selectnumbers,15,.5,25,1,lin \
W_e1:selectnumbers,1,1,60,0,lin\
K_W_ein:selectnumbers,12,1,20,0,lin\
K_W_aus:selectnumbers,36,1,45,0,lin
attr sonneDF wait $SELF:W_e1,"45"]*60
attr sonneDF webCmd A_e1:A_a1:B_e1:T_ie1:T_ae1:W_e1:K_W_ein:K_W_aus
attr sonneDF webCmdLabel Azimut Ein:Aus:Hell Ein:T_in Ein:T_out Ein:Wartezeit Ein\
:Kalenderwoche Ein:Aus
attr sonneDF widgetOverride wait|readingList|setList|webCmd|webCmdLabel:textField-long
setstate sonneDF cmd_2
setstate sonneDF 2018-04-21 17:58:47 A_a1 265
setstate sonneDF 2018-04-21 08:32:57 A_e1 95
setstate sonneDF 2018-04-21 08:31:40 B_e1 48697
setstate sonneDF 2018-04-21 18:02:52 Device HM_520F82
setstate sonneDF 2018-04-20 20:10:12 K_W_aus 44
setstate sonneDF 2018-04-20 20:17:11 K_W_ein 15
setstate sonneDF 2017-10-01 18:25:15 T_ae1 17.5
setstate sonneDF 2017-10-01 18:25:03 T_ie1 22.5
setstate sonneDF 2017-10-01 19:35:02 W_e1 10
setstate sonneDF 2018-04-21 17:55:20 cmd 2
setstate sonneDF 2018-04-21 17:55:20 cmd_event sonneDF
setstate sonneDF 2018-04-21 17:55:20 cmd_nr 2
setstate sonneDF 2018-04-21 18:00:47 e_AziInt_STATE 263
setstate sonneDF 2018-04-21 18:02:52 e_HM_520F82_brightness 31880.52
setstate sonneDF 2018-04-21 17:58:47 e_sonneDF_A_a1 265
setstate sonneDF 2018-04-21 17:58:47 e_sonneDF_STATE cmd_2
setstate sonneDF 2018-04-21 17:51:10 mode enabled
setstate sonneDF 2018-04-21 17:55:20 state cmd_2
setstate sonneDF 2018-04-21 17:51:10 timer_01_c02 21.04.2018 18:15:00
setstate sonneDF 2018-04-21 17:51:10 timer_02_c02 22.04.2018 00:00:00
Und hier etwas für Anfänger :)
defmod di_Bad_b DOIF ([TH_Bad_HM:measured-temp] > 23 and [Sonne_s] eq "on" and [12:00-21:00]) (set R_Bad 30)
Sonne_s zeigt an, ob Sonne scheint.
Ansonsten gibt es wohl ein Modul für Rollladensteuerung inkl. Beschattung https://forum.fhem.de/index.php/topic,73964.0.html