Stromverbrauch bzw. Zählerstand etc. ermitteln aus Dummy Werten

Begonnen von sabom.2d, 02 Mai 2017, 10:04:32

Vorheriges Thema - Nächstes Thema

sabom.2d

Hallo,

nachdem ich nun per MQTT und emon  in der Lage bin, die aktuellenVerbrauchswerte in Watt an den drei Phasen im Stromzähler einzulesen, möchte ich diese Werte natürlich auch weiterverarbeiten.
Ich lese die Werte per CT Sensor als Analogwerte ein und schreibe diese dann in ein eigenes Dummy.
Zusätzlich errechne ich dann den Gesamwert über alle drei Phasen.
Leider finde ich aber nun weder hier im Forum, noch sonst wo im Netz einen Hnweis, wie ich aus den aktuellen Werten, die alle 10 sec. aktualisiert werden, die Verbrauchswerte, etc. (z.B.Tagesverbrauch, Zählerstand ) errechnen kann.  Die Hinweise hier im Forum beziehen sich größtenteils auf S0 Zähler, welche ich nicht im Einsatz habe.
Hab schon mit ElecricityCalculator experimentiert, aber das benötigt ja einen Zählerstand. Auch HourCounter hab ich mir angesehen, aber der scheint auch nicht das richtige zu sein.

Kann mir hierbei jemand auf die Sprünge helfen, wie ich aus dem Dummywert in Wh  die entsprechenden anderen Werte berechnen kann?

Gruß und Danke

sabom

Thorsten Pferdekaemper

Hi,
so mal als Anfang würde sich da userReading anbieten.
...oder aber auf das Reading mit dem aktuellen Wert ein notify machen, alles andere dort berechnen und dann per setreading in passende Readings schreiben.
Gruß,
   Thorsten
FUIP

sabom.2d

Hallo Thorsten,

danke, dass Du dir die Zeit nimmst....
Ja, das berechnen ist ja genau das Problem. Der aktuelle Wert wird alle 10 sec. ns Dummy geschrieben, aber leider finde ich keine Funktion diesen Wert nun weiter zu verarbeiten.
Eine Möglichkeit wäre wohl, die beiden letzter Werte zu nehmen, daraus den Mittelwert zu berechnen und diesen dann weiter zu verarbeiten, aber ich denke, das ganze existiert doch schon bestimmt irgend wo, glaube nicht, dass ich hier das Rad neu erfinden muß, oder?

Gruß

sabom

Thorsten Pferdekaemper

Zitat von: sabom.2d am 02 Mai 2017, 10:58:29Ja, das berechnen ist ja genau das Problem. Der aktuelle Wert wird alle 10 sec. ns Dummy geschrieben, aber leider finde ich keine Funktion diesen Wert nun weiter zu verarbeiten.
Eine Möglichkeit wäre wohl, die beiden letzter Werte zu nehmen, daraus den Mittelwert zu berechnen und diesen dann weiter zu verarbeiten, aber ich denke, das ganze existiert doch schon bestimmt irgend wo, glaube nicht, dass ich hier das Rad neu erfinden muß, oder?
Hi,
ob es genau für Deinen Fall schon etwas gibt weiß ich nicht. Ich weiß aber, dass man mit FHEM alles berechnen kann, was prinzipiell berechenbar ist. (Ich meine damit nicht i.S.d. theoretischen Informatik...)
Ich weiß nicht, warum Du da irgendwelche Mittelwerte nehmen willst. Du hast gesagt, der Wert ware schon in Wh, was ja schon ein Energie-Wert ist. Was genau sagt denn der Wert aus? In den letzten 10 Sekunden abgegebene Energie (also Wh) oder etwas anderes?
Das muss man erst einmal ganz genau klären, bevor man da was berechnen kann.
Gruß,
   Thorsten 
FUIP

sabom.2d

#4
Hallo Thorsten,

der Dummy Wert stellt den gerade aktuellen Stromverbrauch dar, welcher als Analogwert mittels CT-Sensor ermittelt wird.
Für die Umrechnung in Wh habe ich die emon.h library eingebunden. So wie es beim OpenenergryMonitor auch gemacht wird.
https://openenergymonitor.org/
Der aktuelle Verbrauchswert wird dann alle 10 sec. neu gemessen und das Dummy aktualisiert.
Konkret erhalte ich alle 10 sec. den aktuellen Verbrauchswert in Wh und daraus möchte ich gerne die weiteren Werte berechnen, wie z.B. Gesamtverbrauch der letzten Stunde, des Tages, etc. Dazu muß ich natürlich auch noch den Wert des Drehstromzählers als sog. Offset hinterlegen, damit die berechneten den tatsächlichen Werten auch entsprechen....

