Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. E3DC Hauskraftwerk steuern

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

E3DC Hauskraftwerk steuern

Geplant Angeheftet Gesperrt Verschoben JavaScript
3.5k Beiträge 70 Kommentatoren 1.6m Aufrufe 61 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A ArnoD

    @chrischros
    Es reicht schon, wenn du das Script stoppst und in dem Reiter Objekte E3DC-Control löschen würdest.
    Beim Starten vom Script würden dann alle States neu angelegt werden.

    C Offline
    C Offline
    ChrisChros
    schrieb am zuletzt editiert von
    #1035

    @arnod
    leider keine Besserung

    2021-09-29 21:02:20.343 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Einspeiselimit" has to be type "string" but received type "number"
    2021-09-29 21:02:20.349 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.UntererLadekorridor" has to be type "string" but received type "number"
    2021-09-29 21:02:20.353 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.ObererLadekorridor" has to be type "string" but received type "number"
    2021-09-29 21:02:20.360 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.MinimumLadeleistung" has to be type "string" but received type "number"
    2021-09-29 21:02:20.367 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.MaximumLadeleistung" has to be type "string" but received type "number"
    2021-09-29 21:02:20.380 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeschwelle" has to be type "string" but received type "number"
    2021-09-29 21:02:20.385 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeende" has to be type "string" but received type "number"
    2021-09-29 21:02:20.390 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeende2" has to be type "string" but received type "number"
    2021-09-29 21:02:20.396 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Winterminimum" has to be type "string" but received type "number"
    2021-09-29 21:02:20.402 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Sommermaximum" has to be type "string" but received type "number"
    2021-09-29 21:02:20.408 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Sommerladeende" has to be type "string" but received type "number"
    2021-09-29 21:02:20.416 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Speichergroesse" has to be type "string" but received type "number"
    
    1 Antwort Letzte Antwort
    0
    • A Online
      A Online
      ArnoD
      schrieb am zuletzt editiert von
      #1036

      @chrischros
      Kann es eventuell an Web liegen? Das ist jetzt noch der einzige Unterschied, der mir einfällt.

      A 1 Antwort Letzte Antwort
      0
      • A ArnoD

        @chrischros
        Kann es eventuell an Web liegen? Das ist jetzt noch der einzige Unterschied, der mir einfällt.

        A Online
        A Online
        ArnoD
        schrieb am zuletzt editiert von ArnoD
        #1037

        @arnod
        ok die Fehlermeldung kommt bei mir auch, hatte die Web Instanz auf Protokollstufe Fehler, deswegen wurde mir die Info Meldungen nicht mehr angezeigt.
        Werde mir das am Wochenende mal anschauen, warum diese Meldung kommt.

        1 Antwort Letzte Antwort
        0
        • A Online
          A Online
          ArnoD
          schrieb am zuletzt editiert von
          #1038

          Neue Version 0.3.5 hochgeladen.
          Änderungen:
          Bei allen Parameter Typ: number role:value geändert.
          Im Iobroker Objekte muss der ganzen Objektbaum 0.E3DC-Control.Parameter gelöscht werden und dann das Script neu gestartet werden.

          @ChrisChros
          Jetzt sollte die Infomeldung nicht mehr im LOG auftauchen.

          C S 2 Antworten Letzte Antwort
          1
          • A ArnoD

            Neue Version 0.3.5 hochgeladen.
            Änderungen:
            Bei allen Parameter Typ: number role:value geändert.
            Im Iobroker Objekte muss der ganzen Objektbaum 0.E3DC-Control.Parameter gelöscht werden und dann das Script neu gestartet werden.

            @ChrisChros
            Jetzt sollte die Infomeldung nicht mehr im LOG auftauchen.

            C Offline
            C Offline
            ChrisChros
            schrieb am zuletzt editiert von
            #1039

            @arnod
            Eben mal getestet und die Meldungen im Log sind bisher nicht wieder aufgetaucht. Auch ein mehrmaliges Umschalten hat nicht die oben erwähnten Einträge ins Log geschrieben.
            Super Arbeit, danke.

            M 1 Antwort Letzte Antwort
            0
            • C ChrisChros

              @arnod
              Eben mal getestet und die Meldungen im Log sind bisher nicht wieder aufgetaucht. Auch ein mehrmaliges Umschalten hat nicht die oben erwähnten Einträge ins Log geschrieben.
              Super Arbeit, danke.

              M Offline
              M Offline
              Matis
              schrieb am zuletzt editiert von
              #1040

              Das RSCPgui ist ja wirklich der Knaller.

              Ist es denn inzwischen jemandem gelungen das auf einer Synology zum laufen zu bringen und könnte ein kurzes "how to" mitteilen?

              Ganz spitze wäre ja, wenn daraus mal jemand der wirklich Software Ahnung hat, ich bin das leider nicht, daraus einen IOBroker-Adapter machen könnte. Die Anzahl der verfügbaren Daten ist wirklich absolut spitze!

              smartboartS 1 Antwort Letzte Antwort
              0
              • M Matis

                Das RSCPgui ist ja wirklich der Knaller.

                Ist es denn inzwischen jemandem gelungen das auf einer Synology zum laufen zu bringen und könnte ein kurzes "how to" mitteilen?

                Ganz spitze wäre ja, wenn daraus mal jemand der wirklich Software Ahnung hat, ich bin das leider nicht, daraus einen IOBroker-Adapter machen könnte. Die Anzahl der verfügbaren Daten ist wirklich absolut spitze!

                smartboartS Offline
                smartboartS Offline
                smartboart
                schrieb am zuletzt editiert von
                #1041

                @matis RSCPGui hat MQTT Funktion. Damit kannst du die Daten in den IOBroker integrieren.

                M 1 Antwort Letzte Antwort
                0
                • smartboartS smartboart

                  @matis RSCPGui hat MQTT Funktion. Damit kannst du die Daten in den IOBroker integrieren.

                  M Offline
                  M Offline
                  Matis
                  schrieb am zuletzt editiert von
                  #1042

                  @smartboart Ja, danke, das hab ich schon ausprobiert. Nur muß ich dazu aktuell noch meinen PC laufen lassen, ich hätte es gerne wie IOBroker auf der Synology laufen, hab aber keine Ahnung wie das zu bewerkstelligen ist.

                  smartboartS 1 Antwort Letzte Antwort
                  0
                  • C Offline
                    C Offline
                    ChrisChros
                    schrieb am zuletzt editiert von ChrisChros
                    #1043

                    Hallo @ArnoD
                    im Log habe ich bei mir folgenden Eintrag heute Morgen gefunden:

                    javascript.0
                    2021-10-09 10:10:03.175	info	script.js.common.E3_DC.E3DC_Control_Prognose: Berechneter Unload SoC ist = -55
                    

                    Können die -55 so stimmen? Welcher Wert wird dann für den unload Parameter genommen wenn der berechnete Wert kleiner als mein eingestellter Parameter in der VIS ist?

                    Ok hat sich erledigt, hab es im Skript gefunden.

                    if (UnloadSoC < nMinUnloadSoC){UnloadSoC = nMinUnloadSoC;}
                    

                    Gruß Chris

                    1 Antwort Letzte Antwort
                    0
                    • M Matis

                      @smartboart Ja, danke, das hab ich schon ausprobiert. Nur muß ich dazu aktuell noch meinen PC laufen lassen, ich hätte es gerne wie IOBroker auf der Synology laufen, hab aber keine Ahnung wie das zu bewerkstelligen ist.

                      smartboartS Offline
                      smartboartS Offline
                      smartboart
                      schrieb am zuletzt editiert von
                      #1044

                      @matis Weiter oben hatte ich mal beschrieben wie man es auf einem Raspberry Pi laufen lassen kann. Prallel zum IOBroker . Von der synology im Docker habe ich keine Erfahrung...

                      M 1 Antwort Letzte Antwort
                      0
                      • smartboartS smartboart

                        @matis Weiter oben hatte ich mal beschrieben wie man es auf einem Raspberry Pi laufen lassen kann. Prallel zum IOBroker . Von der synology im Docker habe ich keine Erfahrung...

                        M Offline
                        M Offline
                        Matis
                        schrieb am zuletzt editiert von Matis
                        #1045

                        @smartboart Hi, hänge auch an wxPython, du hast geschrieben, das hat dich jede Menge Zeit gekostet. Was hast Du denn gemacht, um es installiert zu bekommen?

                        Ich hab nen Docker Container mit python installiert. Alle Pakete lassen sich nachinstallieren außer wxPython:

                        checking for GTK+ version...
                        checking for pkg-config... (cached) /usr/bin/pkg-config
                        checking pkg-config is at least version 0.16... yes
                        checking for GTK+ - version >= 3.0.0... Package gtk+-3.0 was not found in the pkg-config search path.
                        Perhaps you should add the directory containing `gtk+-3.0.pc'
                        to the PKG_CONFIG_PATH environment variable
                        No package 'gtk+-3.0' found
                        no
                        *** Could not run GTK+ test program, checking why...
                        *** The test program failed to compile or link. See the file config.log for the
                        *** exact error that occurred. This usually means GTK+ is incorrectly installed.
                        configure: error:
                        The development files for GTK+ were not found. For GTK+ 2, please
                        ensure that pkg-config is in the path and that gtk+-2.0.pc is
                        installed. For GTK+ 1.2 please check that gtk-config is in the path,
                        and that the version is 1.2.3 or above. Also check that the
                        libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                        --libs' are in the LD_LIBRARY_PATH or equivalent.

                        So und da hänge ich nun. Hat mir jemand einen Tipp?

                        M 1 Antwort Letzte Antwort
                        0
                        • M Matis

                          @smartboart Hi, hänge auch an wxPython, du hast geschrieben, das hat dich jede Menge Zeit gekostet. Was hast Du denn gemacht, um es installiert zu bekommen?

                          Ich hab nen Docker Container mit python installiert. Alle Pakete lassen sich nachinstallieren außer wxPython:

                          checking for GTK+ version...
                          checking for pkg-config... (cached) /usr/bin/pkg-config
                          checking pkg-config is at least version 0.16... yes
                          checking for GTK+ - version >= 3.0.0... Package gtk+-3.0 was not found in the pkg-config search path.
                          Perhaps you should add the directory containing `gtk+-3.0.pc'
                          to the PKG_CONFIG_PATH environment variable
                          No package 'gtk+-3.0' found
                          no
                          *** Could not run GTK+ test program, checking why...
                          *** The test program failed to compile or link. See the file config.log for the
                          *** exact error that occurred. This usually means GTK+ is incorrectly installed.
                          configure: error:
                          The development files for GTK+ were not found. For GTK+ 2, please
                          ensure that pkg-config is in the path and that gtk+-2.0.pc is
                          installed. For GTK+ 1.2 please check that gtk-config is in the path,
                          and that the version is 1.2.3 or above. Also check that the
                          libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                          --libs' are in the LD_LIBRARY_PATH or equivalent.

                          So und da hänge ich nun. Hat mir jemand einen Tipp?

                          M Offline
                          M Offline
                          Matis
                          schrieb am zuletzt editiert von
                          #1046

                          @matis hab inzwischen ein Dockerimage mit vorinstalliertem wxpython verwendet.
                          Leider läuft die python3 main.py -e -c nicht, gibt Fehler

                          root@python-3:/opt/RSCPGui# python3 main.py -e -c -v
                          2021-10-10 18:26:54,558 - main - INFO - Lade Module
                          2021-10-10 18:26:56,043 - main - INFO - Module geladen, initialisiere Console
                          2021-10-10 18:26:56,044 - rscpguimain - INFO - Main initialisiert
                          2021-10-10 18:26:56,044 - rscpguimain - INFO - Lade Konfigurationsdatei rscpe3dc.conf.ini
                          Traceback (most recent call last):
                          File "main.py", line 92, in <module>
                          g.MainLoop()
                          File "/opt/RSCPGui/rscpguiconsole.py", line 39, in MainLoop
                          g = self.gui
                          File "/opt/RSCPGui/rscpguiconsole.py", line 62, in gui
                          return RSCPGuiMain.gui.fget(self)
                          File "/opt/RSCPGui/rscpguimain.py", line 255, in gui
                          if self.cfgLoginusername and self.cfgLoginpassword and self.cfgLoginconnectiontype == 'auto':
                          File "/opt/RSCPGui/rscpguimain.py", line 174, in getattr
                          if kat in self.config:
                          File "/opt/RSCPGui/rscpguimain.py", line 119, in config
                          self._config.read(self.ConfigFilename)
                          File "/usr/local/lib/python3.8/configparser.py", line 697, in read
                          self._read(fp, filename)
                          File "/usr/local/lib/python3.8/configparser.py", line 1017, in _read
                          for lineno, line in enumerate(fp, start=1):
                          File "/usr/local/lib/python3.8/codecs.py", line 322, in decode
                          (result, consumed) = self._buffer_decode(data, self.errors, final)
                          UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 1894: invalid start byte

                          und die GUI bekomme ich noch nicht aus dem Container raus:
                          Unable to access the X Display, is $DISPLAY set properly?

                          1 Antwort Letzte Antwort
                          0
                          • A ArnoD

                            Neue Version 0.3.5 hochgeladen.
                            Änderungen:
                            Bei allen Parameter Typ: number role:value geändert.
                            Im Iobroker Objekte muss der ganzen Objektbaum 0.E3DC-Control.Parameter gelöscht werden und dann das Script neu gestartet werden.

                            @ChrisChros
                            Jetzt sollte die Infomeldung nicht mehr im LOG auftauchen.

                            S Offline
                            S Offline
                            stevie77
                            schrieb am zuletzt editiert von stevie77
                            #1047

                            @arnod Moin Arno,
                            ich bin eben auf die neueste Version, habe die Parameter gelöscht und neu gestartet. Jetzt habe ich folgende Warnungen in der Ausgabe und dementsprechend werden auch die richtigen Werte aus der Datei nicht in die Parameter-Objekte eingelesen.

                            23:38:44.168	warn	javascript.0 (674) script.js.Strom.E3DCControl: -==== Fehler beim Schreiben der e3dc.config.txt Error = TypeError: Cannot read property 'writeFile' of undefined ====-
                            23:38:44.169	warn	javascript.0 (674) script.js.Strom.E3DCControl: -==== Parameter Fehler beim einlesen der Parameter Error = TypeError: Cannot read property 'readFile' of undefined ====-
                            
                            

                            Definiert ist der Dateiort nach wie vor mit const sPfadE3DC = "/home/iobroker/e3dc-config-transfer/e3dc.config.txt".

                            Das Modul fs von JavaScript habe ich eigentlich:
                            7f06e040-aa34-477b-8ff9-901d22274d88-image.png

                            Haste ne Idee?

                            Google sagt zu dem Fehler als eine Möglichkeit, dass das passiert, wenn man Node.js < Version 10 hat, ich habe allerdings v12.22.2, also eher unwahrscheinlich?!

                            Haben die Pünktchen irgendwas zu bedeuten?
                            5d8e71e6-b0f5-48f7-a5b7-ed62bb70f291-image.png

                            Jetzt inzwischen bekomme ich auch noch folgenden Fehler (4x): Liegt das daran, dass ich durch mehrmalige Neustarts des Skripts die Abfragemöglichkeit bei Forecast überreizt habe?

                            (674) script.js.Strom.E3DCControl: Error in der function InterrogateForecast. Fehler = Error, status code = 429
                            
                            A 1 Antwort Letzte Antwort
                            0
                            • A Online
                              A Online
                              ArnoD
                              schrieb am zuletzt editiert von
                              #1048

                              @stevie77
                              Also Error 429 ist einfach zu beantworten, hier sind in einer bestimmten Zeitspanne zu viele Anfragen gesendet worden.

                              Die erste Fehlermeldung ist nicht so einfach zu beantworten.
                              Welche Version vom Javascript Adapter hast du bei dir installiert?
                              Ich habe folgende Stände:
                              Javascript Adapter 5.2.13
                              Node.js 12.22.4
                              npm 6.14.14

                              Einfach mal auf die neusten Versionen updaten und dann testen.
                              Denke aber nicht das es daran liegt, da ab Version 10.x FS Promises funktionieren sollte.
                              Die drei Punkte habe ich auch, weiß aber nicht was diese bedeuten.
                              Hast du sonst noch was geändert am Script?

                              Kannst mal versuchen die e3dc.config.txt zu löschen und über das Script neu erstellen lassen, ob das funktioniert.

                              Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                              Die Zeile 880 sieht dann so aus:
                              fsw.writeFile(sPfadE3DC , string)
                              Das gleiche in Zeile 896:
                              let data = fsw.readFile(sPfadE3DC, 'utf8')

                              Hat hier noch jemand das Problem ??

                              C S GlasfaserG 5 Antworten Letzte Antwort
                              0
                              • S stevie77

                                @arnod Moin Arno,
                                ich bin eben auf die neueste Version, habe die Parameter gelöscht und neu gestartet. Jetzt habe ich folgende Warnungen in der Ausgabe und dementsprechend werden auch die richtigen Werte aus der Datei nicht in die Parameter-Objekte eingelesen.

                                23:38:44.168	warn	javascript.0 (674) script.js.Strom.E3DCControl: -==== Fehler beim Schreiben der e3dc.config.txt Error = TypeError: Cannot read property 'writeFile' of undefined ====-
                                23:38:44.169	warn	javascript.0 (674) script.js.Strom.E3DCControl: -==== Parameter Fehler beim einlesen der Parameter Error = TypeError: Cannot read property 'readFile' of undefined ====-
                                
                                

                                Definiert ist der Dateiort nach wie vor mit const sPfadE3DC = "/home/iobroker/e3dc-config-transfer/e3dc.config.txt".

                                Das Modul fs von JavaScript habe ich eigentlich:
                                7f06e040-aa34-477b-8ff9-901d22274d88-image.png

                                Haste ne Idee?

                                Google sagt zu dem Fehler als eine Möglichkeit, dass das passiert, wenn man Node.js < Version 10 hat, ich habe allerdings v12.22.2, also eher unwahrscheinlich?!

                                Haben die Pünktchen irgendwas zu bedeuten?
                                5d8e71e6-b0f5-48f7-a5b7-ed62bb70f291-image.png

                                Jetzt inzwischen bekomme ich auch noch folgenden Fehler (4x): Liegt das daran, dass ich durch mehrmalige Neustarts des Skripts die Abfragemöglichkeit bei Forecast überreizt habe?

                                (674) script.js.Strom.E3DCControl: Error in der function InterrogateForecast. Fehler = Error, status code = 429
                                
                                A Online
                                A Online
                                ArnoD
                                schrieb am zuletzt editiert von
                                #1049

                                @stevie77

                                Versuch mal folgende Änderung.
                                in der Zeile 213 diese beiden Konstanten definieren:
                                const { readFile } = require('fs').promises
                                const { writeFile } = require('fs').promises
                                und die Zeile
                                const fs = require('fs').promises;
                                löschen.

                                Die Zeile 880 in
                                await writeFile(sPfadE3DC , string)
                                ändern und die Zeile 896 in
                                let data = await readFile(sPfadE3DC, { encoding: 'utf8' })
                                ändern.

                                Wenn es bei dir auch funktioniert, würde ich das in meinem Script so übernehmen.

                                S 1 Antwort Letzte Antwort
                                0
                                • A ArnoD

                                  @stevie77
                                  Also Error 429 ist einfach zu beantworten, hier sind in einer bestimmten Zeitspanne zu viele Anfragen gesendet worden.

                                  Die erste Fehlermeldung ist nicht so einfach zu beantworten.
                                  Welche Version vom Javascript Adapter hast du bei dir installiert?
                                  Ich habe folgende Stände:
                                  Javascript Adapter 5.2.13
                                  Node.js 12.22.4
                                  npm 6.14.14

                                  Einfach mal auf die neusten Versionen updaten und dann testen.
                                  Denke aber nicht das es daran liegt, da ab Version 10.x FS Promises funktionieren sollte.
                                  Die drei Punkte habe ich auch, weiß aber nicht was diese bedeuten.
                                  Hast du sonst noch was geändert am Script?

                                  Kannst mal versuchen die e3dc.config.txt zu löschen und über das Script neu erstellen lassen, ob das funktioniert.

                                  Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                                  Die Zeile 880 sieht dann so aus:
                                  fsw.writeFile(sPfadE3DC , string)
                                  Das gleiche in Zeile 896:
                                  let data = fsw.readFile(sPfadE3DC, 'utf8')

                                  Hat hier noch jemand das Problem ??

                                  C Offline
                                  C Offline
                                  ChrisChros
                                  schrieb am zuletzt editiert von
                                  #1050

                                  @arnod said in E3DC Hauskraftwerk steuern:

                                  Hat hier noch jemand das Problem ??

                                  Also bei mir im Log kann ich zu den oben genannten Problemen keine Einträge finden.
                                  Seit dem letzten Update läuft alles bestens.

                                  1 Antwort Letzte Antwort
                                  0
                                  • A ArnoD

                                    @stevie77
                                    Also Error 429 ist einfach zu beantworten, hier sind in einer bestimmten Zeitspanne zu viele Anfragen gesendet worden.

                                    Die erste Fehlermeldung ist nicht so einfach zu beantworten.
                                    Welche Version vom Javascript Adapter hast du bei dir installiert?
                                    Ich habe folgende Stände:
                                    Javascript Adapter 5.2.13
                                    Node.js 12.22.4
                                    npm 6.14.14

                                    Einfach mal auf die neusten Versionen updaten und dann testen.
                                    Denke aber nicht das es daran liegt, da ab Version 10.x FS Promises funktionieren sollte.
                                    Die drei Punkte habe ich auch, weiß aber nicht was diese bedeuten.
                                    Hast du sonst noch was geändert am Script?

                                    Kannst mal versuchen die e3dc.config.txt zu löschen und über das Script neu erstellen lassen, ob das funktioniert.

                                    Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                                    Die Zeile 880 sieht dann so aus:
                                    fsw.writeFile(sPfadE3DC , string)
                                    Das gleiche in Zeile 896:
                                    let data = fsw.readFile(sPfadE3DC, 'utf8')

                                    Hat hier noch jemand das Problem ??

                                    S Offline
                                    S Offline
                                    stevie77
                                    schrieb am zuletzt editiert von stevie77
                                    #1051

                                    @arnod Also, ich hatte Node.js wie du, inzwischen upgedatet. Node.js: v12.22.7, NPM version: 6.14.15. Das ändert erstmal nichts. Mein Javascript ist aber ein ganzes Stück veraltet, da ich nicht auf Admin 5 upgraden wollte (ist daran gekoppelt). Du hast wahrscheinlich Admin 5 und deswegen neueres Javascript? Ist Admin 5 inzwischen einigermaßen verwendbar?

                                    cf4e385d-29c1-43ea-a603-491c32aad5a7-image.png

                                    Am Skript habe ich nichts geändert, komplett ab "ENDE USER ANPASSUNGEN" kopiert.

                                    Die ebenso vorgeschlagene Änderung habe ich so richtig umgesetzt? Scheint auch nicht zu funktionieren...
                                    721612c0-0f1e-43fe-9f78-b83619ececa3-image.png

                                    Scheint mir wohl nichts anderes übrig bleiben als in den sauren Apfel zu beißen und auf das meiner Meinung nach unübersichtliche Admin 5 zu wechseln...

                                    Edit: Konfigdatei löschen/umbenennen und neu aus Programm schreiben lassen provoziert denselben Fehler bzw. die Warnung wie beim Start.

                                    Thomas BraunT 1 Antwort Letzte Antwort
                                    0
                                    • S stevie77

                                      @arnod Also, ich hatte Node.js wie du, inzwischen upgedatet. Node.js: v12.22.7, NPM version: 6.14.15. Das ändert erstmal nichts. Mein Javascript ist aber ein ganzes Stück veraltet, da ich nicht auf Admin 5 upgraden wollte (ist daran gekoppelt). Du hast wahrscheinlich Admin 5 und deswegen neueres Javascript? Ist Admin 5 inzwischen einigermaßen verwendbar?

                                      cf4e385d-29c1-43ea-a603-491c32aad5a7-image.png

                                      Am Skript habe ich nichts geändert, komplett ab "ENDE USER ANPASSUNGEN" kopiert.

                                      Die ebenso vorgeschlagene Änderung habe ich so richtig umgesetzt? Scheint auch nicht zu funktionieren...
                                      721612c0-0f1e-43fe-9f78-b83619ececa3-image.png

                                      Scheint mir wohl nichts anderes übrig bleiben als in den sauren Apfel zu beißen und auf das meiner Meinung nach unübersichtliche Admin 5 zu wechseln...

                                      Edit: Konfigdatei löschen/umbenennen und neu aus Programm schreiben lassen provoziert denselben Fehler bzw. die Warnung wie beim Start.

                                      Thomas BraunT Online
                                      Thomas BraunT Online
                                      Thomas Braun
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #1052

                                      @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                      Admin 5 zu wechseln

                                      Der ist gekommen um zu bleiben. Da wirst du dich früher oder später eh mit auseinandersetzen müssen.

                                      Linux-Werkzeugkasten:
                                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                      NodeJS Fixer Skript:
                                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • Thomas BraunT Thomas Braun

                                        @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                        Admin 5 zu wechseln

                                        Der ist gekommen um zu bleiben. Da wirst du dich früher oder später eh mit auseinandersetzen müssen.

                                        S Offline
                                        S Offline
                                        stevie77
                                        schrieb am zuletzt editiert von
                                        #1053

                                        @thomas-braun Gut formuliert. :-) Bin gerade am Updaten...hoffentlich läuft's danach dann...

                                        1 Antwort Letzte Antwort
                                        0
                                        • A ArnoD

                                          Ich habe dieses Topic eröffnet, um gemeinsam an einer Überschusssteuerung des E3DC Hauskraftwerks in ioBroker zu arbeiten.
                                          Dankeschön an dieser Stelle an Eberhard und sein Programm E3DC-Control, ohne ihn wäre das alles nicht möglich gewesen.
                                          Großes Lob und Danke auch an Uli, der den Adapter e3dc-rscp programmiert hat, über den die Steuerung im ioBroker erst möglich wurde.

                                          Ziel der Steuerung ist:
                                          Mit der Steuerung soll erreicht werden, dass der Batteriespeicher möglichst schonend geladen wird, um die Lebensdauer zu erhöhen.

                                          • Speicher soll nie längere Zeit auf 100 % geladen werden oder auf 0 % entladen werden.
                                          • Möglichst gleichmäßige Ladeleistung beim Laden.
                                          • PV-Überschuss soll gespeichert werden, um nicht in die 70 % Abriegelung zu kommen.
                                          • Bei Überschreitung WR Begrenzung soll Überschuss in die Batterie gespeichert werden.

                                          ioBroker
                                          Es werden folgende Adapter benötigt:

                                          • Javascript (NPM-Module: axios, is-it-bst)
                                          • e3dc-rscp

                                          Für die View Beispiele in VIS werden noch folgende Adapter benötigt:

                                          • vis-hqwidgets
                                          • vis-materialdesign
                                          • vis-timeandweather

                                          Beispiel View zum Importieren und das Skript Charge-Control, sowie eine Anleitung findet ihr auf GitHub:
                                          https://github.com/ArnoD15/iobroker_E3DC

                                          Einstellbare Parameter:
                                          Unload: Wenn der SoC Wert der Batterie > Wert „Unload“ ist, wird der Batteriespeicher mit Beginn Solarproduktion bis Beginn Regelzeitraum, auf SOC Wert Parameter "Unload" entladen. Ist Unload < Ladeschwelle wird bis Ladeschwelle geladen und Unload ignoriert.

                                          Ladeschwelle: Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen. Danach wird bis SOC Wert „Ladeende“ gleichmäßig geladen, mit Ausnahme, wenn die PV-Leistung das Einspeiselimit oder die WR-Maxleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder WR-Limit einhalten zu können. Bei unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird wieder mit neu berechneter Ladeleistung, gleichmäßig bis „Ladeende" geladen. Bei großem Überschuss kann die gleichmäßige Ladeleistung bis auf 0 abgesenkt werden. Parameter "Ladeschwelle" hat Vorrang vor "Unload", d.h. "Unload" wird ignoriert, falls "Ladeschwelle" größer sein sollte als „Unload“.

                                          Ladeende: SoC Wert Speicher, der zum Ende des Regelzeitraums erreicht werden soll.

                                          Ladeende2: SoC Wert Speicher, der zum Ende Sommer Ladeende erreicht werden sollten.

                                          Unterer Ladekorridor: Der „Untere Ladekorridor“ definiert nur den min. Wert, ab dem mit dem Laden der Batterie gestartet wird. Erst wenn die berechnetet Ladeleistung den Wert „unteren Ladekorridor“ übersteigt, wird mit dem Laden der Batterie gestartet.

                                          Offset Regelbeginn Zeit in hh:mm, die von der Astro Zeit "solarNoon" (höchster Sonnenstand) abgezogen wird.

                                          Offset Regelende Zeit in hh:mm, die zu der Astro Zeit "solarNoon" (höchster Sonnenstand) dazu addiert wird.

                                          Offset Ladeende Zeit in hh:mm, die von der Astro Zeit "sunset" (Sonnenuntergang) abgezogen wird.

                                          70c4baad-fc5b-45bb-8c02-45b0b14f89ea-grafik.png
                                          Eigenverbrauch: Der geschätzte Eigenverbrauch pro Tag in kWh. Wird für die Überschussberechnung der Prognose verwendet.

                                          Notstrom min.: Speicherreserve in % bei Wintersonnenwende 21.12

                                          Notstrom Sockel: min. SOC Wert bei Tag-/Nachtgleiche 21.3./21.9.

                                          Berechnung Notstrom: 21.12 (Wintersonnenwende) ist der Bezugs-SoC = Wert „Notstrom min“ und wird bis zum 21.3 (Tag-/Nachtgleiche) auf Wert „Notstrom Sockel“ reduziert und bis zum 20.06 (Sommersonnenwende) um ca. weitere 10% reduziert. Ab dem 20.06 (Sommersonnenwende) steigt der Bezugs-SoC wieder bis zum 21.09 (Tag-/Nachtgleiche) auf den Wert „Notstrom Sockel“ und bis zum 21.12 (Wintersonnenwende) auf den Wert „Notstrom min“. Je Monat ändert sich somit der SoC um ca. +- 3,3%. Mit Notstrom min. und Notstrom Sockel kann man eine Dynamische Notstromreserve vorhalten, Vorteil ist, dass der Speicher nicht alle 3 Wochen entladen wird wie bei der Notstromreserve von E3DC.

                                          Starten wir am 21.12 (Wintersonnenwende) der kürzeste Tag, da wird der Speicher bis auf Notstrom min = 20% entladen.
                                          Ab jetzt werden die Tage immer länger, bis zum 21.3 (Tag-/Nachtgleiche) wo die Tage und Nächte gleich lang sind.
                                          Das bedeutet deine Speicherreserve kann immer geringer werden je länger die Tage sind, da ja mehr PV-Leistung zur Verfügung steht. Es wird somit jeden Monat die Speichergrenze um ca.3,33% reduziert bis zum 21.03 auf den Wert Notstrom Sockel = 10%.

                                          Ab dem 21.03 werden die Tage immer länger bis zum 20.06 (Sommersonnenwende) dem längsten Tag im Jahr.
                                          Es wird also die Speichergrenze weiter jeden Monat um ca. 3,33% reduziert bis zum 20.06 auf 0%,
                                          Ab diesem Zeitpunkt werden die Tage wieder kürzer bis zum 21.9 (Tag-/Nachtgleiche) wo die Tage und Nächte wieder gleich lang sind und die Speicherreserve wird jeden Monat um ca. 3,33% erhöht auf Notstrom Sockel = 10%.
                                          Die Tage werden immer kürzer bis zum 21.12 (Wintersonnenwende) und die Speichergrenze wird weiter jeden Monat um ca. 3,33% erhöht auf den Wert Notstrom min = 20%

                                          Notstrom Sockel ist somit der min. SOC Wert, wenn die Tage und Nächte gleich lang sind, also am 21.3 und 21.09 und
                                          Notstrom min wenn die Tage am kürzesten sind am 21.12 .

                                          Laderegelung:
                                          Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen oder bis zum SOC Wert Unload entladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen.

                                          Mit Start Regelzeitraum wird die benötigte Ladeleistung berechnet, um den SOC Ladeende bis zum Ende Regelzeitraum zu erreichen.

                                          Bei Überschreitung der Zeit, Ende Regelzeitraum wird die benötigte Ladeleistung neu berechnet, um den SOC Ladeende2 bis zur Zeit Ladeende zu erreichen.

                                          Wenn die Zeit Ladeende erreicht ist und die Batterie noch nicht den SOC Ladeende2 erreicht hat, wird das Laden mit maximal noch zur Verfügung stehender PV-Leistung freigegeben.

                                          Ausnahme: Wenn die PV-Leistung das Einspeiselimit oder die maximale Wechselrichterleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder die maximale Wechselrichterleistung einhalten zu können. Bei Unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird mit neu berechneter Ladeleistung, gleichmäßig geladen.

                                          S Offline
                                          S Offline
                                          stevie77
                                          schrieb am zuletzt editiert von stevie77
                                          #1054

                                          @arnod Tja, leider nicht. Jetzt ist alles aktualisiert, was nur irgendwie zu aktualisieren ist, trotzdem weiterhin... :confounded:

                                          23:59:52.422	warn	javascript.0 (3319) script.js.Strom.E3DCControl: -==== Fehler beim Schreiben der e3dc.config.txt Error = TypeError: Cannot read property 'writeFile' of undefined ====-
                                          23:59:52.423	warn	javascript.0 (3319) script.js.Strom.E3DCControl: -==== Parameter Fehler beim einlesen der Parameter Error = TypeError: Cannot read property 'readFile' of undefined ====-
                                          

                                          Werde am Wochenende hoffentlich dazu kommen deine vorgeschlagenen Code-Änderungen nochmals mit dem neusten Stand zu testen.

                                          A GlasfaserG 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          356

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe