Hauptmenü

Intervall schalten

Begonnen von Kuehnhackel, 25 Oktober 2023, 07:27:35

Vorheriges Thema - Nächstes Thema

Kuehnhackel

Hallo zusammen,

ich habe ein DOIF geschrieben, was ab 20 Uhr alle 1:45h ein Fenster öffnen und nach 15 min wieder schließen soll.

Wo ist mein Denkfehler?
defmod Essecke DOIF ([20:00-07:00,+[01]:45])(set Fenster_Essecke open) DOELSEIF ([20:00-07:00,+[02]:00])(set Fenster_Essecke close)
Liebe Grüße

Ralf

betateilchen

Die Frage ist, ob Dein gewünschtes Intervall wirklich 01:45 ist oder nicht doch eher 02:00, innerhalb dessen in den letzten 15 Minuten das Fenster offen sein soll.

21:45 - 22:00
23:45 - 00:00
... usw.

Für mich wäre die Lösung ein at:

define test_at at +*02:00:00 set Fenster auf;; sleep 900;; set Fenster zu
attr test_at alignTime 21:45
attr test_at disabledForIntervals 07:00-20:00

alignTime gibt dabei die erste Ausführung an,
disabledForIntervals bestimmt den Zeitraum, in dem überhaupt etwas passieren soll (20-07 Uhr)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kuehnhackel

Zitat von: betateilchen am 25 Oktober 2023, 10:22:54Die Frage ist, ob Dein gewünschtes Intervall wirklich 01:45 ist oder nicht doch eher 02:00, innerhalb dessen in den letzten 15 Minuten das Fenster offen sein soll.

21:45 - 22:00
23:45 - 00:00
... usw.

Für mich wäre die Lösung ein at:

define test_at at +*02:00:00 set Fenster auf;; sleep 900;; set Fenster zu
attr test_at alignTime 21:45
attr test_at disabledForIntervals 07:00-20:00

alignTime gibt dabei die erste Ausführung an,
disabledForIntervals bestimmt den Zeitraum, in dem überhaupt etwas passieren soll (20-07 Uhr)

Hallo Betateilchen,

zu Frage 1: ja

und danke für den Lösungsansatz.

Ich habe es gerade mit veränderten Werten, da ich im HomeOffice bin, getestet.

Vielen Dank

Sonnige Grüße von der Elbe

betateilchen

Zitat von: Kuehnhackel am 25 Oktober 2023, 12:40:54Sonnige Grüße von der Elbe

Ach, Du auch?
Aber bei mir ist aktuell keine Sonne zu sehen  :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kuehnhackel

Zitat von: betateilchen am 25 Oktober 2023, 13:09:29
Zitat von: Kuehnhackel am 25 Oktober 2023, 12:40:54Sonnige Grüße von der Elbe

Ach, Du auch?
Aber bei mir ist aktuell keine Sonne zu sehen  :)

Ja, ca. 50 km von Jork entfernt, elbaufwärts  :-* . Ich wohne da, wo der Elbe-Seiten-Kanal auf die Elbe trifft  8)


Damian

Zitat von: Kuehnhackel am 25 Oktober 2023, 07:27:35Hallo zusammen,

ich habe ein DOIF geschrieben, was ab 20 Uhr alle 1:45h ein Fenster öffnen und nach 15 min wieder schließen soll.

Wo ist mein Denkfehler?
defmod Essecke DOIF ([20:00-07:00,+[01]:45])(set Fenster_Essecke open) DOELSEIF ([20:00-07:00,+[02]:00])(set Fenster_Essecke close)
Liebe Grüße

Ralf

+[01]:45 bedeutet nicht nach 01:45, sondern jede Stunde und zwar 45 Minuten nach einer vollen Stunde.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF