DOIF Überprüfung Anwesenheitssimulation

Begonnen von timtom, 25 Mai 2021, 22:03:38

Vorheriges Thema - Nächstes Thema

timtom

Hallo zusammen,

mit Hilfe des Forums schalte ich mehrere HUE-Lichter, wenn ich nicht zu Hause bin:
define rand_Anwesenheitssimulation RandomTimer *{sunset_abs()} HUEDevice12345 23:59:00 1800
setuuid rand_Anwesenheitssimulation 5...
attr rand_Anwesenheitssimulation disableCond (ReadingsVal("ZuhauseStatus","state","Auto") eq "Zuhause")
attr rand_Anwesenheitssimulation room Wohnzimmer
attr rand_Anwesenheitssimulation switchmode 800/200


Jetzt habe ich das Problem, dass unter bestimmten Voaussetzungen Lichter angehen.
1) Die LED, die über den RGBWW_Controller hier aus dem Forum gesteuert werden, gehen automatisch an, wenn der Router neu startet bzw. die WLAN-Verbindung mal weg ist.
2) Tradfri-Lichter gehen nach Stromausfall automatisch an.
...

Daher habe ich ein DOIF, das bei Abwesenheit alle Lichter jede Stunde ausschaltet:
define di_AlleLichterAus DOIF ([:00] and [ZuhauseStatus:state] ne "Zuhause")\
  (set structure_AlleLichter off)
setuuid di_AlleLichterAus 5...
attr di_AlleLichterAus do always


Damit das jetzt jedoch nicht mit der rand_Anwesenheitssimulation kollediert, wollche ich das DOIF für diese Zeit pausieren.
define di_AlleLichterAus DOIF ([00:01:00]-[{sunset_abs()}] and [:00] and [ZuhauseStatus:state] ne "Zuhause")
Würde das so gehen? Irgendwie bin ich gerade zu blöd, um das zu testen :(

Damian

besser so:

[00:01-{sunset_abs()}]...

Aber, du solltest besser die Ursache beheben, statt die Symptome.

Die LED-Lichter müssen erst gar nicht angehen, wenn keiner zuhause ist. Auf die Tradfir-Lichter kannst du bestimmr auch direkt triggern, um sie sofort auszuschalten.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

timtom

Hi, danke.

Das mit der Ursache ist so eine Sache. Recht hast du aber. Da ich mittlerweile auch keine IT Steckdosen mehr habe, müsste ich eigentlich auf das pauschale Ausschalten verzichten können.

Ich muss mal gucken, über welches Event ich erkennen kann, dass die Tradfri an sind. Eigentlich wollte ich über onoff gehen, aber dass geht nicht in Kombination mit Alexa.

Bei den LED bin ich etwas ratlos. Alle paar Wochen verlieren die komplett die Verbindung zum WLAN. Wenn ich die dann manuell von Router trenne, geht es weiter kurz. Besser war es dann immer, den Router komplett neu zu starten. Dann gehen die LED aber standardmäßig an. Mir fällt leider spontan nichts ein, wie ich hier an die Ursache ran gehen kann.

timtom

Ich habe jetzt mal versucht das alles ohne die Struktur zu lösen. Die Tradfr schalte ich jetzt gezielt zwischen Mitternacht und Sonnenuntergang aus, wenn ich nicht Zuhause. Alles mit einer Verzögerung von 35Sek, da ich noch ein Licht habe, das 30Sek an geht, wenn ich nach Hause komme und ohne das wait direkt wieder ausgeschaltet werden würde.
define di_AlleLichterAus DOIF ([ZuhauseStatus:state] ne "Zuhause" and [00:01-{sunset_abs()}] and ["^HUEDevice:^onoff:.1$"])\
  (set $DEVICE off)
attr di_AlleLichterAus do always
attr di_AlleLichterAus wait 35


Bei den beiden RGBWW_Controllern habe ich das Reading config-color-startup_color auf 0,0,0 gesetzt.

Das sollte es (hoffentlich) gewesen sein ;) Danke für die Unterstützung hier im Forum.