Hallo zusammen,
ich habe insgesamt 9 HM-LC-Bl1PBU-FM Rolladenaktoren im Obergeschoss
OG.Rollo.Buero.Tuer
OG.Rollo.Diele.Fenster
OG.Rollo.Elternbad.Fenster
OG.Rollo.Henna.Fenster
OG.Rollo.Kinderbad.Fenster
OG.Rollo.Schlafzimmer.Fenster
OG.Rollo.Schlafzimmer.Tuer
OG.Rollo.Shirin.Fenster
OG.Rollo.Treppe.Fenster
Diese habe ich auch alle in einer "structure" (OG.Alle.Rollos)
room OG.Rollo.Buero.Tuer OG.Rollo.Diele.Fenster OG.Rollo.Elternbad.Fenster OG.Rollo.Henna.Fenster OG.Rollo.Kinderbad.Fenster OG.Rollo.Schlafzimmer.Fenster OG.Rollo.Schlafzimmer.Tuer OG.Rollo.Shirin.Fenster OG.Rollo.Treppe.Fenster
Weiterhin habe ich für das Zeitgesteuerte auf und zu fahren mehrere "AT" definiert, und genau da liegt mein Problem. Ich denke das kann man auch eleganter lösen aber ich weiß nicht wie.
Also,
1. alle Rollos an Werktagen morgens um 07:30 Uhr auf, an Wochenenden, Feiertagen morgens um 09:00 Uhr auf,
2. bei Schulferien nur die Rollos "OG.Rollo.Henna.Fenster" und "OG.Rollo.Shirin.Fenster" um 09:00 Uhr auf alle anderen wie unter 1.
3. bei Nachtschicht nur die Rollos "OG.Rollo.Schlafzimmer.Fenster" und "OG.Rollo.Schlafzimmer.Tuer" um 13:00 Uhr auf, alle anderen wie unter 1. oder 2.
Div. Kalender sind vorhanden:
ical Nachtschicht
ical NRW_Schulferien
Feiertage in holiday
Im Moment mache ich das so:
define OG.Rollos_alle_auf_WT at *07:30:00 { if ( !($we) && !(Value("NRW_Ferientag")) ) { fhem("set OG.Rollo.Buero.Tuer OG.Rollo.Diele.Fenster OG.Rollo.Elternbad.Fenster OG.Rollo.Henna.Fenster OG.Rollo.Kinderbad.Fenster OG.Rollo.Shirin.Fenster OG.Rollo.Treppe.Fenster on");; } }
define OG.Rollos_alle_auf_WE at *09:00:00 { if ($we) { fhem("set OG.Rollo.Buero.Tuer OG.Rollo.Diele.Fenster OG.Rollo.Elternbad.Fenster OG.Rollo.Henna.Fenster OG.Rollo.Kinderbad.Fenster OG.Rollo.Shirin.Fenster OG.Rollo.Treppe.Fenster on"); } }
define OG.Rollos_alle_auf_Ferien at *09:00:00 { if ( Value("NRW_Ferientag") ) { fhem("set OG.Rollo.Buero.Tuer OG.Rollo.Diele.Fenster OG.Rollo.Elternbad.Fenster OG.Rollo.Henna.Fenster OG.Rollo.Kinderbad.Fenster OG.Rollo.Shirin.Fenster OG.Rollo.Treppe.Fenster on"); } }
define OG.Rollos.Schlafzimmer.auf.WT at *07:30:00 { if ( !($we) && !(Value("Schichtplan_Nacht")) ) { fhem("set OG.Rollo.Schlafzimmer.Fenster,OG.Rollo.Schlafzimmer.Tuer on");; } }
define OG.Rollos.Schlafzimmer.auf.WE at *09:00:00 { if ( ($we) && !(Value("Schichtplan_Nacht")) ) { fhem("set OG.Rollo.Schlafzimmer.Fenster,OG.Rollo.Schlafzimmer.Tuer on"); } }
define OG.Rollos.Schlafzimmer.auf.Nachtschicht at *13:00:00 { if (Value("Schichtplan_Nacht") ) { fhem("set OG.Rollo.Schlafzimmer.Fenster,OG.Rollo.Schlafzimmer.Tuer on");; } }
Das sind 6 "AT" und wie gesagt ich denke das kann man alles in einer "AT" oder "DoIf" machen, oder gibt es sonst noch Möglichkeiten das elegant zu lösen.
Ich würde mich sehr freuen wenn mir jemand dabei hilft dies zu realisieren. DANKE
Sicher kann man das zusammenfassen, ob danach einfacher zu pflegen ist wage ich zu bezweifeln.
Da ich kein HM zum testen habe: funktioniert neuerdings HM-Set fuer mehrere Geraete mit Leerzeichen als Trenner, oder braucht man wie sonst das Komma dafuer?
Zitat von: rudolfkoenig am 26 Februar 2017, 17:16:37
Sicher kann man das zusammenfassen, ob danach einfacher zu pflegen ist wage ich zu bezweifeln.
Da ich kein HM zum testen habe: funktioniert neuerdings HM-Set fuer mehrere Geraete mit Leerzeichen als Trenner, oder braucht man wie sonst das Komma dafuer?
Moin,
da ich ja noch Anfänger bin werde ich das dann so lassen.
Mit leerzeichen als Trenner funktioniert bei mir nicht, ich muß die Geräte mit einem Komma trennen.
Zitat von: ms_steini am 26 Februar 2017, 15:09:31
...Diese habe ich auch alle in einer "structure" (OG.Alle.Rollos)...
Dann benutz doch auch die structure, wenn Du alle Rollos fahren willst !?
Ist schon viel kürzer und übersichtlicher. ;)
Zitat von: Hollo am 28 Februar 2017, 09:22:25
Dann benutz doch auch die structure, wenn Du alle Rollos fahren willst !?
Ist schon viel kürzer und übersichtlicher. ;)
ja, dann müsste ich für die Schlafzimmer-Rollos eine extra "structure" machen... Das ginge auch. Es würde dann aber trotzdem bei den 6 definierten AT's bleiben
Ich habe alle benötigten Zeiten bei mir in ein DOIF geschrieben und lasse eine Funktion aufrufen die in einer 99_myUtils steht. Dort prüfe ich noch mal die Zeit und lasse dann die entsprechende Aktion ausführen.
Wäre auch ein Weg.
Desweiteren empfehle ich eine structure pro Raum und dann eine pro Etage in die du die structuren der Räume rein machst.
hier gab es mal was smartes, leider ging es da nicht weiter...
"Smarte Rolladensteuerung"
https://forum.fhem.de/index.php/topic,58904.msg502937.html#msg502937
war ein prima Ansatz, ging leider nicht weiter
wäre einfach klasse wenn ohne viel Eigenarbeit mit ein paar attr eine steuerung aufgebaut werden könnte.
ist doch fast immer das gleiche.
wann rauf bzw runter
darf nicht runter gehen wenn Türsensor auf auf steht.
bzw solll hochfahren wenn Tür von innen geöffnet wird, Hund muss raus, wenn Tür dann wieder verschlossen wird geht sie halt wieder runter.
Verschattung bei praller Sonne.
der WAF wäre super weil man einfach bei der Def des Rollos die passenden attr ausgesucht werden.