Rolladenautomatisierung Sunrise/sundawn

Begonnen von stratege-0815, 21 Mai 2019, 16:03:49

Vorheriges Thema - Nächstes Thema

stratege-0815

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

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Fritz Muster

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
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

stratege-0815

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.

stratege-0815

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

Damian

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

stratege-0815

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