iobroker-community-adapters / ioBroker.fronius

ioBroker Adapter für Fronius Wechselrichter mit Fronius Datalogger Web ab Version 2.0.4-1 oder Fronius Datamanager ab Version 3.0.3-1
MIT License
21 stars 21 forks source link

Power consumed from grid today/ power send to grid #37

Closed m4ding closed 1 year ago

m4ding commented 4 years ago

Hi,

I‘m using v1.05 of the adapter. I could not find a value for the following two: Power consumed from grid today (until now) Power send to grid today (until now)

Example shown on fronius website (left to grid, right from grid)

EA12D941-4112-48A1-8EC3-241D6A1A0A28

Thanks!

m4ding commented 4 years ago

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.

m4ding commented 3 years ago

@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.

schweigel commented 3 years ago

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:

  1. 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
  2. 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?

schweigel commented 3 years ago

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.

m4ding commented 3 years ago

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:

10CFEB75-FEED-4AB4-A54F-B7A8B12D5CD7

hier ein Export des Blockly XMLs:

-———schnipp————

`

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.

m4ding commented 3 years ago

sorry die Code Formatierung ist nicht wirklich gut.

mcm1957 commented 1 year ago

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.