Power consumed from grid today/ power send to grid
Closed this issue · 7 comments
I have asked the Fronius Support. According to them, the value of power to/ from grid (P_Grid: http://froniusIP/solar_api/v1/GetPowerFlowRealtimeData.fcgi) must be saved each at midnight and upon next midnight like an electricity meter (which counts the electricity taken retrieved from the grid over the entire day) in order to subtract the two values.
@schweigel wäre es möglich dass du dir das mal ansiehst? Das wäre eine super Erweiterung. Man könnte über iobroker dann sehen, wie viel Strom am Tag vom Netz bezogen wird.
Hallo,
also in den PowerFlowRealtimeData konnte ich da nichts nützliches finden. Da wären zwar die aktuellen Werte wie P_Grid, aber die sind immer nur eine Momentaufnahme. Da diese während der Zeit schwanken können, wäre das nur sehr ungenau, wenn man das mit der Zeit zwischen den Messwerten multiplizieren würde.
Aber ich habe in den ArchivData die Werte EnergyReal_WAC_Minus_Absolute und EnergyReal_WAC_Plus_Absolute gefunden.
Diese geben bereits einen absoluten Verbrauch an. Wenn man nun jeweils den Tagesstartwert abzieht bekommt man den Tages Verbrauch.
An dieser Stelle müssen wir dann aber die genauen Grenzen für diesen Adapter abstecken.
Wir haben zwei Optionen:
- Nur Werte auslesen
- die Daten EnergyReal_WAC_Minus_Absolute & EnergyReal_WAC_Plus_Absolute werden wie die anderen Archivdaten zyklisch ausgelesen
- eine Verarbeitung der Zählerwerte zu Tages-, Wochen- und Monatswerten muss dann auf anderem Wege in ioBroker erfolgen
- Werte auslesen und Statistiken berechnen
- die Daten EnergyReal_WAC_Minus_Absolute & EnergyReal_WAC_Plus_Absolute werden wie die anderen Archivdaten zyklisch ausgelesen
- die ausgelesenen Daten werden statistisch verarbeitet und fallen als All-in-one-Lösung aus diesem Adapter raus
@ldittmar81 was meinst du dazu?
Ich habe gesehen das die Werte EnergyReal_WAC_Minus_Absolute & EnergyReal_WAC_Plus_Absolute bereits als normale Messwerte enthalten sind. Daher ist die umständliche Abfrage über die Archivdaten nicht nötig.
Die Statistik der z.B. Tagesdaten kann dann via JavaScript erfolgen oder zum Beispiel über den Adapter statistics.
Hi,
ich habe es nun mit Blockly gelöst. Voraussetzung ist, dass das SmartMeter den kompletten Hausverbrsuch erfasst (an Position 0?).
Zuerst die Datenpunkte als Zahl anlegen:
hier ein Export des Blockly XMLs:
-———schnipp————
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="-8PF#
5kx1eM55XS+2mq">NetzbezugAktuell
NetzbezugUmMitternacht
Netzbezug
PVProduktion
EinspeisBezug
Hausverbrauch
AutarkieGerundet
nachts Bezug setzen um Mitternacht
{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}
59
sec
NetzbezugUmMitternacht
val
fronius.0.meter.0.EnergyReal_WAC_Plus_Absolute
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.NetzbezugMitternacht
FALSE
NetzbezugUmMitternacht
FALSE
default
text
Netzbezug um Mitternacht:
NetzbezugUmMitternacht
Aktuellen Verbrauch berechnen
* * * *
NetzbezugAktuell
val
fronius.0.meter.0.EnergyReal_WAC_Plus_Absolute
NetzbezugUmMitternacht
val
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.NetzbezugMitternacht
Netzbezug
MINUS
1
NetzbezugAktuell
1
NetzbezugUmMitternacht
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.NetzbezugJeTag
FALSE
Netzbezug
Hausverbrauch, Einspeisung und Netzbezug berechnen
/5 * * * *
Hausverbrauch wenn Einspeisung (Wert negativ), dann Wert in temp. Variable schreiben, negativer Bezug positiv, voneinander abziehen und in Wert schreiben
LTE
val
fronius.0.powerflow.P_Grid
0
PVProduktion
val
fronius.0.powerflow.P_PV
EinspeisBezug
val
fronius.0.powerflow.P_Grid
EinspeisBezug
MULTIPLY
1
EinspeisBezug
-1
Hausverbrauch
MINUS
1
PVProduktion
1
EinspeisBezug
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.Hausverbrauch
FALSE
ROUNDDOWN
3.1
1
3.1234
Hausverbrauch
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.Hausverbrauch
FALSE
Hausverbrauch
Hausverbrauch wenn keine Einspeisung, Werte in temp. schreiben und voneinander abziehen, in Datenpunkt schreiben
GTE
val
fronius.0.powerflow.P_Grid
0
PVProduktion
val
fronius.0.powerflow.P_PV
EinspeisBezug
val
fronius.0.powerflow.P_Grid
Hausverbrauch
ADD
1
PVProduktion
1
EinspeisBezug
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.Hausverbrauch
FALSE
1
3.1234
ROUNDDOWN
3.1
Hausverbrauch
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.Hausverbrauch
FALSE
Hausverbrauch
Hausverbrauch: Einspeisung rausschreiben (-1)
LT
val
fronius.0.powerflow.P_Grid
0
EinspeisBezug
val
fronius.0.powerflow.P_Grid
EinspeisBezug
MULTIPLY
1
EinspeisBezug
-1
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.Einspeisung
FALSE
ROUNDDOWN
0
1
3.1234
EinspeisBezug
Netzbezug Grid größer 0
GT
val
fronius.0.powerflow.P_Grid
0
Netzbezug
val
fronius.0.powerflow.P_Grid
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.Netzbezug
FALSE
Netzbezug
Falls keine Einspeisung (grösser 0) dann Einspeisung 0 setzen
GTE
val
fronius.0.powerflow.P_Grid
0
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.Einspeisung
FALSE
0
Falls kein Netzbezug (grösser 0) dann Netzbezug 0 setzen
LTE
val
fronius.0.powerflow.P_Grid
0
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.Netzbezug
FALSE
0
AutarkieGerundet
val
fronius.0.powerflow.rel_Autonomy
javascript.0.scriptEnabled.EigeneDatenpunkte.Fronius.AutarkieGerundet
FALSE
ROUNDDOWN
3.1
1
3.1234
AutarkieGerundet
`
-———schnapp————
NetzbezugJeTag liefert den Wert in Wh und kann dann über vis/ Grafana etc. angezeigt werden.
Bei mir läuft es gut.
sorry die Code Formatierung ist nicht wirklich gut.
Der Adapter soll(te) jene Werte auslesen die das Device bietet,
Für statistische Abfragen, Archivierungen etc. gibts eigen Adapter.
Ich schließe daher hier mal.