Netzbezug und Einspeisung aus einer Float Variable ableiten

Hallo,

ich habe von meinem Wechselrichter folgende Information:

Die Variable: Total active power (powermeter) - Einspeisung ins Netz sagt mir die aktuelle Menge an Strom, die ich beziehe oder einspeise. Ist er positiv, dann beziehe ich Strom aus dem Netz, ist er negativ, speise ich ein.

Ich würde nun gerne wissen, wieviel ich eingespeist habe und wie viel ich bezogen habe pro Tag/Woche/Monat.

Habe mir nun gedacht, ich lege zwei neue Float Variablen an (Einspeisung und Netzbezug). Dann hänge ich an die übergeordnete Variablé ein Ereignis - bei Aktualisierung führe folgendes Skript aus:

//Total active power (powermeter)
$total_active_power = GetValueFloat(15762);

print_r($total_active_power);

if ($total_active_power >= 0) { 
setvaluefloat(50183);

  } else { 

setvaluefloat(13264);

    } 


Nun erst mal meine Frage - mache ich es mir evtl. so umständlich?

Danke euch?

Grüße

So wirst du nicht ans Ziel kommen. Was du haben möchtest ist ja die Gesamtmenge an Energie, also kWh. Deine Ausgangsgröße ist aber die momentane Leistung.

Um auf die Energie pro Zeiteinheit zu kommen, müsstest du die Leistungswerte entsprechend über die Zeit integrieren. Entweder gesamt oder einzeln (negativ / positiv), wenn du Einspeisung/ Netzbezug separat haben willst.

Einfacher wäre es, wenn dir deine Hardware schon aufbereitete Verbrauchswerte liefern würde.

Es müßte wohl so aussehen:

<?
$IdIn = 12345;
$IdOut = 56789;

If ($_IPS['VALUE'] > 0) {
    SetValueFloat ($IdOut,$_IPS['VALUE']);
}
else {
    SetValueFloat ($IdIn,$_IPS['VALUE'] *-1 );
}

Auf die Variablen legst dann eines der diversen Energiezähler Scripte oder Module.

greez
bb

Danke - so habe ich es nun auch gelöst.