Moin Zusammen,
zu diesem Thema habe ich viel gelesen. Nach einigen Stunden lesen, habe ich keinen richtigen Ansatz gefunden, der mich weiter bringt. Bei diesem Thema tue ich mich ein wenig schwer.
Ich habe einen Shelly, der mir unter dem Reading "shelly:params_switch_0_apower" die aktuelle Produktion in Watt anzeigt.
So wie ich lesen sind das Watt/Minuten. Ein Event gibt es nur bei Änderung.
Nun möchte ich daraus gern Kilowattstunden rechen. Dazu müsste ich als erstes erreichen, dass der Wert jede Minuten getriggert wird.
Erster Gedanke. Ich schreibe minütlich diesen Wert in ein Dummy. Ich dachte da an ein zeitgesteuertes Notify. Zeitgesteuertes Notify ist kein Problem. Aber ich stehe auf dem Schlauch, wie ich Reading "Gerät:Wert" in den Dummy "Dummy:Wert" schreibe.
Der nächste Schritt wäre, dass ich die Werte über den Tag aufsummiere. Da wird es noch schwerer.
Ich nutze bei anderen Geräten den hourcounter. Das setzt aber einen Summenzähler voraus, der aufsummiert. Diesen könnte ich dann nutzen, wenn ich diese Summierung hinbekomme.
Ich will hier keine fertige Lösung haben. :) Nur einen oder mehrere mögliche Anmsätze, wie ich das am klügsten umsetzten kann.
Ich danke euch.
Hi M.Piet
Ich denke du liest den PlusPlug per MQTT aus.
Ich nutze das Shelly Modul und dort gibt es ein "energy" READING, dass der Shelly selber zur Verfügung stellt. Das müsste doch auch mit MQTT zur Verfügung stehen.
Die verbrauchte Energie summiert der Plug selber auf. Beim PlusPlug (soweit ich in Erinnerung habe) bleibt der Wert sogar erhalten wenn man ihn vom Netz trennt.
Will sagen, selber rechnen musst du eigentlich nicht.
Gruß Ralf
Zusätzlich ist es sinnvoll ein userReading mit monotronic zu nutzen. Dann spielt es keine Rolle wenn das Gerät mal zurückgesetzt oder ausgetauscht wird.
Der Summenzähler bleibt so erhalten.
Hallo Ralf,
ZitatIch denke du liest den PlusPlug per MQTT aus.
Genau. :)
Ja, das gibt es (siehe Screenshot).
Das nennt sich
params_switch_0_aenergy_total.
Der Wert ist bei 3396.972 . Wenn das Wattminuten wären, sollten das 2,358 kWh.
(Hab den Wert durch 60 geteilt und dann durch 24 geteilt).
Oder ist dann dieser Summenwert keien Wattminuten, sondern Wattstunden?
Das kommt sogar hin. Laut der App von dem Wechselrichter hatte ich gestern 2,8 kwh. Dass es nicht so genau übereinstimmen kann, ist klar.
@frober
Ich habe eben mal den Stecker gezogen und gesteckt. Der Wert bleibt erhalten. :)
Dann müsste ich diesen Wert ja nur noch in KWH umrechnen (also durch 1000 teilen), und dann habe ich was ich brauche und kann auch prima mit dem Modul "HourCounter" arbeiten.
Das sollte doch mit so einem Userreading gehen. Oder mache ich da den totalen Denkfehler?
userReadings {ReadingsVal($name,"params_switch_0_aenergy_total",0)/1000}
Das geht mit einem userReading, aber deine Syntax ist falsch.
Der neue Readingname fehlt und am besten auch den Trigger eingrenzen.
Ich habe nicht geschrieben, dass der Shelly seine Daten bei Stromausfall verliert. Ich meine den Zähler in FHEM...
Ich habe nicht geschrieben, dass der Shelly seine Daten bei Stromausfall verliert. Ich meine den Zähler in FHEM...
Hmmm, aber der wird doch wieder sofort vom Shelly gefüllt. Oder reden wir aneinander vorbei?
Ich habe das Userreading so aufgebaut, und damit geht es (denke ich zumindest).
Hatte den letzten Stand nicht gepostet.
Summe_KW {sprintf("%.3f",ReadingsVal($name,"params_switch_0_aenergy_total",0)/1000)}
Mir geht es hauptsächlich nun darum, ob ich bei der gesamten Umrechnung von Einzelzähler/Summenzähler/Wattminuten zu Wattstunden zu KWattstunden etc. einen generellen Denkfehler machen. :)
Zitat von: M.Piet am 04 April 2025, 10:29:53Oder reden wir aneinander vorbei?
Ja, monotonic (ohne r 8) ) summiert nur positive Veränderungen des Zählers. D.h. wird der Shelly mal ersetzt oder zurückgesetzt fängt dein Stand wieder bei Null an. Das "durch" monotonic erzeugte Reading summiert aber weiterhin den alten Zählerstand (siehe Comref).
ZitatSumme_KW {sprintf("%.3f",ReadingsVal($name,"params_switch_0_aenergy_total",0)/1000)}
Mir geht es hauptsächlich nun darum, ob ich bei der gesamten Umrechnung von Einzelzähler/Summenzähler/Wattminuten zu Wattstunden zu KWattstunden etc. einen generellen Denkfehler machen. :)
W/Min /60 => W/h /1000 => kW/h
Kommt auf die Ausgangslage an.
Den Trigger (das Reading, das für die Änderungen wichtig ist) solltest du setzen, sonst reagiert userReadings auf alle EVENTS dieses Devices.