FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Robi72 am 12 Februar 2018, 01:29:12

Titel: Rolladensteuerung Wochenenede und Ferien
Beitrag von: Robi72 am 12 Februar 2018, 01:29:12
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


Titel: Antw:Rolladensteuerung Wochenenede und Ferien
Beitrag von: maci am 13 Februar 2018, 14:52:55
Ich würde ein DOIF draus machen
Titel: Antw:Rolladensteuerung Wochenenede und Ferien
Beitrag von: fl_Indigo am 13 Februar 2018, 17:47:14
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 ;)
Titel: Antw:Rolladensteuerung Wochenenede und Ferien
Beitrag von: Otto123 am 13 Februar 2018, 19:23:45
Zitat von: Robi72 am 12 Februar 2018, 01:29:12

Kann jemand helfen?
Hi Robi72,

was geht denn nicht?

Gruß Otto

Titel: Antw:Rolladensteuerung Wochenenede und Ferien
Beitrag von: Robi72 am 17 Februar 2018, 11:46:22
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
Titel: Antw:Rolladensteuerung Wochenenede und Ferien
Beitrag von: Otto123 am 17 Februar 2018, 12:20:11
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