Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Enphase / Envoy / IQ-Gateway Solar Blockly Skript

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Enphase / Envoy / IQ-Gateway Solar Blockly Skript

    This topic has been deleted. Only users with topic management privileges can see it.
    • Steffe.S.
      Steffe.S. @Steffe.S. last edited by

      @steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

      @dexic sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

      @Steffe-S.

      Hast du eine Idee, wie ich mit dieser Fehlermeldung umgehen soll?

      Used invalid characters: 0_userdata.0.enphase.livedata.dry_contacts.h.dry_contact_load_name changed to 0_userdata.0.enphase.livedata.dry_contacts.h_.dry_contact_load_name
      

      3ac08daf-58db-41a0-9b39-890c923fc39f-grafik.png

      mit der Hilfe von @haus-automatisierung konnte die Fehlermeldung beseitigt werden. Hierzu muss das Skript "Enphase_Envoy_Datenabfrage" im Bereich (siehe Bild) bearbeitet werden. Hier auf die 3 Punkte klicken, den gesamten Inhalt herauslöschen und dann das geänderte Skript einfügen.

      Screenshot 2024-08-15 225012.png

      Skript:

      for (const i in obj) {
          const value = obj[i];
          const attr = i.replace(/[^a-zA-Z0-9._-]+/g, '');
       
          if (typeof value == 'object') {
              IObSetState(id + '.' + attr, value);
          } else {
              if (existsState(id + '.' + attr)) { // Existing object/ Update
                  if (typeof value === 'string' || value instanceof String) { // String
                      setState(id + '.' + attr, value, true);
                  } else { // It is a number or date
                      if ((new Date(value)).getTime() > 0 && Number(value) > 1685000000 && Number(value) < 4100000000) { // Date
                         setState(id + '.' + attr, value, true);
                         setState(id + '.' + attr + '_str', formatDate(value, 'TT.MM.JJJJ SS:mm:ss'), true);
                      } else { // Number
                         setState(id + '.' + attr, Number(value), true);
                      }
                  }
              } else { // New object / Create
                  if (typeof value === 'string' || value instanceof String) { // String
                      createState(id + '.' + attr, value, false, { type: 'string', read: true, write: true });
                  } else { // It is a number or date
                      if ((new Date(value)).getTime() > 0 && Number(value) > 1685000000 && Number(value) < 4100000000) { // Date
                         createState(id + '.' + attr, value, false, { type: 'number', read: true, write: true });
                         createState(id + '.' + attr + '_str', formatDate(value, 'TT.MM.JJJJ SS:mm:ss'), false, { type: 'string', read: true, write: true }); 
                      } else { // Number
                         createState(id + '.' + attr, value, false, { type: 'number', read: true, write: true }); // or type: "mixed"?
                      }
                  }
              }
          }
      }
      
      

      nachzulesen hier: https://forum.iobroker.net/topic/76381/gelöst-used-invalid-characters-über-blockly/22?_=1723791171518

      @dexic

      hier war doch die Lösung beschrieben

      D 1 Reply Last reply Reply Quote 0
      • D
        dexic @Steffe.S. last edited by dexic

        @steffe-s Damals war mir das als blutigem Anfänger zu kompliziert und ich habe die Lösung verdrängt. 😉 Ich hab's jetzt implementiert und warte zu, ob es hilft. Ggfs. frage ich noch einmal nach.

        EDIT: Es hat geholfen. Danke!

        1 Reply Last reply Reply Quote 1
        • S
          syntetic @Homoran last edited by

          @homoran said in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

          @syntetic Bitte logs nie als Screenshot, immer als Text in code-tags posten.

          welche js Adapter Version?

          Sorry, hier nochmal das log

          2025-06-16 13:48:27.758 - error: javascript.0 (1512) script.js.Überwachung.PV_Anlage_Datenabfrage: Error: Cannot find module '@iobroker-javascript.0/node-fetch'
          2025-06-16 13:48:27.759 - error: javascript.0 (1512) at Module.require (node:internal/modules/cjs/loader:1225:19)
          2025-06-16 13:48:27.760 - error: javascript.0 (1512) at require (node:internal/modules/helpers:177:18)
          2025-06-16 13:48:27.760 - error: javascript.0 (1512) at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:552:28)
          2025-06-16 13:48:27.761 - error: javascript.0 (1512) at renew_EnvoyToken (script.js.Überwachung.PV_Anlage_Datenabfrage:8:19)
          2025-06-16 13:48:27.761 - error: javascript.0 (1512) at script.js.Überwachung.PV_Anlage_Datenabfrage:195:18
          2025-06-16 13:48:27.761 - error: javascript.0 (1512) at script.js.Überwachung.PV_Anlage_Datenabfrage:253:3
          2025-06-16 13:48:27.761 - error: javascript.0 (1512) at Script.runInContext (node:vm:134:12)
          2025-06-16 13:48:27.763 - info: javascript.0 (1512) script.js.Überwachung.PV_Anlage_Datenabfrage: Renew token. 1. Login to enlighten.enphaseenergy.com to get session_id...
          2025-06-16 13:48:27.771 - error: javascript.0 (1512) script.js.Überwachung.PV_Anlage_Datenabfrage: TypeError: fetch is not a function
          2025-06-16 13:48:27.772 - error: javascript.0 (1512) at renew_EnvoyToken (script.js.Überwachung.PV_Anlage_Datenabfrage:19:5)
          2025-06-16 13:48:27.772 - error: javascript.0 (1512) at script.js.Überwachung.PV_Anlage_Datenabfrage:195:18
          2025-06-16 13:48:27.772 - error: javascript.0 (1512) at script.js.Überwachung.PV_Anlage_Datenabfrage:253:3
          2025-06-16 13:48:27.772 - error: javascript.0 (1512) at Script.runInContext (node:vm:134:12)
          2025-06-16 13:48:35.881 - info: javascript.0 (1512) Start JavaScript script.js.Überwachung.PV_Script_refresh (Blockly)
          2025-06-16 13:48:35.896 - error: javascript.0 (1512) script.js.Überwachung.PV_Script_refresh: Error: Cannot find module '@iobroker-javascript.0/node-fetch'
          2025-06-16 13:48:35.897 - error: javascript.0 (1512) at Module.require (node:internal/modules/cjs/loader:1225:19)
          2025-06-16 13:48:35.898 - error: javascript.0 (1512) at require (node:internal/modules/helpers:177:18)
          2025-06-16 13:48:35.899 - error: javascript.0 (1512) at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:552:28)
          2025-06-16 13:48:35.901 - error: javascript.0 (1512) at renew_EnvoyToken (script.js.Überwachung.PV_Script_refresh:64:19)
          2025-06-16 13:48:35.902 - error: javascript.0 (1512) at script.js.Überwachung.PV_Script_refresh:197:18
          2025-06-16 13:48:35.902 - error: javascript.0 (1512) at script.js.Überwachung.PV_Script_refresh:231:3
          2025-06-16 13:48:35.905 - error: javascript.0 (1512) at Script.runInContext (node:vm:134:12)
          2025-06-16 13:48:35.906 - info: javascript.0 (1512) script.js.Überwachung.PV_Script_refresh: Renew token. 1. Login to enlighten.enphaseenergy.com to get session_id...
          2025-06-16 13:48:35.909 - error: javascript.0 (1512) script.js.Überwachung.PV_Script_refresh: TypeError: fetch is not a function
          2025-06-16 13:48:35.910 - error: javascript.0 (1512) at renew_EnvoyToken (script.js.Überwachung.PV_Script_refresh:75:5)
          2025-06-16 13:48:35.910 - error: javascript.0 (1512) at script.js.Überwachung.PV_Script_refresh:197:18
          2025-06-16 13:48:35.911 - error: javascript.0 (1512) at script.js.Überwachung.PV_Script_refresh:231:3
          2025-06-16 13:48:35.911 - error: javascript.0 (1512) at Script.runInContext (node:vm:134:12)
          2025-06-16 13:48:38.454 - info: javascript.0 (1512) Start JavaScript script.js.Überwachung.PV_Werte_durch_1000 (Blockly)
          2025-06-16 13:48:38.462 - info: javascript.0 (1512) script.js.Überwachung.PV_Werte_durch_1000: registered 12 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          

          JS Version 8.8.3

          Auch bei den Skripten von @Steffe-S ist der Fehler der gleiche. Ich mach mal Updates und versuchs dann nochmal.

          Homoran Steffe.S. 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @syntetic last edited by

            @syntetic sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

            Cannot find module '@iobroker-javascript.0/node-fetch'

            braucht das Skript dieses Modul?
            Wenn ja, hast du das in der Konfiguration der Instanz?

            1 Reply Last reply Reply Quote 1
            • Steffe.S.
              Steffe.S. @syntetic last edited by

              @syntetic

              Ich habe von ca 2 Wochen bei einem Bekannten iobroker komplett neu aufgesetzt und dann auch die Skripte eingefügt. Alles hat auf Anhieb funktioniert. Ich vermute auch, dass Dein System nicht up to date ist.

              Ich werde aber die Skripte gleich noch einmal auf einem frischen System testen.

              Homoran Steffe.S. 2 Replies Last reply Reply Quote 2
              • Homoran
                Homoran Global Moderator Administrators @Steffe.S. last edited by Homoran

                @steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

                dass Dein System nicht up to date ist.

                ist es nicht!

                @syntetic sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

                JS Version 8.8.3

                aktuell im stable ist 8.9.2

                Den Fehler

                @syntetic sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

                TypeError: irgendwas is not a function

                hat es mal gegeben.

                Möglicherweise ist aber noch mehr krumm

                EDIT:
                Nachfolgende Posts mit Informationen zum veralteten System abgetrennt!

                S 1 Reply Last reply Reply Quote 1
                • Steffe.S.
                  Steffe.S. @Steffe.S. last edited by

                  @steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

                  @syntetic

                  Ich habe von ca 2 Wochen bei einem Bekannten iobroker komplett neu aufgesetzt und dann auch die Skripte eingefügt. Alles hat auf Anhieb funktioniert. Ich vermute auch, dass Dein System nicht up to date ist.

                  Ich werde aber die Skripte gleich noch einmal auf einem frischen System testen.

                  Alle Skripte laufen ohne Fehler (getestet auf einer neuen iobroker-Dockerinstanz und JavaSkriptAdapter)

                  Homoran S 2 Replies Last reply Reply Quote 1
                  • Homoran
                    Homoran Global Moderator Administrators @Steffe.S. last edited by Homoran

                    @steffe-s siehe
                    https://forum.iobroker.net/topic/81383/veraltetes-system-retten

                    Steffe.S. 1 Reply Last reply Reply Quote 1
                    • Steffe.S.
                      Steffe.S. @Homoran last edited by

                      @homoran

                      Danke für Deine Hilfe

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Steffe.S. last edited by

                        @steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

                        @homoran

                        Danke für Deine Hilfe

                        immer wieder gerne!
                        Hat ja mit diesem Thread und deinem Skript nichts zu tun.

                        1 Reply Last reply Reply Quote 1
                        • S
                          syntetic @Steffe.S. last edited by

                          @steffe-s Vielen Dank für eure Hilfe. Mit der jetzt aktuellen Installation funktioniert es super!

                          1 Reply Last reply Reply Quote 1
                          • Steffe.S.
                            Steffe.S. @Steffe.S. last edited by

                            @steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:

                            ich habe eine Möglichkeit gefunden, mit der wir die LiveDaten alle 10sec bekommen.

                            1. In den Instanzen JavaSkript auswählen und auf Einstellungen gehen:

                            www.JPG

                            1. Die Maximalen Anfragen von Standard auf 10000 stellen

                            10000.JPG

                            1. Die Zeit im Skript auf 10 Sekunden stellen:

                            qqq.JPG

                            Bei mir läuft es jetzt seit gestern 23:39Uhr ohne Ausfall, weniger Zeit habe ich nicht probiert.

                            @syntetic

                            ich denke diese Einstellung würde den Fehler bei der 10 Sekundenabfrage beseitigen...

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            484
                            Online

                            31.7k
                            Users

                            79.9k
                            Topics

                            1.3m
                            Posts

                            api enphase envoy iq-gateway pv anlage script solar
                            15
                            207
                            21328
                            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