Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Snatsch
Beiträge: 343
Registriert: 9. Jan 2021 22:55

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von Snatsch »

Sorry, ich war wieder (schnell und) schlampig (copy/paste). Asche über meinem Haupt. Ich gelobe Besserung :oops: :oops: :oops: ;)
Alles gut :) das mit dem Datum ändern hatte ich vorher schon verstanden und gelesen ;) Deshalb hatte ich es auf 28 und 300 gesetzt :)
openhab4.1.1 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer

Benutzeravatar
udo1toni
Beiträge: 13860
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von udo1toni »

Snatsch hat geschrieben: 28. Okt 2022 11:54 Da der Wert in kwh ausgegeben wird und ich aber einen Flüssiggastank habe würde ich gerne das die kwh in Liter umgerechnet werden. Habe gelesen das eine kwh Gas mit 0,1522 Litern Gas erzeugt wird,
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.
Snatsch hat geschrieben: 28. Okt 2022 11:54 dann hätte ich noch den Preis pro Tag, Woche und Jahr. Muss ich dazu eine Rule haben oder kann man das über die Metadata machen ? Für den Preis muss ich bestimmt wieder 4 Items anlegen Preis_Tag, Preis_Woche,.... oder
Jedes Datum (nicht Kalender, sondern Einzahl von Daten...), welches Du anzeigen willst, muss in einem Item gespeichert werden.
Du kannst natürlich auch ein Kombi-Item anlegen, in dem (als String) kWh und/oder Liter und/oder Preis genannt werden, so:

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
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. Das funktioniert natürlich nur, wenn Du nicht mit den konkreten Zahlenwerten weiter rechnen willst (also außerhalb der Rule, innerhalb sind ja alle relevanten Werte da).

EDIT: Code geändert, da zumindest der Preis auf zwei Stellen gerundet sein sollte.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Snatsch
Beiträge: 343
Registriert: 9. Jan 2021 22:55

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von Snatsch »

Vielen Dank udo1toni
irgendwie komme ich mit dem Items anlegen nicht zurecht :?
Muss ich die per Text anlegen ? Könntest du mir vielleicht ein Beispiel geben :?:
openhab4.1.1 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer

Snatsch
Beiträge: 343
Registriert: 9. Jan 2021 22:55

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von Snatsch »

ist das eventuell so gemeint ?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openhab4.1.1 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer

Benutzeravatar
udo1toni
Beiträge: 13860
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von udo1toni »

Es ist egal, wie Du die Items anlegst. Aber mit einem Channel dürfen sie nicht verknüpft sein, das sind ungebundene Items, die ausschließlich über die Rule gefüllt werden.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

zinnik
Beiträge: 173
Registriert: 7. Sep 2021 11:28

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von zinnik »

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.
Wie ist denn das gemeint? Gibt es da ein Beispiel dafür, kann mir grad nichts drunter vorstellen?

Lg zinnik
openhab 4.1.0.M Docker (Qnap)
influxDB 1.8.2 Docker (Qnap)
Grafana v8.3.3 Docker (Qnap)
Deconz 2.19.03 Docker (Qnap)
Homematic (Raspberrymatic Pi 3B+)
Grafana, Phoscon, Shelly, Gardena, Tuya
Camera IP Binding mit ffmpeg
Solaredge PV Anlage mit 8kW Speicher (solaredgeBinding)
u.v.m.

Lg zinnik

Snatsch
Beiträge: 343
Registriert: 9. Jan 2021 22:55

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von Snatsch »

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)
openhab4.1.1 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer

Benutzeravatar
udo1toni
Beiträge: 13860
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von udo1toni »

@Snatsch Nö.

Ich bezog das auf die UI.

Also z.B. in der Sitemap:

Code: Alles auswählen

Frame label="Gasverbrauch" {
    Text item=GasSumme_Heute
    Text item=GasSumme_Woche
    Text item=GasSumme_Monat
    Text item=GasSumme_Jahr
}
Sieht dann so aus:
Screenshot 2022-10-29 021358.png
Hier natürlich nur mit manuell eingefügten Daten.

Alternativ in der Main UI (allerdings habe ich da alle Label manuell gesetzt. egal, ist ja nur ein Beispiel...)
Screenshot 2022-10-29 020845.png
Brüller... Keine Ahnung, warum das Forum nun den ersten Screenshot verschluckt...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Snatsch
Beiträge: 343
Registriert: 9. Jan 2021 22:55

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von Snatsch »

also wieder verkehrt :|
Bei mir sieht es so aus
Screenshot (56).png
und in meiner Tablet Ansicht so
Screenshot (57).png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openhab4.1.1 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von peter-pan »

..eigentlich ok. Du kannst aber noch die "Liter_..."-Werte auf zwei Stellen formatieren, wie bei den Euro-Formatierungen. Aber erst nach den Berechnungen. So etwa...

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)
Es geht aber sicherlich auch mit Umwandlung in Integer ohne Nachkomma.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian

Antworten