Hallo zusammen,
ich versuche schon seit Tagen über verschiedene Wege einen Stromverbrauch zu berechnen.
Ich habe einen Shelly 1PM welcher im Reading "power" die aktuelle Wattzahl darstellt.
Diese Daten erfasse ich schon in DbLog.
Jetzt würde ich gerne berechnen wie viel Watt Heute und Gestern verbraucht wurden.
Kann mir dazu jemand einen Tipp geben?
Zitat von: davedeluxe am 19 Juli 2023, 16:16:23Jetzt würde ich gerne berechnen wie viel Watt Heute und Gestern verbraucht wurden.
Es sind wohl eher die Wh oder kWh gemeint.
Dazu liefert der Shelly über das Modul doch ein reading energy in Wh.
Über MQTT sind das dann die unüblichen Wmin.
Ansonsten ist es das Integral der Leistung über die Zeit.
Achtung: Das reading energy wird bei Spannungsverlust wieder auf 0 gesetzt. Also über ein userreading entsprechend "retten" und in kWh umrechnen.
attr Shelly15 userReadings energyTotal:energy.* monotonic { ReadingsNum($name,"energy",0)/1000 }
Ja ich meine Wh, diese bekomme ich aber nicht angezeigt.
ich habe den shelly direkt verbunden, nicht per MQTT (was aber keinen Unterschied machen sollte)
defmod Shelly_PV Shelly 192.168.*. *
attr Shelly_PV alias Shelly_PV
attr Shelly_PV model shellyplus1pm
attr Shelly_PV room Energie,Shellys
attr Shelly_PV stateFormat {ReadingsVal($name,"power","")}
setstate Shelly_PV 245.8
setstate Shelly_PV 2023-07-19 17:11:59 current 1.068
setstate Shelly_PV 2023-07-19 17:11:59 inttemp 68.5
setstate Shelly_PV 2023-07-19 17:11:59 power 245.8
setstate Shelly_PV 2023-07-14 09:27:47 relay on
setstate Shelly_PV 2023-07-19 17:11:59 state OK
setstate Shelly_PV 2023-07-19 17:05:20 voltage 228.5
Zitat von: davedeluxe am 19 Juli 2023, 17:17:09attr Shelly_PV model shellyplus1pm
Aha, also ein Gen 2.
Da bin ich erst einmal raus.
Welches Modul hast Du verwendet?
Die überarbeitete Version von Starkstrombastler?
https://forum.fhem.de/index.php?msg=1281352 (https://forum.fhem.de/index.php?msg=1281352)
Nee ich nutze das was per fhem update kommt, ichckann das andere aber mal testen.
Aber abgesehen davon, gibt es keine einfache Möglichkeit anhand der Wattzahl, die ja periodisch übermittelt wird, die Wh zu berechnen?
Hi,
ich habe die Version von Starkstrombastler nun getestet aber das hilft nicht weiter. Scheinbar übermittelt der Shelly diese Werte nicht per MQTT / API.
Gibt es denn keine Möglichkeit dfas FHEM diese Auswertung übernimmt?
Mein PlusPlug und der Gen1 1PM liefern mit dem neuen Modul die Werte für die energy.
Einen Plus1PM habe ich nicht. Im Support-Thread hat aber der ein oder andere zum Plus1PM schon was geschrieben. Schau mal nach ob es damit noch Probleme gibt (ich meine nein).
Edit:
Vielleicht verschiebt du diesen Beitrag auch besser von Anfängerfragen an die passende Stelle unter "Sonstige Systeme" .
Edit2:
Lies mal ein paar Beiträge im weiter im Support-Thread.
Da müsste noch wegen eines Fehlers eine Codezeile geändert werden.
Das ist noch nicht in einer aktualisierten Version berücksichtigt.
ZitatGibt es denn keine Möglichkeit dfas FHEM diese Auswertung übernimmt?
attr Shelly15 userReadings energy:power.* integral { ReadingsNum($name,"power",0)/3600 }
So,
ich bin einen Schritt weiter. dank dem Hinweis von Ralf habe ich jetzt den Wert "energy".
Den kann ich jetzt auch umwandeln in KW/h.
Was ich jetzt noch brauche sind die Werte für KW/h heute und KW/h gestern.
Gibt´s dafür auch eine Möglichkeit das per Userreading zu lösen?
Da kann das statistics Modul helfen, das nutze ich für die Ermittlungen der Vergangenheitswerte meines Wechselrichters.
VG Helmut
Nutze ich auch.
Der ein oder andere hat ja Probleme mit der Definition.
Wenn es nicht funktioniert kann ich gern meine Definition für 2 Shellies teilen.
Gruß Ralf
Edit:
Da der Shelly den Energy-Wert vergisst wenn er stromlos war, brauchst du das Userreading (monotonic) von NobbyNews oben!
Hey zusammen,
ich komme meinem Ziel immer näher, das statistics Modul liefert mir die gewünschten Readings.
Leider schreibt es mir die Werte für den Verbrach von heute so: Hour: 130.9 Day: 222.3 Month: 222.3 Year: 222.3 (since: 2023-07-26_16:30:21 )
Ich benötige aber den Wert hinter "Day:" (222.3) separat um dann damit rechnen zu können.
Jemand eine Idee?
Ich würde diesen Wert nämlich gerne mit einem anderen Addieren per notify:
Shelly_PV:power:.* {
my $temp=ReadingsNum('Shelly_PV', 'statEnergy', '4') + ReadingsVal('Stromverbrauch', 'Powermeter_DOIF_TotalCount_EnergyDay', '0');;
fhem("set dummy $temp");;
}
ReadingsNum('Shelly_PV', 'statEnergy', '4') scheint damit aber nicht zu funktionieren.
Also ich brauche entweder ne Lösung die mir in dem Notify die 4. Stelle nutzt oder eine Option den Wert hinter Day: als Reading darzustellen.
Zitat von: davedeluxe am 26 Juli 2023, 18:01:01Ich benötige aber den Wert hinter "Day:" (222.3) separat um dann damit rechnen zu können.
Schau dir mal die Doku ( commandref bzw Wiki ) zum statistics Modul an. Das Attribut singularReadings maxht genau das, was du brauchst.
Hier als Beispiel meine Definition mit Singular Readings.
"energyCum" ist das Userreading (monotonic) auf Basis des energy-Readings vom PlugS.
define myStatDevice statistics shelly_plug_s
attr myStatDevice deltaReadings energyCum
attr myStatDevice ignoreDefaultAssignments 1
attr myStatDevice periodChangePreset 120
attr myStatDevice singularReadings shelly_plug_s_df2674:energyCum:Delta:(Day|Month|Year)
Neben der Zeile "Hour: 130.9 Day: 222.3 Month: 222.3 Year: 222.3 (since: 2023-07-26_16:30:21 )" werden Day, Month, Year noch einzeln geliefert.
Ich komme dem ganzen näher,
was mich wundert ist, das er mir das Ergebnis des Userreadings nicht in den readings anzeigt.
energyTotal:energy.* monotonic { ReadingsNum($name,"energy",0)/1000 }
Das Reading energy wurde getriggert und sollte somit eigentlich auch das Userreading erzeugen oder?
defmod Shelly_PV Shelly 192.168.*.*
attr Shelly_PV alias Shelly_PV
attr Shelly_PV event-on-update-reading power
attr Shelly_PV model shellyplus1pm
attr Shelly_PV room Energie,Shellys
attr Shelly_PV stateFormat {ReadingsVal($name,"power","")}
attr Shelly_PV userReadings energyTotal:energy.* monotonic { ReadingsNum($name,"energy",0)/1000 }
Zitat von: davedeluxe am 27 Juli 2023, 11:35:07attr Shelly_PV event-on-update-reading power
Da nur das reading power aufgeführt ist, sollten lt. Wiki
https://wiki.fhem.de/wiki/Event-on-change-reading#Wechselwirkungen (https://wiki.fhem.de/wiki/Event-on-change-reading#Wechselwirkungen)
damit dann alle anderen readings keine events erzeugen:
ZitatSind bei einem Device weder event-on-change-reading noch event-on-update-reading spezifiziert, werden für alle Readings sowohl bei Änderung als auch bei der Aktualisierung (Update mit dem gleichen Wert) Events erzeugt (Default Verhalten).
Sobald jedoch eines der beiden Attribute gesetzt ist, müssen alle Readings, die protokolliert werden sollen, bei (mindestens) einem der Attribute berücksichtigt sein.
Damit dürfte dann für energy kein event erzeugt werden und damit auch das userReading nicht getriggerd werden.
Oh man... sorry!
Geht jetzt :)
Ich bastle weiter