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.
    • smartboart
      smartboart @Abyss last edited by smartboart

      @Abyss sagte in E3DC Hauskraftwerk steuern:

      @smartboart screen brauchst du da sich sonst e3dc-control beenden würde wenn man die ssh/terminalsession verlässt. Mit screen läuft es in der screensession weiter wenn man diese richtig mit STRG A+D verlässt. Das ganze ist notwendig da e3dc-control nicht als Deamon läuft da man ja auch ab und zu den Consolenoutput sehen möchte.

      ok, verstanden....screen bildet quasi eine konsolenfenster in welchem e3DC Control starten muss...richtig?
      Muss ich das manuell machen z.B nach einem reboot oder passiert das automatisch? E3DC Control wurde ja in die autostart datei /etc/rc.local eingetragen...
      Wenn das automatisch abläuft, wie kann ich sicher stellen dass es läuft?
      Wenn ich ./E3DC.sh ausführe funktioniert die Kommunikation, ich kann werte der Anlage sehen.
      Bitte nochmal ne kurze info wie es sein soll und wie ich sicher stelle , dass es auch nach nem Neustart tut...

      EDIT:
      ok hab mal nen neustart gemacht, dann screen -r eingegeben und es schein zu laufen...
      danke für die Geduld
      Unbenannt.JPG

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

        @ArnoD Hi Arno,
        ich habe in der RSCP Entwickler Doku und im Benutzerhandbuch gelesen, dass über RSCP auch die Verbrauchsdaten abgerufen werden können... wir sollten das doch hinbekommen diese Daten in den IOBroker zu bekommen.
        Batterie V und A z.B sind im E3DC Control auch zu sehen, welche über modbus nicht abgefragt werden...

        S A 2 Replies Last reply Reply Quote 0
        • S
          stevie77 @smartboart last edited by

          @smartboart sagte in E3DC Hauskraftwerk steuern:

          ich habe in der RSCP Entwickler Doku und im Benutzerhandbuch gelesen, dass über RSCP auch die Verbrauchsdaten abgerufen werden können... wir sollten das doch hinbekommen diese Daten in den IOBroker zu bekommen.

          Hey, jetzt lass' ihn erstmal die vorhandenen Funktionalitäten so ausbauen, dass sie auch jeder nutzen kann (z.B. Statistik für Leute mit 2 PV-Anlagen)... 😉

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

            @smartboart sagte in E3DC Hauskraftwerk steuern:

            @ArnoD Hi Arno,
            ich habe in der RSCP Entwickler Doku und im Benutzerhandbuch gelesen, dass über RSCP auch die Verbrauchsdaten abgerufen werden können... wir sollten das doch hinbekommen diese Daten in den IOBroker zu bekommen.
            Batterie V und A z.B sind im E3DC Control auch zu sehen, welche über modbus nicht abgefragt werden...

            Über RSCP ist alles steuerbar und abrufbar, deswegen will ich das ja in Javascript nachbilden 🙂
            Ich zweifle nicht das wir das hinbekommen, es läuft halt wie immer über Versuch und Irrtum 😁

            @stevie77 bin schon dran, habe aber erst versucht die Fehler zu beheben mit der Abfrage bei Forecast.

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

              Neue Version 0.1.16 hochgeladen.

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

                Neue Version 0.1.17 hochgeladen.

                @stevie77
                Kannst du mal Bitte testen ob jetzt die PV-Leistung vom Leistungsmesser 0 und 1 addiert und im Diagramm angezeigt werden.
                In den User Anpassungen must du noch der Konstante "sEinspeiserLeistung_kWh" den Pfad zu "sourceanalytix.0.modbus__0__holdingRegisters__40076_Zusaetzliche_Einspeiser_Leistung.delivery.01_current_day" als Wert zuweisen.

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

                  @ArnoD sagte in E3DC Hauskraftwerk steuern:

                  Kannst du mal Bitte testen ob jetzt die PV-Leistung vom Leistungsmesser 0 und 1 addiert und im Diagramm angezeigt werden.

                  Okay, danke. Ich hab die neueste Version eingebaut bei mir. Werde morgen Abend berichten was passiert ist... 🙂

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

                    @ArnoD sagte in E3DC Hauskraftwerk steuern:

                    Neue Version 0.1.17 hochgeladen.

                    @stevie77
                    Kannst du mal Bitte testen ob jetzt die PV-Leistung vom Leistungsmesser 0 und 1 addiert und im Diagramm angezeigt werden.

                    Du hattest in nem Post gefragt, ob die Einspeiserleistung positiv oder negativ aufsummiert wird, den Post finde ich nicht mehr. Das Ergebnis ist negativ, d.h. damit das mit der Summierung beider Anlagen in der Statistik klappt, müsstest du den Wert noch irgendwo in deinem Skript mit -1 multiplizieren...

                    284ba670-ba0b-4df1-9bc5-94f4d14a62b0-image.png

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

                      @stevie77
                      Die Frage hatte sich erledigt, da ich die Werte immer in eine positive Zahl umwandele.
                      Sollte also funktionieren.

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

                        @ArnoD Achso, perfekt. Dann sollte sich ja heute Abend um 22 Uhr erstmals eine näherungsweise passende Summe in der Statistik abzeichnen. Das Abrufen der Forecast-Werte hat jetzt an 2 Tagen hintereinander geklappt, das sieht auch erstmal gut aus! 👍

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

                          Hi Arno, hab folgenden Fehler im Log zu dem aktualisierten script...

                          javascript.1	2020-07-21 14:35:40.670	warn	(1706) at processImmediate (internal/timers.js:456:21)
                          javascript.1	2020-07-21 14:35:40.670	warn	(1706) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                          javascript.1	2020-07-21 14:35:40.669	warn	(1706) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                          javascript.1	2020-07-21 14:35:40.669	warn	(1706) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                          javascript.1	2020-07-21 14:35:40.668	warn	(1706) at Object.<anonymous> (script.js.common.PVAnlage.E3DCS10EPro:1990:5)
                          javascript.1	2020-07-21 14:35:40.668	warn	(1706) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1355:20)
                          javascript.1	2020-07-21 14:35:40.666	warn	(1706) You are assigning a object to the state "javascript.1.PVAnlage.E3DC-Control.History.HistoryJSON" which expects a string. Please fix your code to use a string or change the state type to object
                          javascript.1	2020-07-21 14:35:40.665	warn	(1706) at processImmediate (internal/timers.js:456:21)
                          javascript.1	2020-07-21 14:35:40.665	warn	(1706) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                          javascript.1	2020-07-21 14:35:40.664	warn	(1706) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                          javascript.1	2020-07-21 14:35:40.663	warn	(1706) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                          javascript.1	2020-07-21 14:35:40.662	warn	(1706) at Object.<anonymous> (script.js.common.PVAnlage.E3DCS10EPro:1988:22)
                          javascript.1	2020-07-21 14:35:40.649	warn	(1706) getState "javascript.1.PVAnlage.E3DC-Control.History.HistoryJSON_17" not found (3)
                          

                          You are assigning a object to the state "javascript.1.PVAnlage.E3DC-Control.History.HistoryJSON" which expects a string. Please fix your code to use a string or change the state type to object

                          und

                          1. getState "javascript.1.PVAnlage.E3DC-Control.History.HistoryJSON_17" not found (3)

                          die objekte gehen auch nur bis 12 bei mir...

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

                            @smartboart sagte in E3DC Hauskraftwerk steuern:

                            Hi Arno, hab folgenden Fehler im Log zu dem aktualisierten script...

                            javascript.1	2020-07-21 14:35:40.670	warn	(1706) at processImmediate (internal/timers.js:456:21)
                            javascript.1	2020-07-21 14:35:40.670	warn	(1706) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                            javascript.1	2020-07-21 14:35:40.669	warn	(1706) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                            javascript.1	2020-07-21 14:35:40.669	warn	(1706) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                            javascript.1	2020-07-21 14:35:40.668	warn	(1706) at Object.<anonymous> (script.js.common.PVAnlage.E3DCS10EPro:1990:5)
                            javascript.1	2020-07-21 14:35:40.668	warn	(1706) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1355:20)
                            javascript.1	2020-07-21 14:35:40.666	warn	(1706) You are assigning a object to the state "javascript.1.PVAnlage.E3DC-Control.History.HistoryJSON" which expects a string. Please fix your code to use a string or change the state type to object
                            javascript.1	2020-07-21 14:35:40.665	warn	(1706) at processImmediate (internal/timers.js:456:21)
                            javascript.1	2020-07-21 14:35:40.665	warn	(1706) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                            javascript.1	2020-07-21 14:35:40.664	warn	(1706) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                            javascript.1	2020-07-21 14:35:40.663	warn	(1706) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                            javascript.1	2020-07-21 14:35:40.662	warn	(1706) at Object.<anonymous> (script.js.common.PVAnlage.E3DCS10EPro:1988:22)
                            javascript.1	2020-07-21 14:35:40.649	warn	(1706) getState "javascript.1.PVAnlage.E3DC-Control.History.HistoryJSON_17" not found (3)
                            

                            You are assigning a object to the state "javascript.1.PVAnlage.E3DC-Control.History.HistoryJSON" which expects a string. Please fix your code to use a string or change the state type to object

                            und

                            1. getState "javascript.1.PVAnlage.E3DC-Control.History.HistoryJSON_17" not found (3)

                            die objekte gehen auch nur bis 12 bei mir...

                            Kann es sein das du im State, HistorySelect über VIS den Wert 17 eingetragen hast ?
                            Habe gerade gesehen das ich hier einen falschen Wert größer 12 nicht abfange.

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

                              Neue Version 0.1.18 hochgeladen.

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

                                @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                @ArnoD Achso, perfekt. Dann sollte sich ja heute Abend um 22 Uhr erstmals eine näherungsweise passende Summe in der Statistik abzeichnen.

                                Das funktioniert! Danke Arno.
                                Um die Schätzungen nun etwas vorsichtiger zu fahren, muss ich nun mit dem const nKorrFaktor = 1 spielen, ne? Also mal auf 0.8 stellen oder so damit die Schätzungen kleiner werden?!

                                def4b322-477d-4691-8526-eda0dcb71d87-image.png

                                Das waren die realen Werte (ans Finanzamt würde ich Sourceanalytix-Werte nicht melden, knapp 5 kWh Ungenauigkeit an nur einem Tag/bei nur 60 erzeugten kWh):

                                b59ac6f5-b15e-45bb-9751-338f29d7d981-image.png

                                Dann gibt es da noch die Anzeige "PV-Leistung heute" in dem Kästchen auf der Seite mit den Schaltern, die momentan sourceanalytix.0.modbus__0__holdingRegisters__40068_PV_Leistung.delivery.01_current_day anzeigt. Wie wäre die beste Vorgehensweise um die beiden kumulierten Werte PV1 und PV2 den Tag über immer wieder aktualisieren zu lassen? Ein eigenes Skript, das mit on(sourceanalytix-Wert) beide Werte in nen eigenen State schreibt, oder? Für die Anzeige der aktuellen PV-Gesamtleistung mache ich so was mit den beiden Modbus-Werten, das müsste dann ja auch mit den Sourceanalytix-Werten gehen...

                                S A 2 Replies Last reply Reply Quote 0
                                • smartboart
                                  smartboart @ArnoD last edited by smartboart

                                  @ArnoD hi , hoffe nicht...denke es war die 7...Kann esaber nicht mit gewissheit sagen..hatte alle states gelöscht und neu gestartet bevor du geantwortet hast...

                                  malne Frage zur Ausrichtungder panels und deinem hinweis im script...

                                  const nAzimuth2 = 52                            // Ausrichtung der Module (-180=north, -90=east, 0=south, 90=west, 180=north)
                                  

                                  laut solcast sieht das anders aus...
                                  Unbenannt.JPG

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

                                    @stevie77 Kann man in ioBroker eigentlich Funktionen aufrufen oder Werte aus Variablen auslesen, die in einem anderen Script erstellt wurden? Anwendungsfall wäre z.B. auf die Konfigurationsdaten in deinem Skript zuzugreifen um sie nicht selbst in nem eigenen Skript nochmals angeben zu müssen...

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

                                      Um die Schätzungen nun etwas vorsichtiger zu fahren, muss ich nun mit dem const nKorrFaktor = 1 spielen, ne? Also mal auf 0.8 stellen oder so damit die Schätzungen kleiner werden?!

                                      Es sind aktuell noch zwei Parameter mit denen man spielen kann.
                                      nWirkungsgradWR in Prozent
                                      nKorrFaktor in kWh
                                      Ich würde erst nWirkungsgradWR = 100 einstellen und nKorrFaktor = 0 um zu sehen wie gut die Prognose ohne Korrektur ist und dann rantasten.

                                      Dann gibt es da noch die Anzeige "PV-Leistung heute" in dem Kästchen auf der Seite mit den Schaltern, die momentan sourceanalytix.0.modbus__0__holdingRegisters__40068_PV_Leistung.delivery.01_current_day anzeigt. Wie wäre die beste Vorgehensweise um die beiden kumulierten Werte PV1 und PV2 den Tag über immer wieder aktualisieren zu lassen? Ein eigenes Skript, das mit on(sourceanalytix-Wert) beide Werte in nen eigenen State schreibt, oder? Für die Anzeige der aktuellen PV-Gesamtleistung mache ich so was mit den beiden Modbus-Werten, das müsste dann ja auch mit den Sourceanalytix-Werten gehen...

                                      Stimmt habe ich übersehen, werde ich ändern und die Summe von PV1 und PV2 hier anzeigen.
                                      Ich werde auch das Diagramm bei Änderung der sourceanalytix-Werte aktualisieren so das man eine live Anzeige hat.

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

                                        malne Frage zur Ausrichtungder panels und deinem hinweis im script...

                                        const nAzimuth2 = 52                            // Ausrichtung der Module (-180=north, -90=east, 0=south, 90=west, 180=north)
                                        

                                        laut solcast sieht das anders aus...
                                        Unbenannt.JPG

                                        Habe mich an die API Beschreibung von Forecast gehalten:
                                        Restful API for Solar plant production

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

                                          @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                          Kann man in ioBroker eigentlich Funktionen aufrufen oder Werte aus Variablen auslesen, die in einem anderen Script erstellt wurden?

                                          Ja, wenn die Funktion in einem Skript in der Gruppe global deklariert ist.
                                          Würde ich aber mit Vorsicht verwenden, da diese Funktionen in alle anderen Scripte kopiert werden.

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

                                            @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                            @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                            Kann man in ioBroker eigentlich Funktionen aufrufen oder Werte aus Variablen auslesen, die in einem anderen Script erstellt wurden?

                                            Ja, wenn die Funktion in einem Skript in der Gruppe global deklariert ist.
                                            Würde ich aber mit Vorsicht verwenden, da diese Funktionen in alle anderen Scripte kopiert werden.

                                            Danke, das habe ich auch inzwischen so recherchiert. Meine Passwörter brauch' ich nicht in jedes Script kopiert, da kopiere ich lieber die Werte in das zusätzliche Skript...schade, dass es da kein include o.ä. gibt wo man das programmatisch steuern kann.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            901
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3331
                                            1360424
                                            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