Rechnen / Arbeiten mit DateTime
Verfasst: 4. Nov 2020 10:05
Hallo zusammen,
rechnen und arbeiten mit DateTime-Formaten macht mir weniger Spaß als gedacht.
Ich möchte die Zeit zwischen Sonnenauf- und untergang ausrechnen, in der Sitemap anzeigen und bei weniger als 10 Stunden einen Event auslösen.
Die Berechnung stimmt, im Log kommt der richtige Wert, aber ich verstehe nicht, warum in der Sitemap kein Wert angezeigt wird und warum die IF-Schleife nicht will. Vielleicht ist hier das Problem differenz.state? Stimmt das Format nicht?
VG
Christoph
Sitemap:
Items:
Rule:
rechnen und arbeiten mit DateTime-Formaten macht mir weniger Spaß als gedacht.
Ich möchte die Zeit zwischen Sonnenauf- und untergang ausrechnen, in der Sitemap anzeigen und bei weniger als 10 Stunden einen Event auslösen.
Die Berechnung stimmt, im Log kommt der richtige Wert, aber ich verstehe nicht, warum in der Sitemap kein Wert angezeigt wird und warum die IF-Schleife nicht will. Vielleicht ist hier das Problem differenz.state? Stimmt das Format nicht?
VG
Christoph
Sitemap:
Code: Alles auswählen
Text item=Sunshine_Time
Code: Alles auswählen
DateTime Sunshine_Time "Sonnenschein heute"
Code: Alles auswählen
rule "Sonnenauf und untergang"
when
Time cron "* 0/1 * * * ?" // zum Debug, wird später mit Sonnenaufgang getriggert
then
val Date1= new DateTime(( Sunrise_Time.state as DateTimeType).zonedDateTime.toInstant.toEpochMilli)
val Date2 = new DateTime(( Sunset_Time.state as DateTimeType).zonedDateTime.toInstant.toEpochMilli)
var double differenz = (Date2.millis - Date1.millis)/1000/60
logInfo("test", "Sonnenzeit in Minuten: " + differenz)
Sunshine_Time.postUpdate(differenz)
if (differenz.state <= 600) {
logInfo("test", "weniger als 10 Stunden")
}
end