Hauptmenü

Frage zu DOIF

Begonnen von tschennings, 05 Dezember 2016, 17:58:04

Vorheriges Thema - Nächstes Thema

tschennings

Hallo,
eine Verständnissfrage zu DOIF:

folgende Zeile:
define tester_1 DOIF ([{sunrise(900,"06:30","07:30")}-{sunrise_abs()}] and [Tester_Autom] eq "on") (set Ticker message Tester_1 | Haussteuerung)

Frage: Warum tritt das Ereignis (Ticker sendet Nachricht) immer ein wenn man den "Tester_Autom" einschaltet, auch wenn es nicht zwischen 6:30 und 7:30 ist?

Bin für jede Hilfe wie immer dankbar...
tschennings

automatisierer

das hat nichts mit DOIF zu tun.
das ist deine Startzeit:
{sunrise(900,"06:30","07:30")}
und das die Endzeit:
{sunrise_abs()}

sunrise(900,"06:30","07:30") bedeutet, dass die Schaltzeit 900 Sekunden nach Sonnenaufgang und in der Zeit zwischen 06:30 und 07:30 ist. Dabei kommt aber nur EINE Uhrzeit raus - die Startzeit deines DOIF...

tschennings

Hallo Automatisierer,
Danke für die Erklärung!
könnte ich dann mit einer anderen Endzeit mein Ziel erreichen?
Eigentlich möchte ich ja nur, dass wenn der Schalter an ist, das Ereignis 900 Sek. nach Sonnenaufgang ausgelöst wird.
Oder hast Du eine bessere alternative Formulierung für mich?
Grüße
tschennings

automatisierer

dafür benötigst du ja nur eine Startzeit:

define tester_1 DOIF ([{sunrise(900,"06:30","07:30")}] and [Tester_Autom] eq "on") (set Ticker message Tester_1 | Haussteuerung)

dann liegt die Zeit aber immer noch zwischen 06:30 und 07:30

tschennings

#4
ja, aber ich kann den Schalter "Tester_Autom" ausserhalb dieses Zeitfensters auf "on" stellen, ohne das Ereigniss auszulösen?
--geht,eben getestet.
Ich war im übrigen der Meinung, das {sunrise_abs()} wäre nicht die Endzeit, sondern wird benötigt um den Versatz zum nächsten Tag zu kompensieren? War wohl einfach falsch...
Nach meiner Interpretation der Comandref hab ich aber jetzt noch ein Problem: Wenn der Schalter "Tester_Autom" an ist kommt das Ereignis zum nächsten Sonnenaufgang - danach aber nicht mehr.Was nun? do always? oder doch eine Endzeit?

automatisierer

Zitat von: tschennings am 05 Dezember 2016, 20:35:38
ja, aber ich kann den Schalter "Tester_Autom" ausserhalb dieses Zeitfensters auf "on" stellen, ohne das Ereigniss auszulösen?
--geht,eben getestet.
ja.
Zitat
Ich war im übrigen der Meinung, das {sunrise_abs()} wäre nicht die Endzeit, sondern wird benötigt um den Versatz zum nächsten Tag zu kompensieren? War wohl einfach falsch...
verstehe ich nicht...
Zitat
Nach meiner Interpretation der Comandref hab ich aber jetzt noch ein Problem: Wenn der Schalter "Tester_Autom" an ist kommt das Ereignis zum nächsten Sonnenaufgang - danach aber nicht mehr.Was nun? do always? oder doch eine Endzeit?
do always, der Klassiker - genau kannst du das in der Commandref nachlesen...

Was passieren kann, ist, wenn der Timer getriggert hat, wird die neue Zeit für den nächsten Timer berechnet, und die kann dann (so lange die Tage noch kürzer werden) am gleichen Tag noch einmal triggern - weil die Zeit dann ~+2Minuten ist.

tschennings

Ok- danke mit dem tipp wegen des 2fachen triggerns im herbst! Dachte schon ich hätte es mit do always. Oder gibts dazu auch einen tipp in der comref?
Jetzt habe ich nur ein anderes problem, pushbullet scheint seit heute (nicht nur bei mir) nicht mehr zu gehen...
Danke!