Kann ich meinen Hausstatus auf mehrere DOIFs aufteilen (gleiches Event)

Begonnen von Gunther, 22 November 2017, 16:44:18

Vorheriges Thema - Nächstes Thema

Gunther

Ich arbeite mit den klassischen Homestatuswerten 1-4.

Jetzt stehe ich gerade vor der Entscheidung: ein DOIF je Hausstatus oder lieber je nach "Gerätekategorie" eines um es übersichtlicher zu halten.

Also: Ich habe für meine Heizungssteuerung ein DOIF.
Ist es problematisch, wenn mehrere DOIFs parallel auf ein Event reagieren und dann viele unterschiedliche Dinge gleichzeitig anstossen (Heizung, Licht, WLAN, etc.)?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Damian

Zitat von: Gunther am 22 November 2017, 16:44:18
Ist es problematisch, wenn mehrere DOIFs parallel auf ein Event reagieren und dann viele unterschiedliche Dinge gleichzeitig anstossen (Heizung, Licht, WLAN, etc.)?

Nein. Das Einzige, was problematisch sein kann, ist eher die Tatsache, dass aufgrund eines Auslösers (Timer/Event) mehrere Geräte per Funk geschaltet werden und sich ggf. stören können.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Gunther

Gibt es da Tipps, wie man so etwas möglichst geschickt aufbaut? (Pausen einbauen, etc.)
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Damian

Zitat von: Gunther am 22 November 2017, 17:16:06
Gibt es da Tipps, wie man so etwas möglichst geschickt aufbaut? (Pausen einbauen, etc.)
Das hängt von vielen Faktoren ab. Wenn unidirektionale Devices z. B. FS20 über den selben CUL gesendet werden, dann sollte es unkritisch sein, da sie sequentiell nacheinander gesendet werden. Bei HM gibt es einen Rückkanal, bei dem Nachrichten zurückkommen und den Funkkanal zusätzlich belasten. Bei bestimmten HM-Geräten gibt es auch eingebaute Zufallsverzögerung, um das Problem zu entzerren. Solange die Nachrichten ankommen, wird es wohl kein Problem darstellen. Wenn du es ohnehin auf mehrere Module aufteilst, dann kann du dort unterschiedliche kurze Verzögerungen einbauen - z. b. über kurze waits.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Gunther

Danke das hilft!

Ich möchte gerne einen Dummy nehmen, in dem ich die Minuten (oder Sekunden) einstelle, die ein wait ausgeführt werden soll.

Beispiel:
Dummy auf 60 Minuten gesetzt
Mein DOIF schaltet bei Heimstatus = 2 das WLAN aus.
Das Ausschalten soll aber erst nach den 60 Minuten aus dem Dummy ausgeschaltet werden.

kann ich nun mit so etwas wie einem
attr ... wait [Dummy]
arbeiten?

EDIT: Habe gerade das gefunden:
ZitatStatt Sekundenangaben können ebenfalls Stati, Readings in eckigen Klammen, Perl-Funktionen sowie Perl-Berechnung angegeben werden. Dabei werden die Trennzeichen Komma und Doppelpunkt in Klammern geschützt und gelten dort nicht als Trennzeichen.
Diese Angaben können ebenfalls bei folgenden Attributen gemacht werden: cmdpause, repeatcmd, repeatsame, waitsame, waitdel

Beispiel:

attr my_doif wait 1:[wether:state]*3:rand(600)+100,Attr("mydevice","myattr","")
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Per

Zitat von: Gunther am 22 November 2017, 16:44:18Jetzt stehe ich gerade vor der Entscheidung: ein DOIF je Hausstatus oder lieber je nach "Gerätekategorie" eines um es übersichtlicher zu halten.
Eigentlich gibt es zwei Varianten, um die Übersicht zu behalten:
1. Je Event ein DOIF
2. Je Device ein DOIF
Letzteres ist die von mir bevorzugte Version. Bei allen anderen kann es zu gegenseitigen Beeinflussungen kommen, die du nicht mehr überblicken kannst.

Zitat von: Gunther am 22 November 2017, 16:44:18Ist es problematisch, wenn mehrere DOIFs parallel auf ein Event reagieren und dann viele unterschiedliche Dinge gleichzeitig anstossen (Heizung, Licht, WLAN, etc.)?
Sind ja nicht wirklich gleichzeitig. Wenn du o.a. beherzigst, gibt es auch wenig Probleme.