Ich hatte nur die Hoffnung, das es so etwas schon gibt, ähnlich dem ElectricityCalculator, der allerdings für alle Berechnungen den Zählerstand als Wert nutz, wenn ich das richtig verstanden habe
Zitat
Define

    define <name> ElectricityCalculator <regex>

        <name> :    Der Name dieses Berechnungs-Device. Empfehlung: "myElectricityCalculator".
        <regex> :    Eine gültige Regular Expression (regex or regexp) von dem Event wo der Zählerstand gefunden werden kann


Gruß

sabom

Thorsten Pferdekaemper

#5
Zitat von: sabom.2d am 02 Mai 2017, 11:39:09Für die Umrechnung in Wh habe ich die emon.h library eingebunden. So wie es beim OpenenergryMonitor auch gemacht wird.
Das werde ich jetzt nicht heraussuchen. Wenn Du mir eine Formel oder irgend etwas in der Art lieferst, dann kann ich ggf. helfen.

ZitatKonkret erhalte ich alle 10 sec. den aktuellen Verbrauchswert in Wh
Das widerspricht sich selbst. "aktueller Verbrauchswert" müsste etwas in Watt oder Ampere sein. Wh ist "Wattstunden", also eine Energie-Einheit. Das passt nicht.
Ist das dann der Verbrauchswert der letzten 10 Sekunden oder seit einem bestimmten Zeitpunkt?

ZitatDazu muß ich natürlich auch noch den Wert des Drehstromzählers als sog. Offset hinterlegen, damit die berechneten den tatsächlichen Werten auch entsprechen....
Das wäre dann das kleinere Problem.

Gruß,
   Thorsten
FUIP

sabom.2d

Hallo Thorsten,

entschuldige, aber ich wollte nicht zu tief in die Materie einsteigen, Du hast natürlich Recht,
emon liefert alle 10 sec. als aktuellen Messwert natürlich Ampere....für jede Etage, siehe Anhang.
Diese Werte rechne ich dann mittels eines "ats "schon um in W und kW. Soweit ja auch kein Problem, das klappt alles.
Es handelt sich dabei aber immer nur um die gerade gemessenen Werte. Ich will daraus aber den Rest berechnen....
Eine Möglichkeit die mir einfällt, ist eben, aus den letzten beiden Werten den Mittelwert zu berechnen, und diese aufzuaddieren.
Nur denke ich, dass es dazu bestimmt schon etwas fertiges gibt, das mir nur nicht bekannt ist. So wie das Modul ElectricityCalculator, das ist mir auch erst im Zuge meiner Suche aufgefallen. Wenn es dazu nichts gibt, muß ich eben selber etwas programmieren.

Gruß

sabom

Thorsten Pferdekaemper

Hi,
Die Stromstärke ist natürlich immer eine Momentaufnahme, aber man kann als Näherung annehmen, dass die Stromstärke über das Messintervall (10 Sekunden) gleich bleibt. (Ein Mittelwert zu bilden bringt im Endeffekt nichts, weil...

(n0+n1)/2 + (n1+n2)/2 + (n2+n3)/2 + ... = n0 / 2 + n1 + n2 + ...

Genauer wird's nur, wenn Du die Messintervalle kürzer machst.
Das ganze unterscheidet sich also im Prinzip nur im Startwert und am Ende ein bisschen von einer einfachen Summe.
D.h. wenn Du alle 10 Sekunden die Stromstärke hast und die Wh seit Anbeginn der Zeit haben willst, dann brauchst Du nur ein Reading, auf das immer wieder das hier aufaddiert wird:

<aktuellerWert>[A] * 230V * 10s

Das ist dann der Wert in Wattsekunden (auch Joule genannt...). Für kWh muss man das ganze noch durch 3600000 teilen.
Gruß,
   Thorsten




 
FUIP

sabom.2d

Hallo Thorsten,

ja, so etwas in der Art  hatte ich schon vermutet, ist wahrscheinlich doch zu einfach, um daraus ein Modul zu generieren.
Also werd ich es irgendwie in meine Umrechung mit einbeziehen.

Danke für deinen Anstubser.

Gruß

sabom