NEWS
IOBroker Parser Daten auslesen
-
@paul53
Das ist der Strom der seit Mitternacht ins Netz geliefert wurde.
Ich habe noch keine Möglichkeit gefunden wie ich an Hand der vorhandenen Daten die kWh errechnen kann die seit 00:00 ins Stromnetz geliefert wurden.Also um das Ganze Bild zu bekommen:
Ich lese zwei Wechselrichter über MODBUS aus und ermittle mir folgende Wert über Blocky scripte,- Aktueller erzeugter Strom in Summe und kWh
Am SmartPi2 ist der Wert Production today: der Strom der seit Mitternacht geliefert also verkauft wurde
Wenn ich diesen Wert auslesen kann dann kann ich folgendes errechnen- Aktueller erzeugter Strom in kWh
- Aktueller gelieferter Strom in kWh
- Aktueller Eigenverbrauch in kWh
Wie ich diese Daten dann noch weiterverwende lasse ich mal so stehen
mfg Stefan
-
@w_stefan sagte:
an Hand der vorhandenen Daten die kWh errechnen kann die seit 00:00 ins Stromnetz geliefert wurden.
Welche Energiedaten (kWh) hast Du ? Bei zwei Zählern müssen es mindestens 2 sein.
-
@w_stefan Habe nochmal in die API-Beschreibung geschaut: Was liefert ?
http://192.168.1.40/api/chart/123/energy_neg/from/2019-05-28T00:00:00.000Z/to/2019-05-28T23:59:59.000Z
-
@paul53
Da bekomme ich eine sehr lange liste ich füge mal ein paar Zeilen davon ein,[{"key":"energy_neg_1","values":[{"time":"2019-05-28T00:00:38+0200","value":0},{"time":"2019-05-28T00:01:38+0200","value":0},{"time":"2019-05-28T00:02:38+0200","value":0},{"time":"2019-05-28T00:03:38+0200","value":0},{"time":"2019-05-28T00:04:38+0200","value":0},{"time":"2019-05-28T00:05:38+0200","value":0},{"time":"2019-05-28T00:06:38+0200","value":0},{"time":"2019-05-28T00:07:38+0200","value":0},{"time":"2019-05-28T00:08:38+0200","value":0},{"time":"2019-05-28T00:09:38+0200","value":0},{"time":"2019-05-28T00:10:38+0200","value":0},{"time":"2019-05-28T00:11:38+0200","value":0},{"time":"2019-05-28T00:12:38+0200","value":0},{"time":"2019-05-28T00:13:38+0200","value":0},{"time":"2019-05-28T00:14:38+0200","value":0},{"time":"2019-05-28T00:15:38+0200","value":0},{"time":"2019-05-28T00:16:38+0200","value":0},{"time":"2019-05-28T00:17:38+0200","value":0},{"time":"2019-05-28T00:18:38+0200","value":0},{"time":"2019-05-28T00:19:38+0200","value":0},{"time":"2019-05-28T00:20:38+0200","value":0},{"time":"2019-05-28T00:21:38+0200","value":0},{"time":"2019-05-28T00:22:38+0200","value":0},{"time":"2019-05-28T00:23:38+0200","value":0},{"time":"2019-05-28T00:24:38+0200","value":0},{"time":"2019-05-28T00:25:38+0200","value":0},{"time":"2019-05-28T00:26:38+0200","value":0},{"time":"2019-05-28T00:27:38+0200","value":0},{"time":"2019-05-28T00:28:38+0200","value":0},{"time":"2019-05-28T00:29:38+0200","value":0},{"time":"2019-05-28T00:30:38+0200","value":0},{"time":"2019-05-28T00:31:38+0200","value":0},{"time":"2019-05-28T00:32:38+0200","value":0},{"time":"2019-05-28T00:33:38+0200","value":0},{"time":"2019-05-28T00:34:38+0200","value":0},{"time":"2019-05-28T00:35:38+0200","value":0},{"time":"2019-05-28T00:36:38+0200","value":0},{"time":"2019-05-28T00:37:38+0200","value":0},{"time":"2019-05-28T00:38:38+0200","value":0},{"time":"2019-05-28T00:39:38+0200","value":0},{"time":"2019-05-28T00:40:38+0200","value":0},{"time":"2019-05-28T00:41:38+0200","value":0},{"time":"2019-05-28T00:42:38+0200","value":0},{"time":"2019-05-28T00:43:38+0200","value":0}, ...... {"time":"2019-05-28T05:36:38+0200","value":0},{"time":"2019-05-28T05:37:38+0200","value":0.011686},{"time":"2019-05-28T05:38:38+0200","value":0.215463},{"time":"2019-05-28T05:39:38+0200","value":0.320196},{"time":"2019-05-28T05:40:38+0200","value":0.396893},{"time":"2019-05-28T05:41:38+0200","value":0.464893},{"time":"2019-05-28T05:42:38+0200","value":0.548018},{"time":"2019-05-28T05:43:38+0200","value":0.626463},{"time":"2019-05-28T05:44:38+0200","value":0.769812},{"time":"2019-05-28T05:45:38+0200","value":0.879776},{"time":"2019-05-28T05:46:38+0200","value":0.864358},{"time":"2019-05-28T05:47:38+0200","value":0.47255},{"time":"2019-05-28T05:48:38+0200","value":0.508675},{"time":"2019-05-28T05:49:38+0200","value":0.787256},{"time":"2019-05-28T05:50:38+0200","value":0.910286},{"time":"2019-05-28T05:51:38+0200","value":0.971017},{"time":"2019-05-28T05:52:38+0200","value":1.038461},{"time":"2019-05-28T05:53:38+0200","value":1.155311},{"time":"2019-05-28T05:54:38+0200","value":1.259149},{"time":"2019-05-28T05:55:38+0200","value":1.338321},{"time":"2019-05-28T05:56:38+0200","value":1.393945},{"time":"2019-05-28T05:57:38+0200","value":1.410182},{"time":"2019-05-28T05:58:38+0200","value":1.392263},{"time":"2019-05-28T05:59:38+0200","value":1.358365},{"time":"2019-05-28T06:00:38+0200","value":1.279139},{"time":"2019-05-28T06:01:38+0200","value":1.232844},{"time":"2019-05-28T06:02:38+0200","value":1.240933},{"time":"2019-05-28T06:03:38+0200","value":1.221412},{"time":"2019-05-28T06:04:38+0200","value":1.182327},{"time":"2019-05-28T06:05:38+0200","value":1.039863},{"time":"2019-05-28T06:06:38+0200","value":1.025826},{"time":"2019-05-28T06:07:38+0200","value":1.053544},{"time":"2019-05-28T06:08:38+0200","value":1.058505},{"time":"2019-05-28T06:09:38+0200","value":1.203207},{"time":"2019-05-28T06:10:38+0200","value":1.408451},{"time":"2019-05-28T06:11:38+0200","value":1.608653},{"time":"2019-05-28T06:12:38+0200","value":1.814166},{"time":"2019-05-28T06:13:38+0200","value":2.038608},{"time":"2019-05-28T06:14:38+0200","value":2.125416},{"time":"2019-05-28T06:15:38+0200","value":2.137722}, ....
-
Im IOBroker habe ich die kWh die meine SolarAnlage erzeugt.
Am SmartPi2 habe ich Production today: das sind die kWh die Geliefert wurden also,
Erzeugte kWh - Eigenverbrauch kWh = Production todayDer SMA Wechselrichter zeigt den Tagesertrag in kWH an
Der SolarEdge hat nur einen Gesamtertrag in kWh den im mir errechne indem ich den Vortageswert von 00:00 Uhr nehme und den vom aktuellen Gesamtertrag abziehe. -
@w_stefan Da ich keine PV habe, muss ich fragen: Wofür ist der SMA-Wechselrichter und wofür SolarEdge ?
-
@w_stefan sagte:
Da bekomme ich eine sehr lange liste
Was bekommst Du, wenn als Zeitspanne eine Minute angegeben wird ?
http://192.168.1.40/api/chart/123/energy_neg/from/2019-05-28T20:09:00.000Z/to/2019-05-28T20:10:00.000Z
-
@paul53
Ich habe 5kWp Photovoltaik an einem SMA Wechselrichter und 6.5kWp Photovoltaik an einem SolarEdge Wechselrichter -
@w_stefan Also hast Du für Netzeinspeisung und -bezug nur die Informationen vom Smartpi ?
Dann kann man die Energiewerte mit einem Skript aus den Leistungen ermitteln. Als Anfangswerte für createState() bitte die Werte des "echten" Zählers eintragen !const idPower1 = '...'; // Phase 1 const idPower2 = '...'; // Phase 2 const idPower3 = '...'; // Phase 3 const idBezug = 'Smartpi.Bezug'; const idEinspeis = 'Smartpi.Einspeisung'; const idEinHeute = 'Smartpi.Einspeisung_heute'; const idEin0Uhr = 'Smartpi.Einspeisung_Mitternacht'; // Energie-Datenpunkt erzeugen createState(idBezug, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen ! createState(idEinspeis, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen ! createState(idEinHeute, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen ! createState(idEin0Uhr, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen ! var e1, e2, e3; var bezug, einspeis, mitternacht; setTimeout(function() { bezug = 1000 * getState(idBezug).val; // Wh einspeis = 1000 * getState(idEinspeis).val; mitternacht = 1000 * getState(idEin0Uhr).val; }, 100); // Verzögerung für createState() function calcEnergy() { var energy = (e1 + e2 + e3) / 3600000; // Wh if(energy >= 0) { bezug = bezug + energy; setState(idBezug, Math.round(bezug) / 1000, true); // kWh mit 3 Nachkommastellen } else { einspeis = einspeis - energy; setState(idEinspeis, Math.round(einspeis) / 1000, true); // kWh mit 3 Nachkommastellen setState(idEinHeute, Math.round(einspeis - mitternacht) / 1000, true); } } on({id: idPower1}, function(dp) { e1 = dp.oldState.val * (dp.state.ts - dp.oldState.ts); // mWs setTimeout(calcEnergy, 500); }); on({id: idPower2}, function(dp) { e2 = dp.oldState.val * (dp.state.ts - dp.oldState.ts); // mWs ); on({id: idPower3}, function(dp) { e3 = dp.oldState.val * (dp.state.ts - dp.oldState.ts); // mWs }); schedule('0 0 * * *', function() { // täglich um Mitternacht mitternacht = einspeis; setState(idEin0Uhr, Math.round(einspeis) / 1000, true); // kWh mit 3 Nachkommastellen });
-
@paul53
Danke für den Script ich werde das bei Gelegenheit mal testen.Ich werde den SmartPi2 mit einen anderen SmartMeter ersetzen welches mir die benötigen Werte und noch mehr über ModBus liefert.
Mit dem SmartPi2 hatte bzw habe ich so einige Problem und ich glaube die Software ist noch nicht dort angekommen wo der Entwickler sie gerne haben möchte.mfg Stefan
-
@w_stefan könntest du einem Neuling beschreiben, wie du die Daten über MQTT vom smartPi auf den ioBroker bekommst? Was muss ich im smartPi und was im IoBroker eintragen?