(ERLEDIGT) Einen DOIF immer "überwachen"

Begonnen von misux, 23 März 2022, 14:45:42

Vorheriges Thema - Nächstes Thema

misux

HI!

Ich habe ein kleines DOIF welches immer überwachen soll ob Advent ist oder nicht. Also Dauerhaft den Adnevtstatus einer Funktion überwachen.
Irgendwie stehe ich gerade aufm Schlauch... Was fehlt da als Trigger damit der Adventstatus 24/365 überwacht wird und wenn sich dieser ändert soll der Set Befehl ausgeführt werden...

(Advent==0)
(set AdventDummy off)
(set Telegram message Adventsbeleuchtung wurde deaktiviert!)
DOELSEIF
(Advent==1)
(set AdventDummy on)
(set Telegram message Adventsbeleuchtung wurde aktiviert!)


Hat einer einen Tipp?

Vielen Dank!

Otto123

Hi,

das ist weder Bedingung noch Trigger, das ist einfach immer falsch -> (Advent==0)

Falls Advent ein Gerät ist, welches triggern und wo der STATE 0 oder 1 sein soll --> ([Advent]==0)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

misux

Advent ist ein Codeschnipsel aus dem Forum...
https://forum.fhem.de/index.php/topic,42209.0.html

Nur weiß ich nicht wie ich nur aber immer auf die 0 bzw 1 triggern soll... ??? ::)

Otto123

Aaaaha - das ist ein Perl Sub und quasi eine Abfrage. Da kannst Du jetzt schwer drauf triggern ...
Wie im Link eine Zeit als trigger
DOIF ([04:00] and Advent==0 ) (set AdventDummy off , set Telegram message Adventsbeleuchtung wurde deaktiviert!)
DOELSE (set AdventDummy on , set Telegram message Adventsbeleuchtung wurde aktiviert!)


Du weißt schon, dass bald Ostern ist?  ;D ;D ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

misux

 :o Wie Ostern?  ;D

Ja das ich mit der Zeit triggern kann weiß ich... aber ich würde das gerne immer überwachen, also 24Std am Tag.. wenn ich es auf 04Uhr setze und etwas, was auch immer, schief geht wird es nicht getriggert... Habe schon [00:00-24:00] probiert, das geht aber irgendwie nicht...oder ich bin zu doof

Damian

Wenn du etwas überwachen willst, dann muss das "Etwas" sich per Event melden. Daher müsste die Adventroutine so programmiert sein, dass sie bei Änderungen selbst Events produziert.

Auf der anderen Seite wird advent nicht mehrmals am Tage unterschiedliche Dinge liefern, also reicht z. B. um Mitternacht ein einmaliger Aufruf von advent.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Thyraz

Aber was, wenn Mittwochs um 14:51 total überraschend die Adventszeit beginnt?  :o ;D
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Otto123

Wenn Du etwas überwachen willst, was selbst keine fortlaufenden Events erzeugt, musst Du Dir andere Events zur Hilfe nehmen. Etwa so wie in dem Beispiel aus der Doku:
ZitatAnwendungsbeispiel: Automatisches Speichern der Konfiguration im Stundentakt:

define di_save DOIF ([+01:00]) (save)
attr di_save do always
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damian

Zitat von: Otto123 am 24 März 2022, 09:17:46
Wenn Du etwas überwachen willst, was selbst keine fortlaufenden Events erzeugt, musst Du Dir andere Events zur Hilfe nehmen. Etwa so wie in dem Beispiel aus der Doku:

ja, aber bevor er anfängt für advent sinnlos stündlich zu pollen, sollte er das bereits gesagte beherzigen - einmal am Tag reicht hier!
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Otto123

Zitat von: misux am 24 März 2022, 07:20:51
... also 24Std am Tag.. wenn ich es auf 04Uhr setze und etwas, was auch immer, schief geht wird es nicht getriggert... Habe schon [00:00-24:00] probiert, das geht aber irgendwie nicht...oder ich bin zu doof
Ich habe extra das Beispiel mit Stundentakt gewählt  ;D ;D ;D - ich fürchte er wird im Sekundentakt pollen wollen. :o
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

misux

#10
 ;D im sekundentakt klingt verlockend... ;D

Hmm... naja, wenn ich so recht darüber nachdenke habt ihr natürlich Recht! Denke ich lasse es 2 mal am Tag checken... Sollte reichen.

Danke !

EDIT:

Aber was passiert wenn ich neustarte und da eine Uhrzeit steht zu der es triggern soll? Dann wird ja eigentlich der SetBefehl nur zur Uhrzeit gesetzt, Oder? Und wenn ich keinen Trigger setze bleibt der Status auf was? 0 oder 1? Hmmm... Fragen über Fragen...

Otto123

#11
Ich weiß nicht auf was Du hinaus willst.
Fall 1
Du hast einfach nur die Funktion Advent.
Du machst ein DOIF ([18:00] and Advent == 1) also: um 18:00 wenn Advent dann mach Licht an.
Wenn Du vor 18:00 neu startest und alles im System ist stimmig, dann geht 18:00 Uhr das Licht an
Wenn Du nach 18:00 neu startest, ist das Licht schon an. Das Licht geht ja beim Neustart nicht aus!?

Fall 2
Du hast willst lieber einen Dummy.
Wenn Du nicht immer die Funktion Advent abfragen willst sondern lieber einen Dummy -> Advent_Dummy - dann machst Du ein DOIF ([04:00])(set Advent_Dummy {(Advent)})
Dann steht für Dich jederzeit sichtbar im Advent_Dummy ob Advent ist oder nicht.
Mit dem Rest läuft es wie oben ([18:00] and [Advent_Dummy] == 1) ...

Oder ([Taste] eq 'an' and [Advent_Dummy] == 1) oder wie auch immer

Aber nach dem Titel zu urteilen geht es ja gar nicht um Advent? Denn den gibt es auch im holiday Modul https://forum.fhem.de/index.php/topic,93277.0.html  ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

misux

Hmmm... ich denke ich überlege viel zu viel an dem Ding... Werde dann Fall 1 nehmen und gut ist!

Vielen Dank für eure Mühe!