Frage zu einem vorhandenen DOIF (Erweitern)

Begonnen von Fabiango, 27 Oktober 2019, 15:37:08

Vorheriges Thema - Nächstes Thema

Fabiango

Hallo zusammen,

ich habe ein DOIF welches ich gerne etwas optimieren möchte und eine weitere Abfrage integrieren möchte.

Aktuell ist es wie folgt:
Ist der Automatikschalter "du_Licht_Master" an, die Uhrzeit von Mo-Fr erreicht und das Tageslicht "Dunkel" wird eine Kugellampe auf Dimmer 43% eingeschalten.
Ist der Automatikschalter "du_Licht_Master" an und das Tageslicht erreicht den Punkt "Hell" wird die Kugellampe wieder auschgeschalten.

Nun möchte ich das DOIF dahingehend erweitern das es spätestens nach 30 Minuten die Kugellampe selber ausschaltet, sollte das Tageslicht noch nicht hell sein.

Könntet ihr mir sagen wie ich das in dem vorhandenen DOIF am einfachsten realisieren kann?

Es ist ja nie bekannt welches der beiden Sachen zuerst eintrifft (30 Minuten oder Tageslicht Hell)
Frägt ein DOIF immer wieder von vorne ab bis ein weiteres DOELSEIF eintriitt?

Stehe hier irgendwie auf dem Schlauch.


[du_Licht_Master] eq "an" and [[du_Licht_Zeit_1_an]|8] and [du_Tageslicht] eq "dunkel") (set flKugelLampe dim43%)
DOELSEIF
([du_Licht_Master] eq "an" and [du_Tageslicht] eq "hell") (set flKugelLampe off)



Internals:
   FUUID      5d249cc2-f33f-b42a-99d9-2a174c0cab61d117
   NAME       du_Tageslicht
   NR         308
   STATE      hell
   TYPE       dummy
   READINGS:
     2019-10-27 06:32:53   state           hell
Attributes:
   setList    hell dunkel



Internals:
   FUUID      5d249b26-f33f-b42a-9b96-d32d07cefb3fdfa8
   NAME       du_Licht_Zeit_1_an
   NR         304
   STATE      05:20
   TYPE       dummy
   READINGS:
     2019-10-16 18:30:38   state           05:20
Attributes:
   alias      Aufstehen (Mo-Fr) - Kugel EIN
   group      Automation (Licht)
   icon       icoUhr
   room       Automation
   setList    state:time
   sortby     02
   webCmd     state

CBSnake

Hi,


(
[du_Licht_Master] eq "an"
and
(
[du_Tageslicht] eq "hell"
or
[flKugelLampe:state:sec] > 1800
)
)
(set flKugelLampe off)


Entweder Tageslicht hell oder state von Kugellampe seit 30min unverändert

Musste mal ausprobieren

Grüße
Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

Fabiango

Das wäre ne super Idee aber irgendwie nimmt er das nicht an.
Wichtig ist für mich jedoch das man ein "or" so verwenden kann und nicht noch ein zusätzliches DOELSEIF einfügen muss

amenomade

Was heisst "er nimmt das nicht an"?

Ansonsten sollte es auch so möglich sein:
[du_Licht_Master] eq "an" and [[du_Licht_Zeit_1_an]|8] and [du_Tageslicht] eq "dunkel")
   (set flKugelLampe dim43%)(set flKugelLampe off)
DOELSEIF
([du_Licht_Master] eq "an" and [du_Tageslicht] eq "hell") (set flKugelLampe off)

attr wait 0,30
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Fabiango

Habe mich nun für einen zweiten Timer entschieden, was ich erfolgreich testen konnte.
Danke für eure Hilfe.

([du_Licht_Master] eq "an" and [[du_Licht_Zeit_1_an]|8] and [du_Tageslicht] eq "dunkel") (set flKugelLampe dim43%)
DOELSEIF
([du_Licht_Master] eq "an" and [[du_Licht_Zeit_1_aus]|8] or [du_Tageslicht] eq "hell") (set flKugelLampe off)


Könnt ihr mir trotzdem sagen ob es eine Möglichkeit gibt die Überwachung der Status Änderung einzubinden?
Ähnlich wie der Vorschlag von CBSnake
[flKugelLampe:state:sec] > 1800