Hallo,
ich möchte gerne etwas mit einer DOIF einschalten um eine bestimmte Uhrzeit. Das klappt auch wenn ich z.b ([12:00]) in die Abfrage einsetze. dann wird es um 12uhr ausgeführt.
Jetzt möchte ich aber was eine Stunde vor Sonnenuntergang schalten. Die Sonnenuntergangszeit habe ich aus einem Reaging (Proplanta) z.b. fc0_sunSet = 16:42.
Wie frage ich das Reading jetzt ab mit sagen wir 60minuten weniger. Also 15:42 als abfrage?
Oder hat einer eine Idee wie ich das anders lösen könnte/sollte?
Gruß Karsten
Hallo kask,
das geht z.B. direkt im DOIF mit [{sunset(-3600, "15:00", "22:00")}]
Dann schaltet es frühestens 15:00 spätestens 22:00 zum Zeitpunkt Sonnenuntergang -1h.
Dafür musst Du in globab die Attribute latitude und longitude entsprechend Deiner geographischen Lage setzen.
Die Beschreibung von sunset findest Du hier https://fhem.de/commandref.html#SUNRISE_EL (https://fhem.de/commandref.html#SUNRISE_EL)
Grüße
Jens
...oder via "twilight" modul (myTL ist vom type twilight) incl. Zufallverzögerung an einem Arbeitstag(AT):
DOELSEIF
(
[
([myTL:sr]-3600+int(rand(300)) )|AT
]
)
( set Lampe on)
Danke für die Hilfe.
Probiere ich aus.
Aber rein aus interesse. Wie bekomme ich eine gebene Zeit oder vieleicht auch Datum als string z.b. "13:15" auf eine DOIF Abfrage und kann diese Zeit/Tag manipulieren?
Das geht doch sicher mit wenig Aufwand.
DOIF Triggert jeden Tag. Du kannst es auf bestimmte Wochentage einschränken, sonst mit and Datumsangaben verknüpfen z. B. and $md ge "01-06" heißt ab dem 06.01
Danke. Das ist aber nicht meine Frage.
Vieleicht stelle ich die Frage mal anders.
Ich bekomme aus einem Reading eine Uhrzeit. Die sieht so aus das "12:47" in dem reading steht.
Jetzt will ich aus den 12:47 gerne 11:47 machen und damit vergleichen. Wie stelle ich das an?
Moin,
ich weis nicht, wie Perl-Aktuell das ganze noch ist, da ich z.Zt. kein Fhem am Laufen habe (Umzug), aber vielleicht kannst du es ja als Anregung gebrauchen.
https://forum.fhem.de/index.php/topic,83653.msg758737.html#msg758737
LG
Andreas
Zitat von: kask am 18 Dezember 2022, 14:32:10
Danke. Das ist aber nicht meine Frage.
Vieleicht stelle ich die Frage mal anders.
Ich bekomme aus einem Reading eine Uhrzeit. Die sieht so aus das "12:47" in dem reading steht.
Jetzt will ich aus den 12:47 gerne 11:47 machen und damit vergleichen. Wie stelle ich das an?
Die Doku-Referenz schon studiert?
Hier mal ein Auszug von: https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitberechnung
ZitatLicht soll eine Stunde vor gegebener Zeit eingeschaltet werden und eine Stunde danach wieder ausgehen:
define Fixtime dummy
set Fixtime 20:00
define di_light DOIF ([([Fixtime]-[01:00]) - ([Fixtime]+[01:00])])
(set lampe on)
DOELSE
(set lampe off)
Die Doku ist so umfangreich und wenn man da nicht genau weiss was man suchen soll. Dann wird man einfach erschlagen von dem ganzen.
Entscheident sind die Suchbegriffe und da habe ich nach anderem gesucht.
Danke für den Link aus der Doku