FHEM Forum

FHEM => Automatisierung => Thema gestartet von: thorschtn am 18 Mai 2016, 22:57:40

Titel: Party Modus (Aussetzen von Weekdaytimern) auf Knopfdruck
Beitrag von: thorschtn am 18 Mai 2016, 22:57:40
Ich wünschte mir, einige UZSUs/Weekdaytimer auf Knopfdruck temporär auszusetzen oder für einen definierten Zeitraum in eine Queue zu schreiben ohne sie auszuführen.

Bei einer Party sollen die über UZSU/WDT gesteuerten Rollläden (GPIO) im Erdgeschoss nicht heruntergefahren, das Haustürlicht (Homematic) nicht ausgeschaltet, der Rasensprenger (1-wire) nicht eingeschaltet und die Belüftung (CAN) eine Stufe hochgeschaltet werden. Diesen Modus möchte ich gerne auf Knopfdruck ein- und ausschalten können, die WDT dürfen also nur deaktiviert, nicht aber gelöscht werden. Zum Ende der Party mit Deaktivierung des Party-Modus sollten dann idealerweise alle ausgesetzten Schaltvorgänge nachgeholt werden.

Gibt es dazu schon Umsetzungen / geeignete Beispiele, die ich nachnutzen könnte? Oder wie könnte eine einfach zu implementierende Lösung aussehen?

Danke & viele Grüße

thorschtn
Titel: Antw:Party Modus (Aussetzen von Weekdaytimern) auf Knopfdruck
Beitrag von: SamNitro am 13 September 2016, 13:40:20
Hey da ich selber noch sehr neu auf dem gebiet bin, kann ich dir leider nur sagen wie du den Weekdaytimer aktivieren/deaktiviren kannst...
Ich habe das mit einem DOIF gelöst:
([PartyModus] eq "on") (set timer_xxx enable) DOELSE (set timer_xxx disable)
PartyModus=Dummy(on/off)
timer_xxx=Dein Weekdaytimer

Hoffe das hilft dir schon mal ein wenig weiter...
Gruß Patrick
Titel: Antw:Party Modus (Aussetzen von Weekdaytimern) auf Knopfdruck
Beitrag von: EIB-Fan am 13 September 2016, 20:49:29
Hallo thorschtn,

ich habe eine ähnlichen Bedarf mit dem Setzen eines zusätzlichen Readings pro Device gelöst. Hier wird der Sollzustand gespeichert und bei Bedarf abgerufen. Das heißt, dass du mit dem Party-ON-Befehl die Device in die gewünschten Zustände bringst und mit Party-OFF in den gespeicherten Soll-Zustand schaltest.

Beispiel zur Veranschaulichung:

DOIF schaltet den Partymodus


(
[Party] eq "on"
)
(set Lueftung on,set Sprenger off,set Haustuerlicht on)
DOELSEIF
(
[Party] eq "off"
)
(set Lueftung [Lueftung:soll],set Sprenger [Sprenger:soll],set Haustuerlicht [Haustuerlicht:soll])


Deine einzelnen DOIF zur Steuerung von Lüftung, Sprenger, Licht ... ergänzt du neben dem set-Befehl noch mit dem setreading wie folgt (Beispiel für Lüftung);


...
(set Lueftung on)
(setreading Lueftung soll on)
DOELSEIF
...
(set Lueftung off)
(setreading Lueftung soll off)


Must du natürlich für deinen Bedarf noch etwas anpassen.

Gruß Jens
Titel: Antw:Party Modus (Aussetzen von Weekdaytimern) auf Knopfdruck
Beitrag von: Prof. Dr. Peter Henning am 13 September 2016, 22:00:02
Hm, ich halte eher wenig davon, dies bei den einzelnen Devices abzulegen - der Wartungsaufwand wächst immens. Bei mir gibt es einen zentralen Housemaster = Perl-Programm, der von ganz unterschiedlichen Events getriggert werden kann und dann jeweils einen definierten Systemzustand setzt.

Dieser Zustand ist eng gekoppelt mit Szenarien für Außenlicht, Rollläden, Heizung und Alarmanlage (via Alarm-Modul).

Beispielsweise kann ich durch Tastendruck das Haus in Zustand "gesichert" versetzen - Tür und Hoftor werden elektronisch verriegelt, alle überwachten Fenster und Türen geprüft und die Alarmanlage so eingestellt, dass sie bei bestimmten Events weiche Alarme auslöst.

Oder ich wähle den Zustand "alarmgesichert" - dann werden zusätzlich harte Alarme scharf geschaltet.

Das Problem besteht also darin, sich die kompletten Systemzustände für "Urlaub", "Party", was auch immer zu überlegen. Und dann die Übergänge dazwischen zu realisieren. Wenn ich nicht so viele Baustellen hätte, würde ich ein entsprechendes HouseMaster-Modul schreiben, das ganz konkrete Konfigurationen für beliebig viele FHEM-Devices abspeichern kann.

LG

pah
Titel: Antw:Party Modus (Aussetzen von Weekdaytimern) auf Knopfdruck
Beitrag von: EIB-Fan am 14 September 2016, 07:05:40
Guten Morgen,

das mit dem Housemaster klingt nicht schlecht. Habe auch schon in solch eine Richtung gedacht. Allerdings sind meine Programmierkenntnisse dazu nicht umfassend genug.  :(

Meine beschriebene Lösung praktiziere ich insgesamt bei 5 Devices für die ein Sollwert parallel geschrieben wird. Hier ist der Aufwand noch überschaubar. Viel mehr sollten es natürlich nicht werden ...

Gruß Jens