Wie kann man Uhrzeiten eleganter vergleichen?

Begonnen von FFHEM, 15 Februar 2014, 11:27:03

Vorheriges Thema - Nächstes Thema

betateilchen

am einfachsten den Doppelpunkt weg-regexen und dann 2255 mit 2200 vergleichen :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

weil es mit dem : strings sind und > nur den zahlen teil bis zum : vergleicht. du solltest auch eine warnung im log dazu sehen.

wenn deine stunden immer zwei stellig sind funktioniert auch ein string verglich mit gt. wenn nicht: wie vorgeschlagen den : entfernen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

efyzz

RaspberryPi3B, Bookworm Lite
Homematic Funkmodul HM-MOD-RPI-PCB
------------------------------------------------------------------------
Ich bin kein Programmierer ... aber ich weiß, auf welcher Seite der Lötkolben heiß ist.

rabehd

Wenn auch nachträglich.
Die ursprüngliche Frage habe ich so gelöst:
([{sunset_abs("REAL")}]) (set FS_2 on) 
DOELSEIF ([23:22|01234] and (ReadingsVal("BaWue","tomorrow","") eq "none") and (Value("Party") eq "keine")) ({LichterAus()})
DOELSEIF ([00:24|67] and (Value("Party") eq "keine"))({LichterAus()})
DOELSEIF ([00:24] and (ReadingsVal("BaWue","tomorrow","") ne "none") and (Value("Party") eq "keine")) ({LichterAus()})
DOELSEIF ([04:04] and (Value("Party") eq "läuft")) ({LichterAus()})
DOELSEIF ([06:30|67] and (!isday()) ) (set FS_2 on) 
DOELSEIF ([05:25|8] and (!isday()) ) (set FS_2 on)
DOELSEIF ([{sunrise_abs("REAL",0,"05:26","07:08")}|8]) (set FS_2 off) 
DOELSEIF ([{sunrise_abs("REAL",0,"06:31","08:48")}|67]) (set FS_2 off)

Dabei wird Sonnenstand, Wochentag, Feiertag und Dummy Party berücksichtigt.

Zeiten vergleiche ich in dem ich das Ergebnis einer Funktion "Zeit zu UnixZeit" benutze. Der Vorteil ist, dass man damit rechnen kann und auch das Datum berücksichtigt wird.
Auch funktionierende Lösungen kann man hinterfragen.