Hauptmenü

Beschattungssteuerung

Begonnen von HHFHEM, 21 April 2018, 14:02:11

Vorheriges Thema - Nächstes Thema

HHFHEM

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.

gamauf

Hallo!
Ja, schau dir mal DOIF an, als Alternative zum AT

Ellert

#2
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


Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF