Hallo zusammen,
ich wurschtel ja seit Jahren schon in FHEM herum, bezeichne und fühle mich aber immer noch als Anfänger. Einerseits mache ich nur sporadisch etwas und andererseits bin ich nicht so der code scripting Typ.
Ich habe 6 Rolläden die mittels funk über das Rademacher modul gesteuert werden. Bisher mit festen Zeiten. dies würde ich gerne eleganter machen und einerseits Sonnenauf- und Untergang mit einbeziehen und zudem das ganze noch mittels Zufallswert variieren.
Auf bei Sonnenaufgang, aber spätestens um 6:30 +/- 2 Minuten
Zu bei Sonnenuntergang, aber frühestens um 22:30 +/- 2 Minuten
Zusätzlich will ich noch die Terrassentüre mit einem HOMEMATIC HM-SEC-RHS abfragen, so das wenn diese als "auf" gekennzeichnet ist dort der Rolladen nicht herunterfährt. (während man z.B. im Garten sitzt)
War das soweit verständlich formuliert? Hat jemand ein ähnliches szenario aus dem ich mir meine Lösung ableiten könnte?
LG
Jan
Hallo Jan,
Schau Dir mal das AutoShuttersControl Modul an.
https://forum.fhem.de/index.php/topic,99980.0.html
Bitte Commandref gut lesen.
Grüße
Hallo Jan,
sofern 5 Deiner insgesamt 6 Rolladen zu den gleichen Bedingungen fahren sollen und lediglich der 6. (Wohnzimmer) eine Sonderfunktion haben soll ist das Ganze über 2 DOIF's machbar.
Das erste DOIF könnte so aussehen:
define di_Rolladen_Gsmt DOIF ([{sunrise(0,"04:30","06:30")}]) (set Rollladen_1 auf) (set Rollladen_2 auf) (set Rollladen_3 auf) (set Rollladen_4 auf) (set Rollladen_5 auf) (set Rollladen_6 auf)
DOELSEIF (([{sunset(0,"22:30","23:00")}]) (set Rollladen_1 auf) (set Rollladen_2 zu) (set Rollladen_3 zu) (set Rollladen_4 zu) (set Rollladen_5 zu)
Damit fahren alle Rollladen bei Sonnenaufgang hoch, aber frühestens um 4:30, und wenn bis 6:30 kein Sonnenaufgang war, fahren sie trotzdem um 6:30 hoch. Runter fahren alle bis auf Wohnzimmer bei Sonnenuntergang aber nicht vor 22:30 und spätestens um 23:00
Ich nehme mal an das jeder Rolladen eine eigene Zufallszeit +/- 2 Minuten bekommen soll. Dazu einfach die folgenden Attribute setzen.
attr di_Rolladen_Gsmt timerWithWait 1
attr di_Rolladen_Gsmt wait rand(120),rand(120),rand(120),rand(120),rand(120),rand(120):rand(120),rand(120),rand(120),rand(120),rand(120)
Jetzt noch den Sonderfall "Wohzimmer Rolladen schließen."
define di_Rolladen_zu_Wz DOIF (([{sunset(0,"22:30","23:00")}] and [Türkontakt] eq "zu") (set Rollladen_6 zu)
Auch hier wieder über die Attribute die Zufallszeit einstellen
attr di_Rolladen_zu_Wz timerWithWait 1
attr di_Rolladen_zu_Wz wait rand(120)
Sollten zukünftig noch weitere Funktionen wie z.B. Beschattung angedacht sein, so würde ich aber empfehlen das Ganze etwas anders aufzubauen.
Viele Grüße Fritz
Danke für die Hinweise, ich werde wahrscheinlich am Wochenende mal Zeit haben zu basteln. Beschattung ist kein Thema in fhem. Dafür habe ich eine Szene in Apple Home, die ich bei bedarf morgens wörtlich aufrufe.
Zitat von: Fritz Muster am 22 Mai 2019, 09:40:18
Hallo Jan,
sofern 5 Deiner insgesamt 6 Rolladen zu den gleichen Bedingungen fahren sollen und lediglich der 6. (Wohnzimmer) eine Sonderfunktion haben soll ist das Ganze über 2 DOIF's machbar.
Das erste DOIF könnte so aussehen:
....
Sollten zukünftig noch weitere Funktionen wie z.B. Beschattung angedacht sein, so würde ich aber empfehlen das Ganze etwas anders aufzubauen.
Viele Grüße Fritz
Hallo Fritz,
tatsächlich mache ich erst jetzt hier weiter. Noch eine Frage zu dem DOIF, werden die Rollladen dann alle nacheinander abgearbeitet?
Also Rolladen1 +/- 2min dann Rolladen2 +/- 2min dann Rolladen3 +/- 2mmin etc. etc. ?
Gruß
Jan
Zitat von: stratege-0815 am 07 November 2019, 13:56:49
Hallo Fritz,
tatsächlich mache ich erst jetzt hier weiter. Noch eine Frage zu dem DOIF, werden die Rollladen dann alle nacheinander abgearbeitet?
Also Rolladen1 +/- 2min dann Rolladen2 +/- 2min dann Rolladen3 +/- 2mmin etc. etc. ?
Gruß
Jan
ja
Zitat von: Fritz Muster am 22 Mai 2019, 09:40:18
Hallo Jan,
sofern 5 Deiner insgesamt 6 Rolladen zu den gleichen Bedingungen fahren sollen und lediglich der 6. (Wohnzimmer) eine Sonderfunktion haben soll ist das Ganze über 2 DOIF's machbar.
Das erste DOIF könnte so aussehen:
define di_Rolladen_Gsmt DOIF ([{sunrise(0,"04:30","06:30")}]) (set Rollladen_1 auf) (set Rollladen_2 auf) (set Rollladen_3 auf) (set Rollladen_4 auf) (set Rollladen_5 auf) (set Rollladen_6 auf)
DOELSEIF (([{sunset(0,"22:30","23:00")}]) (set Rollladen_1 auf) (set Rollladen_2 zu) (set Rollladen_3 zu) (set Rollladen_4 zu) (set Rollladen_5 zu)
Damit fahren alle Rollladen bei Sonnenaufgang hoch, aber frühestens um 4:30, und wenn bis 6:30 kein Sonnenaufgang war, fahren sie trotzdem um 6:30 hoch. Runter fahren alle bis auf Wohnzimmer bei Sonnenuntergang aber nicht vor 22:30 und spätestens um 23:00
Ich nehme mal an das jeder Rolladen eine eigene Zufallszeit +/- 2 Minuten bekommen soll. Dazu einfach die folgenden Attribute setzen.
attr di_Rolladen_Gsmt timerWithWait 1
attr di_Rolladen_Gsmt wait rand(120),rand(120),rand(120),rand(120),rand(120),rand(120):rand(120),rand(120),rand(120),rand(120),rand(120)
Jetzt noch den Sonderfall "Wohzimmer Rolladen schließen."
define di_Rolladen_zu_Wz DOIF (([{sunset(0,"22:30","23:00")}] and [Türkontakt] eq "zu") (set Rollladen_6 zu)
Auch hier wieder über die Attribute die Zufallszeit einstellen
attr di_Rolladen_zu_Wz timerWithWait 1
attr di_Rolladen_zu_Wz wait rand(120)
Sollten zukünftig noch weitere Funktionen wie z.B. Beschattung angedacht sein, so würde ich aber empfehlen das Ganze etwas anders aufzubauen.
Viele Grüße Fritz
Wie kann ich das für nur einen Rolladen umsetzen und trotzdem die Zufallszeit +/- 2 Minuten verwenden? Die wird hier ja nur "zwischen" die Aktionen gepackt. Ich möchte gerne die Rollladen individuell konfigurieren können.
Gruß
Jan