Alles gutSorry, ich war wieder (schnell und) schlampig (copy/paste). Asche über meinem Haupt. Ich gelobe Besserung![]()
![]()
![]()



Alles gutSorry, ich war wieder (schnell und) schlampig (copy/paste). Asche über meinem Haupt. Ich gelobe Besserung![]()
![]()
![]()
klar, Du kannst die kWh mit 0.1522 multiplizieren und erhältst damit das Volumen. Ob das Ergebnis allerdings tatsächlich stimmt, ist von vielen Faktoren abhängig, nicht zuletzt vom Wirkungsgrad der Heizung.
Jedes Datum (nicht Kalender, sondern Einzahl von Daten...), welches Du anzeigen willst, muss in einem Item gespeichert werden.
Code: Alles auswählen
rule "Gasverbrauch Tag Woche Monat Jahr" // Deutscher Zeichensatz zulässig
when
Item heatQuellen_consumption changed // changed reicht.
then
val kwprol = 0.1522 // Umrechnung kWh in Liter
val Preis = 1.50 // Preis pro Liter
val ZonedDateTime zdt = ZonedDateTime.now() // jetzt
val ZonedDateTime start_of_day = zdt.with(LocalTime.MIDNIGHT) // heute, Mitternacht
val ZonedDateTime start_of_week = start_of_day.minusDays(start_of_day.getDayOfWeek.getValue - 1) // Montag
val ZonedDateTime start_of_month = start_of_day.withDayOfMonth(1) // Erster Tag des Monats (1)
val ZonedDateTime start_of_year = start_of_day.withDayOfYear(1) // Erster Tag des Jahres (1)
val Gas_Heute = (heatQuellen_consumption.deltaSince(start_of_day) as Number).floatValue // kWh Delta holen
val Gas_Woche = (heatQuellen_consumption.deltaSince(start_of_week) as Number).floatValue
val Gas_Monat = (heatQuellen_consumption.deltaSince(start_of_month) as Number).floatValue
val Gas_Jahr = (heatQuellen_consumption.deltaSince(start_of_year) as Number).floatValue
val Liter_Heute = Gas_Heute * kwprol // kWh in Liter umrechnen
val Liter_Woche = Gas_Woche * kwprol
val Liter_Monat = Gas_Monat * kwprol
val Liter_Jahr = Gas_Jahr * kwprol
val Euro_Heute = String::format("%.2f €",(Liter_Heute * Preis)) // Summe in Euro berechnen
val Euro_Woche = String::format("%.2f €",(Liter_Woche * Preis))
val Euro_Monat = String::format("%.2f €",(Liter_Monat * Preis))
val Euro_Jahr = String::format("%.2f €",(Liter_Jahr * Preis))
GasSumme_Heute.postUpdate(Gas_Heute.toString+" kWh/"+Liter_Heute.toString+" l/"+Euro_Heute) // Alles in ein String Item
GasSumme_Woche.postUpdate(Gas_Woche.toString+" kWh/"+Liter_Woche.toString+" l/"+Euro_Woche)
GasSumme_Monat.postUpdate(Gas_Monat.toString+" kWh/"+Liter_Monat.toString+" l/"+Euro_Monat)
GasSumme_Jahr.postUpdate(Gas_Jahr.toString +" kWh/"+Liter_Jahr.toString +" l/"+Euro_Jahr)
end
Wie ist denn das gemeint? Gibt es da ein Beispiel dafür, kann mir grad nichts drunter vorstellen?Die Items kannst Du in einer gemeinsamen Ansicht darstellen, Titel ist dann "Gasverbrauch", Label der Items "Heute", "Woche", "Monat" und "Jahr" und alle relevanten Infos stehen dann als Text da.
Code: Alles auswählen
Group Gasverbrauch
String GasSumme_Heute "Heute" <energy> (Gasverbrauch)
String GasSumme_Woche "Woche" <energy> (Gasverbrauch)
String GasSumme_Monat "Monat" <energy> (Gasverbrauch)
String GasSumme_Jahr "Jahr" <energy> (Gasverbrauch)
Code: Alles auswählen
Frame label="Gasverbrauch" {
Text item=GasSumme_Heute
Text item=GasSumme_Woche
Text item=GasSumme_Monat
Text item=GasSumme_Jahr
}
Code: Alles auswählen
GasSumme_Heute.postUpdate(Gas_Heute.toString+" kWh/"+ String::format("%.2f",(Liter_Heute)) +" l/" + Euro_Heute) // Alles in ein String Item
GasSumme_Woche.postUpdate(Gas_Woche.toString+" kWh/"+ String::format("%.2f",(Liter_Woche)) +" l/" + Euro_Woche)
GasSumme_Monat.postUpdate(Gas_Monat.toString+" kWh/"+ String::format("%.2f",(Liter_Monat)) +" l/" + Euro_Monat)
GasSumme_JahrL.postUpdate(Gas_Jahr.toString +" kWh/"+ String::format("%.2f",(Liter_Jahr)) +" l/" + Euro_Jahr)