Nachdem meine SD Karte ohne Sicherung abgeraucht ist, bin ich gerade dabei mir mein System wieder hinzubasteln.
mir ist jetzt in den sinn gekommen die Vorlage, die mir @horschte für den Stromverbrauch gebastelt hat, einfach unzustricken.
Soweit der Plan - klappt natürlich nicht.
Code
Number:Temperature HumTemp3_Temp "Temperatur" <temperature> (DB_Aussentemp) {channel="mqtt:topic:MosquittoMqttBroker:HumTemp3:HumTemp3_Temp "}
Number:Temperature HumTemp3_Temp_Tag_min "Tiefsttemperatur gestern" <temperature>
Number:Temperature HumTemp3_Temp_Woche_min "Tiefsttemperatur letzte Woche" <temperature>
Number:Temperature HumTemp3_Temp_Monat_min "Tiefsttemperatur letzter Monat" <temperature>
Number:Temperature HumTemp3_Temp_Jahr_min "Tiefsttemperatur letztes Jahr" <temperature>
Dann habe ich diese rule umgestrickt
und erst nur versucht für den Tag einen Wert zu bekommen
Code
rule "Mininmal Temperatur Zeiträume"
when
Item Test2 changed
then
val ZonedDateTime zdt = ZonedDateTime.now()
var ZonedDateTime start_of_day = zdt.toLocalDate().atStartOfDay(zdt.getZone())
//var ZonedDateTime start_of_week = zdt.with(DayOfWeek.MONDAY).toLocalDate().atStartOfDay(zdt.getZone())
//var ZonedDateTime start_of_month = zdt.withDayOfMonth(1).toLocalDate().atStartOfDay(zdt.getZone())
//var ZonedDateTime start_of_year = zdt.withDayOfYear(1).toLocalDate().atStartOfDay(zdt.getZone())
var heute = HumTemp3_Temp.minimumSince (start_of_day) as Number
//var heute = HumTemp3_Temp.minimumSince (start_of_day) as Number
//var woche = HumTemp3_Temp.minimumSince (start_of_week) as Number
//var monat = HumTemp3_Temp.minimumSince (start_of_month) as Number
//var jahr = HumTemp3_Temp.minimumSince (start_of_year) as Number
HumTemp3_Temp_Tag_min.postUpdate(heute)
// HumTemp3_Temp_Woche_min.postUpdate(woche)
// HumTemp3_Temp_Monat_min.postUpdate(monat)
// HumTemp3_Temp_Jahr_min.postUpdate(jahr))
end
Alles anzeigen
Wenn ich die rule auslöse gibt es diesen Fehler:
Code
2023-03-27 19:01:19.888 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'MinMax-1' failed: Could not cast JdbcItem [name=HumTemp3_Temp, state=-0.11, timestamp=2023-03-27T06:27:21.775+02:00[Europe/Berlin]] to java.lang.Number; line 10, column 22, length 51 in MinMax
Ist wohl nicht so einfach wie ich dachte.
Was mache ich verkehrt?
Wo ich gerade sehe das der Timestamp mit auftaucht, vielleicht könnte man dann auch noch anzeigen lassen wann im definierten Zeitraum die niedrigste Temperatur war?
Gruß
Patrick