Hallo Forum,
komme leider nicht weiter. Ich betreibe 11 Homematic Rolladenaktoren in 3 Gruppen. Diese laufen eigentlich schon seit einigen Jahren mit der sunrise sunset Funktion so wie sie sollen. Nun möchte ich endlich in die Definition die Wochenend- und Feiertag/Ferien Funktion aufnehmen. Dabei möchte ich gerne die vorhandene Synthax übernehmen und die fehlenden Werte integrieren. Alles was ich bisher gefunden habe pass nicht zu der vorhandenen Definition. Die aktuelle sieht so aus:
define WZMMorgnes at*{sunset("real",2600,"17:00","22:27")} set Wohnzimmer off
nun soll dieser part hinzugefügt werden:
{ if ( !($we) && !(Value("NRW_Ferientag")) ) { fhem("set Rollo hoch");; } }
Also Ziel ist es, dass die Rolladen an Wochenenden und Ferien garnicht oder später hoch gehen.
Kann jemand helfen?
Gruuß
Robi72
Ich würde ein DOIF draus machen
ich hab das folgendermaßen:
#Automatik für Wochentag, Wochenende und Feiertag
define at_sunset_Zentral_ab at *{sunset()} set Zentral closes;; set TelegramBot message Jalousien heruntergefahren!
define at_sunrise_Zentral_auf_wochentag at *{sunrise(0,"06:00","07:30")} {if (($we != 1) && ($wday != 5)) { fhem("set Zentral opens;; set TelegramBot message Jalousien hinaufgefahren! (Wochentag) ") } }
define at_sunrise_Zentral_auf_wochenende_feiertag at *09:00:00 {if (($we == 1) || ($wday == 5)) { fhem("set Zentral opens;; set TelegramBot message Jalousien hinaufgefahren! (Freitag/Wochenende/Feiertag) ") } }
bevor jemand fragt: der part mit wday 5 (freitag) ist weil meine holde am FR frei hat ;)
Zitat von: Robi72 am 12 Februar 2018, 01:29:12
Kann jemand helfen?
Hi Robi72,
was geht denn nicht?
Gruß Otto
Hallo und danke dass ihr euch der Sache annehmt.
@maci: danke für den Code, mir fehlte der Aufbau.
@Otto: wie gesagt, habe ich nur die Implementierung mit der sunrise/sunset Funktion realisiert und habe nirgends ein Beispiel gefunden wie ich das Wochenende bzw. einen Ferienkalender in den Code integriere. Also gelinde gesagt mir fehlte die Art und Weise der Klammersetzung. Ich möchte gerne die Jalousien am Wochenende/Feiertagen/Ferien gar nicht oder erst später hochfahren lassen. Momentan wird das ganz spartanisch so gelöst, dass ich einfach den HM Lan Adapter am Vorabend Stromlos mache, damit die Rollos am nächsten Morgen nicht zu unchristlicher Zeit hochfahren :-\ , Gnade Gott wenn ich es vergesse!! (es darf gelacht werden ;D).
Das ist natürlich nicht im Sinne des Erfinders. Ich werde mal versuchen auf Grundlage von macis Code meinen Codeaufbau abzuändern, wobei mir noch nicht ganz klar ist, wie ich definiere, dass der Ferienkalender berücksichtig werden soll. Eine weitere Idee ist es, wenn das ganze läuft, an der Wandsteuerung den Kalender aufzurufen und dort, z.B. für den nächsten Morgen eine Art Makierung/Flag zu setzen damit die Jalousien nicht hochfahren. Für den Fall dass am nächsten Tag unvorhergesehen Feiertag / Frei ist :D
Gruß
Robi72
Hallo Robi72,
zentraler Punkt ist eigentlich $we.
Es gibt das Modul holiday (https://fhem.de/commandref_DE.html#holiday).
Und es gibt ein Attribute
Zitatholiday2we
Wenn dieses Attribut gesetzt wurde, dann wird die $we Variable als "true" betrachtet, wenn der Wert der holiday Variable zu diesem Attribut nicht "none" ist.
Falls es eine Komma getrennte Liste ist, dann ist es wahr, falls einer der referenzierten Instanzen nicht "none" ist.
Beispiel:
attr global holiday2we hessen
Damit ist an Ferientagen auch $we. So habe ich das gemacht und alles ist gut für mich.
Gruß Otto