Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. E3DC Hauskraftwerk steuern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    E3DC Hauskraftwerk steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ArnoD last edited by

      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.

      smartboart 1 Reply Last reply Reply Quote 0
      • S
        stevie77 @ArnoD last edited by

        @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...
        
        A 1 Reply Last reply Reply Quote 0
        • smartboart
          smartboart @ArnoD last edited by

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

          1 Reply Last reply Reply Quote 0
          • A
            ArnoD @smartboart last edited by

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

            smartboart 1 Reply Last reply Reply Quote 0
            • smartboart
              smartboart @ArnoD last edited by

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

              A 1 Reply Last reply Reply Quote 0
              • A
                ArnoD last edited by

                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);
                    
                });
                
                smartboart 1 Reply Last reply Reply Quote 0
                • smartboart
                  smartboart @ArnoD last edited by

                  @ArnoD sagte in E3DC Hauskraftwerk steuern:

                  // Hausstromverbrauch aktuell berechnen **************************************************************************

                  Danke sehr

                  1 Reply Last reply Reply Quote 0
                  • A
                    ArnoD @smartboart last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • A
                      ArnoD @stevie77 last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • A
                        ArnoD last edited by ArnoD

                        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.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          stevie77 last edited by

                          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.

                          1 Reply Last reply Reply Quote 0
                          • S
                            stevie77 @ArnoD last edited by

                            @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? 🙂

                            1 Reply Last reply Reply Quote 0
                            • A
                              ArnoD last edited by

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

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                stevie77 @ArnoD last edited by

                                @ArnoD Also bei mir stimmen die Summen auch von Leistungsmesser 0. Könnte aber sein, dass das nur ne Momentaufnahme ist, da ich gerade fast bei den 70% bin? Wenn es bei schwächerer Leistung einphasig wird, dann stimmt's vielleicht nicht mehr mit der Summe? Der Hausverbrauch scheint da aber nicht reinzuspielen, da die Summe exakt aufgeht?!

                                Ich kann dir leider nicht sagen, ob das beim Leistungsmesser 1 funktioniert, da ich nur einphasig einspeise, also nur auf L1 und da stimmt es immer.

                                0937e951-95f4-40c6-a110-d4799944e1e1-image.png

                                Aber du hast natürlich Recht, den modbus.0.holdingRegisters.40076_Zusaetzliche_Einspeiser_Leistung habe ich übersehen, der ist natürlich viel besser geeignet. Den verwende ich auch selbst für die Anzeige in meiner View. 🙂 Und würde wahrscheinlich auch noch bei jemandem funktionieren, der zwei externe Anlagen hat.
                                Beachten muss man hierbei (weil du das nicht testen kannst), dass dieser Wert (im Gegensatz zu modbus.0.holdingRegisters.40068_PV_Leistung) immer negativ ist:

                                da4c627a-dcf7-4644-9171-c9d832ff1620-image.png

                                Für meine Anzeige habe ich den Wert mit -1 multipliziert, das müsstest du natürlich auch machen, sonst kommt da immer ne kleinere Summe raus. 🙂
                                Ich würde mich gerne zur Verfügung stellen für Vorabtests, falls dir das hilft

                                A 3 Replies Last reply Reply Quote 0
                                • A
                                  Abyss last edited by

                                  Ich mal wieder..
                                  Ich glaub ich hab den neuen Parameter WirkungsgradWr noch nicht so ganz verstanden. Wie setzt sich der zusammen?
                                  Ich hatte gestern das neueste Script eingespielt und heut morgen eine Prognose von 4kW erhalten was ja komplett daneben war. Kann das an dem neuen Parameter hängen und dass ich da einfach was falsches eingetragen habe was die Berechnung zerstört?

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    ArnoD @Abyss last edited by

                                    @Abyss sagte in E3DC Hauskraftwerk steuern:

                                    Ich mal wieder..
                                    Ich glaub ich hab den neuen Parameter WirkungsgradWr noch nicht so ganz verstanden. Wie setzt sich der zusammen?
                                    Ich hatte gestern das neueste Script eingespielt und heut morgen eine Prognose von 4kW erhalten was ja komplett daneben war. Kann das an dem neuen Parameter hängen und dass ich da einfach was falsches eingetragen habe was die Berechnung zerstört?

                                    Der Parameter WirkungsgradWr ist der Wirkungsgrad des E3DC mit Batterie (ist bei mir 88%). Du kannst hier einfach 100 eintragen dann wirkt dieser Parameter nicht mehr. Ist ein Versuch ob ich so näher an die Prognosewerte komme ohne Korrekturfaktor.

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      ArnoD @stevie77 last edited by ArnoD

                                      @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                      modbus.0.holdingRegisters.40076_Zusaetzliche_Einspeiser_Leistung

                                      Wird bei dir hier was angezeigt über Modbus ? Bei mir ist der Wert immer 0

                                      Ok habe gerade dein Bild gesehen, es wird was angezeigt.

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        ArnoD @stevie77 last edited by

                                        @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                        Also bei mir stimmen die Summen auch von Leistungsmesser 0.

                                        Heißt das die Summe der drei Phasen ist gleich deiner PV-Leistung ??

                                        Bei mir ist es die PV Leistung - Hausverbrauch und wenn die Batterie geladen oder entladen wird wirkt sich das auch noch aus.
                                        1.png
                                        Summe der drei Phasen 2124 W
                                        PV Leistung 3813 W

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          ArnoD @stevie77 last edited by

                                          @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                          @ArnoD Also bei mir stimmen die Summen auch von Leistungsmesser 0. Könnte aber sein, dass das nur ne Momentaufnahme ist, da ich gerade fast bei den 70% bin? Wenn es bei schwächerer Leistung einphasig wird, dann stimmt's vielleicht nicht mehr mit der Summe? Der Hausverbrauch scheint da aber nicht reinzuspielen, da die Summe exakt aufgeht?!

                                          Bin etwas verwirrt.
                                          Die Summe der drei Phasen ergibt bei dir 10640 W.
                                          Von der PV-Anlage 1 kommen 7782 W und PV-Anlage 2 kommen 4224 W das wären dann 12006 W somit ist die Summe der drei Phasen nicht gleich der PV-Leistung beim Leistungsmesser 0. Wenn ich jetzt den Hausverbrauch von 760W abziehe und auch die 606 W was in den Speicher geladen wird, dann ergibt das auch bei dir die Summe der drei Phasen beim Leistungsmesser 0.

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            stevie77 @ArnoD last edited by

                                            @ArnoD Ich bin auch verwirrt. Wenn ich die Phase 1-3 des Leistungsmessers 0 in meinem Screenshot addiere, kommen ja die 10640 raus. Das ist genau die Einspeiseleistung in meinem Screenshot. Das rechts oben rot umrandete ist modbus.0.holdingRegisters.40074_Netz_Leistung. Das ist genau dieselbe Leistung, wie beide PVs zusammen - Akku und Hausverbrauch. Da komme ich zum selben Ergebnis wie du und verstehe auch nicht wirklich, wie das zusammenhängt. Die Summe beim Leistungsmesser 1 scheint der Netzleistung zu entsprechen. Leistungsmesser 0 ist also wohl das Ergebnis aus allen Erzeugern und Verbrauchern vom Hausanschluss aus gesehen.

                                            Ist aber auch egal, richtig wäre es für die Vorhersage bzw. Statistik die Register modbus.0.holdingRegisters.40068_PV_Leistung und modbus.0.holdingRegisters.40076_Zusaetzliche_Einspeiser_Leistung zu addieren und zu verwenden. Die beiden sind wirklich reine Erzeugungsleistung.

                                            2944af4d-79b2-4445-b2cd-a7653f9402ff-image.png

                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3330
                                            1355635
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo