NEWS
E3DC Hauskraftwerk steuern
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD
mir ist auch noach was aufgefallen...
sollten diese einträge nicht auf false oder true stehen..
in der config datei von eba-m im bespiel steht da false...
Keine ahnung ob das Auswirkungen hätte..
in deinem Script ist 0 eingetragen anstatt false...const sExt1 = "false"; // true, wenn ein externer Zaehler genutzt wird const sExt2 = "false"; // true, wenn ein externer Zaehler genutzt wird const sWallbox = "false";
Ja da hast du recht
Habe mir schon gedacht, das du wieder jeden Fehler findest -
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD kommt man nicht über modbus an die Erzeugungsdaten in kw/h ran? Mit den einstellungen nehme ich mir ja die möglichkeit über jahre monate aufzuzeichen..
Ich weiss nicht wie es bei dir sein wird, aber bei mir ist der Zähler erst nach der Batterie, was den vorteil hat das die
WR-Verluste erst gar nicht mitgezählt werden.
Hat aber den Nachteil das ich nicht weiss wieviel kWh ich am Tag habe, denn was in die Batterie geht erfasst mein Zähler erst wenn die Batterie entladen wird. Das Problem habe ich deswegen mit sourceanalytix gelöst, das aus der PV-Leistung mir die kWh am Tag berechnet. -
@ArnoD ok verstehe, aber wie genau ist das? Die Leistung schwank ständig...und in Abhängigkeit der Poll Zeit des Modbusaapter verfälscht sich auch die Berechnung...Welche wahrscheinlich auch gut Ressourcen frisst oder?
-
@smartboart ich habe vor den Analytics Adapter auch für das loggen der Zählerstände zu nehmen und daraus die Werte für die Umsatzsteuervoranmaldung und Verbrauchswerte abzuleiten. Das geht dann aber mit den adapter Grundeinstellungen nicht mehr..
-
Sourceanalytix ist natürlich kein genauer Zähler, kommt aber ungefähr so hin.
Für die Umsatzsteuervoranmeldung lese ich meine Zähler mit der Homematic Zählersensor-Sendeeinheit HM-ES-TX-WM direkt aus und speichere die Werte jedes Monat.
Das sieht dann so aus:
-
@ArnoD ....geil...Das ist natürlich mega...auch haben will....
Aber erstmal 1 nach dem anderen...jetzt erst mal die Analge ans laufen bringen...Das script hast hier nicht zufällig auch im Forum? -
@ArnoD wegen dem source analytics nochmal, gehe ich recht in der Annahme, dass du die aktuelle Version nicht nimmst, weil die 2020 davor steht und somit im script nochmal aufbereitet werden muesste um es auf dauer aktuell zu halten?
-
Nein, kann ich aber hier einstellen bei Intresse. Der Vorteil ist ich kann nicht vergessen die Zähler jedes Monat abzulesen und die Werte die ich für die Vorsteuer benötige werden automatisch berechnet.
-
@ArnoD Danke. Jetzt wird zumindest mal die Zahl 0 angezeigt für PV-Leistung heute.
Da bin ich heute dank deiner Hilfe ein Stück voran gekommen. Mal sehen, was die kommenden Tage passiert.Ich hab im Log des ioBrokers Fehler drin bei dem TypeScript für Proplanta - hast du das auch? Vernachlässigbar?
javascript.0 2020-07-12 20:11:16.544 error (536) script.js.e3dc-control.handleProplantaWeatherForecast: setForeignState: undefined is not a valid state value javascript.0 2020-07-12 20:11:16.544 warn (536) at process._tickCallback (internal/process/next_tick.js:63:19) javascript.0 2020-07-12 20:11:16.544 warn (536) at endReadableNT (_stream_readable.js:1145:12) javascript.0 2020-07-12 20:11:16.544 warn (536) at IncomingMessage.emit (events.js:203:15) javascript.0 2020-07-12 20:11:16.544 warn (536) at Object.onceWrapper (events.js:286:20) javascript.0 2020-07-12 20:11:16.544 warn (536) at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12) javascript.0 2020-07-12 20:11:16.544 warn (536) at Request.emit (events.js:198:13) javascript.0 2020-07-12 20:11:16.543 warn (536) at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10) javascript.0 2020-07-12 20:11:16.543 warn (536) at Request.emit (events.js:198:13) javascript.0 2020-07-12 20:11:16.543 warn (536) at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) javascript.0 2020-07-12 20:11:16.543 warn (536) at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:37:17) javascript.0 2020-07-12 20:11:16.543 warn (536) at script.js.e3dc-control.handleProplantaWeatherForecast:683:17 javascript.0 2020-07-12 20:11:16.543 warn (536) at addLine (script.js.e3dc-control.handleProplantaWeatherForecast:124:9) javascript.0 2020-07-12 20:11:16.543 warn (536) at mySetState (script.js.e3dc-control.handleProplantaWeatherForecast:151:13) javascript.0 2020-07-12 20:11:16.542 warn (536) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1355:20) javascript.0 2020-07-12 20:11:16.542 warn (536) You are assigning a undefined to the state "javascript.0.wetter.proplanta.d0.Taubildung" which expects a number. Please fix your code to use a number or change the state type to undefined. This javascript.0 2020-07-12 20:11:16.542 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.VerdunstungundefinedtextList javascript.0 2020-07-12 20:11:16.541 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.VerdunstungundefinedtextList javascript.0 2020-07-12 20:11:16.541 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.VerdunstungundefinedtextList javascript.0 2020-07-12 20:11:16.541 error (536) script.js.e3dc-control.handleProplantaWeatherForecast: setForeignState: undefined is not a valid state value javascript.0 2020-07-12 20:11:16.541 warn (536) at process._tickCallback (internal/process/next_tick.js:63:19) javascript.0 2020-07-12 20:11:16.541 warn (536) at endReadableNT (_stream_readable.js:1145:12) javascript.0 2020-07-12 20:11:16.541 warn (536) at IncomingMessage.emit (events.js:203:15) javascript.0 2020-07-12 20:11:16.540 warn (536) at Object.onceWrapper (events.js:286:20) javascript.0 2020-07-12 20:11:16.540 warn (536) at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12) javascript.0 2020-07-12 20:11:16.540 warn (536) at Request.emit (events.js:198:13) javascript.0 2020-07-12 20:11:16.540 warn (536) at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10) javascript.0 2020-07-12 20:11:16.540 warn (536) at Request.emit (events.js:198:13) javascript.0 2020-07-12 20:11:16.540 warn (536) at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) javascript.0 2020-07-12 20:11:16.540 warn (536) at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:37:17) javascript.0 2020-07-12 20:11:16.540 warn (536) at script.js.e3dc-control.handleProplantaWeatherForecast:682:17 javascript.0 2020-07-12 20:11:16.539 warn (536) at addLine (script.js.e3dc-control.handleProplantaWeatherForecast:124:9) javascript.0 2020-07-12 20:11:16.539 warn (536) at mySetState (script.js.e3dc-control.handleProplantaWeatherForecast:151:13) javascript.0 2020-07-12 20:11:16.539 warn (536) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1355:20) javascript.0 2020-07-12 20:11:16.538 warn (536) You are assigning a undefined to the state "javascript.0.wetter.proplanta.d0.Verdunstung" which expects a number. Please fix your code to use a number or change the state type to undefined. This javascript.0 2020-07-12 20:11:16.538 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.BodenfrostundefinedtextBool javascript.0 2020-07-12 20:11:16.538 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.BodenfrostundefinedtextBool javascript.0 2020-07-12 20:11:16.537 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.BodenfrostundefinedtextBool javascript.0 2020-07-12 20:11:16.536 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.Niederschlagsstundenundefinednumber javascript.0 2020-07-12 20:11:16.536 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.Niederschlagsstundenundefinednumber javascript.0 2020-07-12 20:11:16.536 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.Niederschlagsstundenundefinednumber javascript.0 2020-07-12 20:11:16.535 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.NiederschlagsrisikoNachtundefinednumber javascript.0 2020-07-12 20:11:16.535 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.NiederschlagsrisikoNachtundefinednumber javascript.0 2020-07-12 20:11:16.535 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.NiederschlagsrisikoNachtundefinednumber javascript.0 2020-07-12 20:11:16.534 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.NiederschlagsrisikoTagundefinednumber javascript.0 2020-07-12 20:11:16.534 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.NiederschlagsrisikoTagundefinednumber javascript.0 2020-07-12 20:11:16.533 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.NiederschlagsrisikoTagundefinednumber javascript.0 2020-07-12 20:11:16.532 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.TemperaturMinNachtundefinednumber javascript.0 2020-07-12 20:11:16.532 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.TemperaturMinNachtundefinednumber javascript.0 2020-07-12 20:11:16.532 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.TemperaturMinNachtundefinednumber javascript.0 2020-07-12 20:11:16.531 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.TemperaturMinGefuehltundefinednumber javascript.0 2020-07-12 20:11:16.531 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.TemperaturMinGefuehltundefinednumber javascript.0 2020-07-12 20:11:16.531 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.TemperaturMinGefuehltundefinednumber javascript.0 2020-07-12 20:11:16.530 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.TemperaturMinundefinednumber javascript.0 2020-07-12 20:11:16.530 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.TemperaturMinundefinednumber javascript.0 2020-07-12 20:11:16.529 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.TemperaturMinundefinednumber javascript.0 2020-07-12 20:11:16.528 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.TemperaturMaxGefuehltundefinednumber javascript.0 2020-07-12 20:11:16.528 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.TemperaturMaxGefuehltundefinednumber javascript.0 2020-07-12 20:11:16.528 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.TemperaturMaxGefuehltundefinednumber javascript.0 2020-07-12 20:11:16.527 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.TemperaturMaxundefinednumber javascript.0 2020-07-12 20:11:16.526 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.TemperaturMaxundefinednumber javascript.0 2020-07-12 20:11:16.526 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.TemperaturMaxundefinednumber javascript.0 2020-07-12 20:11:16.525 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d3.Datumundefinedtext javascript.0 2020-07-12 20:11:16.525 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d2.Datumundefinedtext javascript.0 2020-07-12 20:11:16.524 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: can not set d1.Datumundefinedtext javascript.0 2020-07-12 20:11:15.638 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: registered 0 subscriptions and 1 schedule javascript.0 2020-07-12 20:11:15.531 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: TypeScript compilation successful javascript.0 2020-07-12 20:11:11.720 info (536) script.js.e3dc-control.handleProplantaWeatherForecast: compiling TypeScript source...
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Nein, kann ich aber hier einstellen bei Intresse. Der Vorteil ist ich kann nicht vergessen die Zähler jedes Monat abzulesen und die Werte die ich für die Vorsteuer benötige werden automatisch berechnet.
ja bitte , das ist genau der Grund warum ich das auch realisieren wollte...
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD wegen dem source analytics nochmal, gehe ich recht in der Annahme, dass du die aktuelle Version nicht nimmst, weil die 2020 davor steht und somit im script nochmal aufbereitet werden muesste um es auf dauer aktuell zu halten?
Nein, weil in der aktuellen Version die Tagesberechnung in kWh leider nicht funktioniert, oder nur einen Tag funktioniert. Musste jeden Tag den Adapter Sourceanalytix neu Starten.
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD wegen dem source analytics nochmal, gehe ich recht in der Annahme, dass du die aktuelle Version nicht nimmst, weil die 2020 davor steht und somit im script nochmal aufbereitet werden muesste um es auf dauer aktuell zu halten?
Nein, weil in der aktuellen Version die Tagesberechnung in kWh leider nicht funktioniert, oder nur einen Tag funktioniert. Musste jeden Tag den Adapter Sourceanalytix neu Starten.
ok...gut zu wissen...hast da ein issue bei github aufgemacht? Weil ich würde das gerne aktuellhalten...
-
Hier das Script was ich verwende:
// Hausstromverbrauch aktuell berechnen ************************************************************************** createState('Stromzaehler.Zaehlerstaende.Netzbezug.alt', 0, {name: 'lezter Zählerstand Monatsbeginn', type: 'number', unit: 'kWh' }); createState('Stromzaehler.Zaehlerstaende.Netzeinspeisung.alt', 0, {name: 'lezter Zählerstand Monatsbeginn', type: 'number', unit: 'kWh' }); createState('Stromzaehler.Zaehlerstaende.Solarproduktion.alt', 0, {name: 'lezter Zählerstand Monatsbeginn', type: 'number', unit: 'kWh' }); for(var i = 1; i<= 12; i++) { createState('Stromzaehler.Zaehlerstaende.Netzbezug.Monat'+ i, 0, {name: 'Zählerstand Netzbezug Monat'+ i, type: 'number', unit: 'kWh' }); createState('Stromzaehler.Zaehlerstaende.Netzeinspeisung.Monat'+ i, 0, {name: 'Zählerstand Netzeinspeisung Monat'+ i, type: 'number', unit: 'kWh' }); createState('Stromzaehler.Zaehlerstaende.Solarproduktion.Monat'+ i, 0, {name: 'Zählerstand PV-Anlage Monat'+ i, type: 'number', unit: 'kWh' }); createState('Stromzaehler.Berechnung.Netzeinspeisung.Monat'+ i, 0, {name: 'Ins Netz eingespeiste kWh im Monat'+ i, type: 'number', unit: 'kWh' }); createState('Stromzaehler.Berechnung.Netzbezug.Monat'+ i, 0, {name: 'Aus Netz bezogene kWh im Monat'+ i, type: 'number', unit: 'kWh' }); createState('Stromzaehler.Berechnung.Solarproduktion.Monat'+ i, 0, {name: 'Erzeugter Strom PV-Anlage im Monat'+ i, type: 'number', unit: 'kWh' }); createState('Stromzaehler.Berechnung.Eigenverbrauch.Monat'+ i, 0, {name: 'Selbst verbrauchter PV-Strom im Monat'+ i, type: 'number', unit: 'kWh' }); createState('Stromzaehler.Berechnung.Autarkie.Monat'+ i, 0, {name: 'Autarkie Grad im Monat'+ i, type: 'number', unit: '%' }); createState('Stromzaehler.Berechnung.Datum'+ i); createState('Stromzaehler.Berechnung.Datum'+ i, '', {name: 'Ablesedatum im Monat'+ i}); } // Zählerstände Monatlich um 23:55 speichern für Finanzamt schedule("0 0 1 * *", function() { //schedule({hour: 11, minute: 7}, function () { var nBezugZaehlerAktuell = Math.floor(getState('hm-rpc.0.QEQ0337064.1.IEC_ENERGY_COUNTER').val); var nEinspeiseZaehlerAktuell = Math.floor(getState('hm-rpc.0.QEQ0337064.2.IEC_ENERGY_COUNTER').val); var PvZaehlerAktuell=Math.floor(getState('hm-rpc.0.QEQ0337042.1.IEC_ENERGY_COUNTER').val); var nBezugZaehlerAlt = getState('Stromzaehler.Zaehlerstaende.Netzbezug.alt').val; var nEinspeiseZaehlerAlt = getState('Stromzaehler.Zaehlerstaende.Netzeinspeisung.alt').val; var PvZaehlerAlt=getState('javascript.0.Stromzaehler.Zaehlerstaende.Solarproduktion.alt').val; var nBezugZaehlerNeu = nBezugZaehlerAktuell - nBezugZaehlerAlt; var nEinspeiseZaehlerNeu = nEinspeiseZaehlerAktuell - nEinspeiseZaehlerAlt; var PvZaehlerNeu = PvZaehlerAktuell - PvZaehlerAlt; var EigenverbrauchNeu = PvZaehlerNeu - nEinspeiseZaehlerNeu; var AutarkieNeu = EigenverbrauchNeu / ((nBezugZaehlerNeu+EigenverbrauchNeu)/100); // Datum vom Vortag berechnen var jetzt = new Date(); var Theute = jetzt.getDate(); var Tgestern = new Date(); Tgestern.setDate(Theute-1); var DatumAkt=((Tgestern.getDate())+'.'+ (Tgestern.getMonth()+1) +'.'+ Tgestern.getFullYear()); var MonatAkt=(Tgestern.getMonth()+1); setState('Stromzaehler.Zaehlerstaende.Netzbezug.Monat'+ MonatAkt,nBezugZaehlerAktuell); setState('Stromzaehler.Zaehlerstaende.Netzeinspeisung.Monat'+ MonatAkt,nEinspeiseZaehlerAktuell); setState('Stromzaehler.Zaehlerstaende.Solarproduktion.Monat'+ MonatAkt,PvZaehlerAktuell); setState('Stromzaehler.Berechnung.Netzeinspeisung.Monat'+ MonatAkt,nEinspeiseZaehlerNeu); setState('Stromzaehler.Berechnung.Netzbezug.Monat'+ MonatAkt,nBezugZaehlerNeu); setState('Stromzaehler.Berechnung.Solarproduktion.Monat'+ MonatAkt,PvZaehlerNeu); setState('Stromzaehler.Berechnung.Eigenverbrauch.Monat'+ MonatAkt,EigenverbrauchNeu); setState('Stromzaehler.Berechnung.Autarkie.Monat'+ MonatAkt,AutarkieNeu); setState('Stromzaehler.Berechnung.Datum'+ MonatAkt,DatumAkt); setState('Stromzaehler.Zaehlerstaende.Netzeinspeisung.alt',nEinspeiseZaehlerAktuell); setState('Stromzaehler.Zaehlerstaende.Netzbezug.alt',nBezugZaehlerAktuell); setState('Stromzaehler.Zaehlerstaende.Solarproduktion.alt',PvZaehlerAktuell); });
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
// Hausstromverbrauch aktuell berechnen **************************************************************************
Danke sehr
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
ok...gut zu wissen...hast da ein issue bei github aufgemacht? Weil ich würde das gerne aktuellhalten...
Der Fehler und auch weiter sind im Forum diskutiert worden, habe aber nicht nachgeschaut ob ein issue bei github aufgemacht worden ist.
-
@stevie77
Ja immer wieder mal bei einem anderen Wert, habe aber noch nicht rausgefunden an was das liegt. Vermute, dass wenn ein Wert von Proplanta nicht abgerufen werden kann, dass dann undefined zurückgegeben wird und das im TypeScript nicht abgefangen wird.
Hatte aber noch keine Zeit mich genauer damit zu beschäftigen, und da ich ja nur die Globalstrahlung benötige hatte es auch nicht die Priorität bei mir. -
Ok die Version 0.1.14 habe ich gerade in meinem ersten Beitrag eingestellt.
Habe die Fehler korrigiert, die ihr so fleißig gefunden habt
Danke dafür.Das mit dem einlesen einer bereits bestehnden e3dc.config.txt muss ich mir Morgen erst mal genauer ansehen.
Der erste Versuch ist hier erst mal gescheitert, aber ist ja auch schon spät. -
Ach, das ist der Fehler, den du relativ weit unten in den Kommentaren schon mal erwähnt hast. Und wenn alle benötigten Daten gelesen werden, dann ist es ja okay. Wollte nur wissen, ob ich mir Sorgen machen muss.
In Java kann man so ne Properties-Datei komplett selbstständig schreiben und lesen lassen, der Mechanismus findet die Parameter immer anhand des Namens. Vielleicht gibt's sowas auch für Javascript? Ist aber auch nicht so wichtig, finde ich, wenn man es weiß, stellt man es halt einmal an der Oberfläche ein und speichert es dann weg. -
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Habe die Fehler korrigiert, die ihr so fleißig gefunden habt
Zur Abwechslung hätte ich einen Feature Request.
Ich vermute mal ins Blaue, dass du an deinem Hauskraftwerk keine externe Quelle angeschlossen hast? Ich hab' da nämlich eine zweite PV-Anlage angeschlossen und die wird momentan nicht berücksichtigt.const sPvLeistung_kWh = 'sourceanalytix.0.modbus__0__holdingRegisters__40068_PV_Leistung.delivery.01_current_day' // Pfad State Modul Sourceanalytix PV-Leistung Tag'
Dieses Register liefert leider nur die aktuelle Leistung der direkt an das HKW angeschlossenen PV-Anlage. Man bräuchte noch die Summe aus modbus.0.holdingRegisters.40110_Leistungsmesser_1_L1, modbus.0.holdingRegisters.40111_Leistungsmesser_1_L2 und modbus.0.holdingRegisters.40112_Leistungsmesser_1_L3. Also die drei Phasen des 1. Leistungsmessers (nach dem Wurzelmesser 0).
Und diese Summe müsste mit deinem jetzt schon verwendeten Register kombiniert werden für die Statistik (separate View) und auch die Anzeige sourceanalytix.0.modbus__0__holdingRegisters__40068_PV_Leistung.delivery.01_current_day in der View mit den ganzen Parametereinstellungen.Möglicherweise könnte ich die Additionen selbst mit einem Javascript lösen und als State speichern ("PV-Leistung heute" würde ich sicher hinbekommen, bei der Grafik weiß ich nicht), aber vielleicht hast du ja ne Idee und den Elan das allgemeingültig für alle zu machen, die mehr als eine PV-Anlage haben?
-
@stevie77
Es ist schwirig was zu Programmieren wenn man es selber nicht testen kann.
Entspricht die Summe L1,L2,L3 beim Leistungsmesser 1 der PV-Leistung ? Beim Leistungsmesser 0 ist das ja nicht der Fall.
Da die Summe L1,L2,L3 = Leistung am Netzübergabepunkt = PVLeistung - HausverbrauchsLeistung - oder + BatterieLeistung entspricht.
Was ist mit dem Modbus Register 40076 Leistung aller zusätzlichen Einspeiser in Watt wird dort nicht eventuell die Summe ausgegeben ?
Wie gesagt ich kann das alles nicht testen.