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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    533

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

E3DC Hauskraftwerk steuern

Geplant Angeheftet Gesperrt Verschoben JavaScript
3.5k Beiträge 70 Kommentatoren 1.6m Aufrufe 62 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.
  • bluebeanB Offline
    bluebeanB Offline
    bluebean
    schrieb am zuletzt editiert von bluebean
    #2494

    @ArnoD
    Ich habe mein iobroker auf einen neuen Server umgezogen, dort habe ich die aktuellste Version 7.8 vom javascript-Adapter laufen mit iobroker 6.13.16.
    Dieser wirft im Log mit Deinem aktuellen Script eine Fehlermeldung aus:

    Script script.js.common.Charge_Control is calling setState more than 1000 times per minute! Stopping Script now! Please check your script!
    

    Auf dem alten System mit javascript 7.16 (iobroker 6.13.16) kommt der Fehler nicht.

    Kennst Du das? Eine schnelle Google-Suche zeigt mir, dass das bei einigen Scripts kommt.
    Eventuell wird da jetzt das setState überwacht. Kann man da irgendwo das Limit hochsetzen?

    PS: Ich hab hier was gefunden. Das Limit kann man selbst in den Einstellungen der javascript-Instanz einstellen, ich hab's jetzt mal auf 2000 hochgesetzt.
    Interessanterweise ist die Überwachung des setState demzufolge aber schon seit der version 6.1 enthalten, und dennoch habe ich das bei der Version 7.1.6 nicht im Log.

    A 1 Antwort Letzte Antwort
    0
    • bluebeanB bluebean

      @ArnoD
      Ich habe mein iobroker auf einen neuen Server umgezogen, dort habe ich die aktuellste Version 7.8 vom javascript-Adapter laufen mit iobroker 6.13.16.
      Dieser wirft im Log mit Deinem aktuellen Script eine Fehlermeldung aus:

      Script script.js.common.Charge_Control is calling setState more than 1000 times per minute! Stopping Script now! Please check your script!
      

      Auf dem alten System mit javascript 7.16 (iobroker 6.13.16) kommt der Fehler nicht.

      Kennst Du das? Eine schnelle Google-Suche zeigt mir, dass das bei einigen Scripts kommt.
      Eventuell wird da jetzt das setState überwacht. Kann man da irgendwo das Limit hochsetzen?

      PS: Ich hab hier was gefunden. Das Limit kann man selbst in den Einstellungen der javascript-Instanz einstellen, ich hab's jetzt mal auf 2000 hochgesetzt.
      Interessanterweise ist die Überwachung des setState demzufolge aber schon seit der version 6.1 enthalten, und dennoch habe ich das bei der Version 7.1.6 nicht im Log.

      A Offline
      A Offline
      ArnoD
      schrieb am zuletzt editiert von
      #2495

      @bluebean
      Ich habe bei mir auch die Javascript-Adapter Version 7.8 laufen und keine Meldungen im LOG.
      Die Grenze der setState Änderungen von 1000/Min sollten aber auch nicht erreicht werden. Kann es sein das bei dir, was nicht sauber beendet wurde?
      Ich werde das aber mal bei mir beobachten.

      bluebeanB 1 Antwort Letzte Antwort
      0
      • A ArnoD

        @bluebean
        Ich habe bei mir auch die Javascript-Adapter Version 7.8 laufen und keine Meldungen im LOG.
        Die Grenze der setState Änderungen von 1000/Min sollten aber auch nicht erreicht werden. Kann es sein das bei dir, was nicht sauber beendet wurde?
        Ich werde das aber mal bei mir beobachten.

        bluebeanB Offline
        bluebeanB Offline
        bluebean
        schrieb am zuletzt editiert von
        #2496

        @arnod
        Der Fehler kam jetzt auch mit dem Limit von 2000/min. Für mich nicht nachvollziehbar, frisch aufgesetzt und das Script 1:1 kopiert. Es läuft soweit ja auch problemlos, mit Ausnahme dann dieses Fehlers...

        A 1 Antwort Letzte Antwort
        0
        • bluebeanB bluebean

          @arnod
          Der Fehler kam jetzt auch mit dem Limit von 2000/min. Für mich nicht nachvollziehbar, frisch aufgesetzt und das Script 1:1 kopiert. Es läuft soweit ja auch problemlos, mit Ausnahme dann dieses Fehlers...

          A Offline
          A Offline
          ArnoD
          schrieb am zuletzt editiert von
          #2497

          @bluebean
          Kommt der Fehler immer zu einer bestimmten Zeit oder kannst du andere Zusammenhänge herstellen?
          Es müsste, was sein, das bei mir anscheinend nicht vorkommt.
          Eine Möglichkeit wäre die Objekt ID's zu beobachten, ob einer ständig geändert wird.
          Allerdings wird es schwierig, 1000 Änderungen pro Minute zu erkennen. :-)

          bluebeanB 1 Antwort Letzte Antwort
          0
          • A ArnoD

            @bluebean
            Kommt der Fehler immer zu einer bestimmten Zeit oder kannst du andere Zusammenhänge herstellen?
            Es müsste, was sein, das bei mir anscheinend nicht vorkommt.
            Eine Möglichkeit wäre die Objekt ID's zu beobachten, ob einer ständig geändert wird.
            Allerdings wird es schwierig, 1000 Änderungen pro Minute zu erkennen. :-)

            bluebeanB Offline
            bluebeanB Offline
            bluebean
            schrieb am zuletzt editiert von
            #2498

            @arnod
            Ich bin jetzt mal auf Dein originales Script umgestiegen, mal schauen ob der Fehler dann bei mir auch kommt.
            Ich hatte für mich Dein Script ja mit einem weiteren Tageszähler ergänzt, der mir die aktuell verbrauchte Energie des Hauses stellt (orientiert an Deinem LM3). Sonst keine Änderungen.
            Die 1000/min entsprechen gut 16/s. Kannst Du abschätzen, wie oft Du mit dem Script pro Sekunde setState setzt?

            A M 2 Antworten Letzte Antwort
            0
            • bluebeanB bluebean

              @arnod
              Ich bin jetzt mal auf Dein originales Script umgestiegen, mal schauen ob der Fehler dann bei mir auch kommt.
              Ich hatte für mich Dein Script ja mit einem weiteren Tageszähler ergänzt, der mir die aktuell verbrauchte Energie des Hauses stellt (orientiert an Deinem LM3). Sonst keine Änderungen.
              Die 1000/min entsprechen gut 16/s. Kannst Du abschätzen, wie oft Du mit dem Script pro Sekunde setState setzt?

              A Offline
              A Offline
              ArnoD
              schrieb am zuletzt editiert von
              #2499

              @bluebean
              Die meisten, wenn die Prognosedaten abgerufen werden ca. 66 setState 4x am Tag
              Die Ladesteuerung wird alle 3 sek. aufgerufen und es werden ca. 10 setState ausgeführt.
              Alle Zähler jede Minute mit ca. 8 setState.

              Eigentlich dürfte es kein Problem sein.

              bluebeanB 1 Antwort Letzte Antwort
              0
              • A ArnoD

                @bluebean
                Die meisten, wenn die Prognosedaten abgerufen werden ca. 66 setState 4x am Tag
                Die Ladesteuerung wird alle 3 sek. aufgerufen und es werden ca. 10 setState ausgeführt.
                Alle Zähler jede Minute mit ca. 8 setState.

                Eigentlich dürfte es kein Problem sein.

                bluebeanB Offline
                bluebeanB Offline
                bluebean
                schrieb am zuletzt editiert von bluebean
                #2500

                @arnod
                Stimmt. Könnte ich Dir das von mir mit einem Zähler ergänztes Script (1.3.1) mal zukommen lassen, ob Dir bei den Ergänzungen vllt. ein Fehler auffällt?
                Bei dem originalen 1.3.1 kam bisher der Fehler nicht.

                A 1 Antwort Letzte Antwort
                0
                • bluebeanB bluebean

                  @arnod
                  Stimmt. Könnte ich Dir das von mir mit einem Zähler ergänztes Script (1.3.1) mal zukommen lassen, ob Dir bei den Ergänzungen vllt. ein Fehler auffällt?
                  Bei dem originalen 1.3.1 kam bisher der Fehler nicht.

                  A Offline
                  A Offline
                  ArnoD
                  schrieb am zuletzt editiert von
                  #2501

                  @bluebean
                  Kannst du gerne machen.

                  bluebeanB 1 Antwort Letzte Antwort
                  0
                  • A ArnoD

                    @bluebean
                    Kannst du gerne machen.

                    bluebeanB Offline
                    bluebeanB Offline
                    bluebean
                    schrieb am zuletzt editiert von
                    #2502

                    @arnod
                    Charge-Control_Ver_1.3.1_neu.js.zip

                    A 1 Antwort Letzte Antwort
                    0
                    • bluebeanB bluebean

                      @arnod
                      Charge-Control_Ver_1.3.1_neu.js.zip

                      A Offline
                      A Offline
                      ArnoD
                      schrieb am zuletzt editiert von
                      #2503

                      @bluebean
                      Du hast eine Endlosschleife programmiert.
                      In der Funktion SummePvLeistung(), Zeile 1131 schreibst du den neuen Zählerstand:

                      await setStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.IstTagesverbrauch_kWh`, IstTagesverbrauch_kWh);
                      

                      In Zeile 2027 reagierst du auf die Änderung und rufst die Funktion SummePvLeistung() wieder auf

                      if (existsState(sID_Tagesverbrauch)){
                          on({id: sID_Tagesverbrauch,change: "ne"}, function (obj){SummePvLeistung();});	
                      }
                      

                      Das Problem ist das die Konstante sID_Tagesverbrauch auf
                      ${instanz}.${PfadEbene1}.${PfadEbene2[1]}.IstTagesverbrauch_kWh verweist und somit auf die gleiche Objekt-ID.

                      bluebeanB 1 Antwort Letzte Antwort
                      0
                      • A ArnoD

                        @bluebean
                        Du hast eine Endlosschleife programmiert.
                        In der Funktion SummePvLeistung(), Zeile 1131 schreibst du den neuen Zählerstand:

                        await setStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.IstTagesverbrauch_kWh`, IstTagesverbrauch_kWh);
                        

                        In Zeile 2027 reagierst du auf die Änderung und rufst die Funktion SummePvLeistung() wieder auf

                        if (existsState(sID_Tagesverbrauch)){
                            on({id: sID_Tagesverbrauch,change: "ne"}, function (obj){SummePvLeistung();});	
                        }
                        

                        Das Problem ist das die Konstante sID_Tagesverbrauch auf
                        ${instanz}.${PfadEbene1}.${PfadEbene2[1]}.IstTagesverbrauch_kWh verweist und somit auf die gleiche Objekt-ID.

                        bluebeanB Offline
                        bluebeanB Offline
                        bluebean
                        schrieb am zuletzt editiert von bluebean
                        #2504

                        @arnod
                        Cool, danke - ich hab das jetzt nochmal von vorne gemacht, keine Ahnung ob man es eleganter machen kann, aber im Grunde sollte es jetzt passen, oder?
                        (Jedenfalls zählt der Counter fleißig und die Fehlermeldung mit dem setState ist weg :laughing: )

                        A 1 Antwort Letzte Antwort
                        0
                        • bluebeanB bluebean

                          @arnod
                          Cool, danke - ich hab das jetzt nochmal von vorne gemacht, keine Ahnung ob man es eleganter machen kann, aber im Grunde sollte es jetzt passen, oder?
                          (Jedenfalls zählt der Counter fleißig und die Fehlermeldung mit dem setState ist weg :laughing: )

                          A Offline
                          A Offline
                          ArnoD
                          schrieb am zuletzt editiert von
                          #2505

                          @bluebean :+1: sieht doch gut aus :wink:

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            MaLei
                            schrieb am zuletzt editiert von
                            #2506

                            Hallo zusammen,
                            Bei mir funktionieren die Zählerstände leider überhaupt nicht. Hat jemand einen Ansatz, wonach ich schauen kann?

                            A 1 Antwort Letzte Antwort
                            0
                            • M MaLei

                              Hallo zusammen,
                              Bei mir funktionieren die Zählerstände leider überhaupt nicht. Hat jemand einen Ansatz, wonach ich schauen kann?

                              A Offline
                              A Offline
                              ArnoD
                              schrieb am zuletzt editiert von
                              #2507

                              @malei
                              Welche Zählerstände meinst du?

                              M 1 Antwort Letzte Antwort
                              0
                              • A ArnoD

                                @malei
                                Welche Zählerstände meinst du?

                                M Offline
                                M Offline
                                MaLei
                                schrieb am zuletzt editiert von
                                #2508

                                @arnod

                                Die aus dem zweiten Skript auf Github.

                                A 1 Antwort Letzte Antwort
                                0
                                • M MaLei

                                  @arnod

                                  Die aus dem zweiten Skript auf Github.

                                  A Offline
                                  A Offline
                                  ArnoD
                                  schrieb am zuletzt editiert von ArnoD
                                  #2509

                                  @malei
                                  Wenn du willst, dass man dir hilft, musst du schon genauer werden, wo dein Problem ist.
                                  Ich kann sonst nur raten, was du für ein Problem hast.
                                  Was ist das zweite Script auf Github? Es gibt dort mehr als nur zwei.
                                  Hier geht es hauptsächlich um das Script Charge-Control, mit dem du anscheinend kein Problem hast, wenn ich dich richtig verstehe.

                                  Nachtrag: Meinst du das Script "Zaehlerstaende" ?
                                  Da benötigst du noch zusätzliche Hardware, die von deinem Stromzähler die Werte auslesen kann.
                                  Ich verwende da z.B den HM-ES-TX-WM von Homematic.

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • A ArnoD

                                    @malei
                                    Wenn du willst, dass man dir hilft, musst du schon genauer werden, wo dein Problem ist.
                                    Ich kann sonst nur raten, was du für ein Problem hast.
                                    Was ist das zweite Script auf Github? Es gibt dort mehr als nur zwei.
                                    Hier geht es hauptsächlich um das Script Charge-Control, mit dem du anscheinend kein Problem hast, wenn ich dich richtig verstehe.

                                    Nachtrag: Meinst du das Script "Zaehlerstaende" ?
                                    Da benötigst du noch zusätzliche Hardware, die von deinem Stromzähler die Werte auslesen kann.
                                    Ich verwende da z.B den HM-ES-TX-WM von Homematic.

                                    M Offline
                                    M Offline
                                    MaLei
                                    schrieb am zuletzt editiert von
                                    #2510

                                    @ArnoD

                                    In deinem ersten Post gibt es doch den Link zu Github. Ich dachte das wäre dein Projekt :face_with_rolling_eyes: Dort gibt es neben Charge-Control auch einen Ordner "Zaehlerstaende" mit einem Script.
                                    Bild 09.03.24 um 16.29.jpeg

                                    Das Script habe ich importiert. Die Objekte wurden auch angelegt, werden aber nicht gefüllt.

                                    1 Antwort Letzte Antwort
                                    0
                                    • bluebeanB bluebean

                                      @arnod
                                      Ich bin jetzt mal auf Dein originales Script umgestiegen, mal schauen ob der Fehler dann bei mir auch kommt.
                                      Ich hatte für mich Dein Script ja mit einem weiteren Tageszähler ergänzt, der mir die aktuell verbrauchte Energie des Hauses stellt (orientiert an Deinem LM3). Sonst keine Änderungen.
                                      Die 1000/min entsprechen gut 16/s. Kannst Du abschätzen, wie oft Du mit dem Script pro Sekunde setState setzt?

                                      M Offline
                                      M Offline
                                      MaLei
                                      schrieb am zuletzt editiert von
                                      #2511

                                      @bluebean sagte in E3DC Hauskraftwerk steuern:

                                      @arnod
                                      Ich bin jetzt mal auf Dein originales Script umgestiegen, mal schauen ob der Fehler dann bei mir auch kommt.
                                      Ich hatte für mich Dein Script ja mit einem weiteren Tageszähler ergänzt, der mir die aktuell verbrauchte Energie des Hauses stellt (orientiert an Deinem LM3). Sonst keine Änderungen.
                                      Die 1000/min entsprechen gut 16/s. Kannst Du abschätzen, wie oft Du mit dem Script pro Sekunde setState setzt?

                                      Geht es bei dem/den Tageszähler/n nicht auch um das Script Zaehlerstaende?

                                      A 1 Antwort Letzte Antwort
                                      0
                                      • M MaLei

                                        @bluebean sagte in E3DC Hauskraftwerk steuern:

                                        @arnod
                                        Ich bin jetzt mal auf Dein originales Script umgestiegen, mal schauen ob der Fehler dann bei mir auch kommt.
                                        Ich hatte für mich Dein Script ja mit einem weiteren Tageszähler ergänzt, der mir die aktuell verbrauchte Energie des Hauses stellt (orientiert an Deinem LM3). Sonst keine Änderungen.
                                        Die 1000/min entsprechen gut 16/s. Kannst Du abschätzen, wie oft Du mit dem Script pro Sekunde setState setzt?

                                        Geht es bei dem/den Tageszähler/n nicht auch um das Script Zaehlerstaende?

                                        A Offline
                                        A Offline
                                        ArnoD
                                        schrieb am zuletzt editiert von
                                        #2512

                                        Geht es bei dem/den Tageszähler/n nicht auch um das Script Zaehlerstaende?

                                        Nein, dort geht es um die Zähler im Script Charge-Control.

                                        Wie bereits geschrieben benötigst du für das Script "Zaehlerstaende" noch zusätzliche Hardware, um von deinem Stromzähler vom Energieversorger die Verbrauchswerte auslesen zu können.
                                        Man kann sich natürlich auch einen Bezugszähler, Einspeisezähler und PV-Zähler in JS programmieren.
                                        Bei dem Script wollte ich aber die Werte für das Finanzamt haben und lese deswegen die Werte von dem Zähler des Energieversorger aus.

                                        1 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          DA_HOOD
                                          schrieb am zuletzt editiert von
                                          #2513

                                          Guten Tag,

                                          ich habe gestern versucht das ganze zu installieren, musste heute aber feststellen das überhaupt nichts passiert ist. Ich bin nach der Anleitung vorgegangen und habe die ganzen Werte auch eingetragen.
                                          Beim starten des Scripts gibt es auch Fehlermeldungen aus denen ich nicht schlau werde. Würde mich über Hilfe freuen.

                                          Vielen Dank schonmal! :)

                                          chargecontrol.jpg

                                          HomoranH J 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

                                          721

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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