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

  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Enphase / Envoy / IQ-Gateway Solar Blockly Skript

NEWS

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

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

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

Enphase / Envoy / IQ-Gateway Solar Blockly Skript

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
enphasesolarpv anlageapienvoyiq-gatewayscript
230 Beiträge 16 Kommentatoren 51.0k Aufrufe 14 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.
  • Steffe.S.S Steffe.S.

    @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

    Edit 16.06.2025: diese Änderung habe ich in das Skript Enphase_Envoy_Datenabfrage schon hinzugefügt.

    Steffe.S.S Online
    Steffe.S.S Online
    Steffe.S.
    schrieb am zuletzt editiert von
    #196

    @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 Antwort Letzte Antwort
    0
    • Steffe.S.S Steffe.S.

      @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 Offline
      D Offline
      dexic
      schrieb am zuletzt editiert von dexic
      #197

      @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 Antwort Letzte Antwort
      1
      • HomoranH Homoran

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

        welche js Adapter Version?

        S Offline
        S Offline
        syntetic
        schrieb am zuletzt editiert von
        #198

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

        HomoranH Steffe.S.S 2 Antworten Letzte Antwort
        0
        • S syntetic

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

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #199

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

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          1
          • S syntetic

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

            Steffe.S.S Online
            Steffe.S.S Online
            Steffe.S.
            schrieb am zuletzt editiert von
            #200

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

            HomoranH Steffe.S.S 2 Antworten Letzte Antwort
            2
            • Steffe.S.S Steffe.S.

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

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von Homoran
              #201

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

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              S 1 Antwort Letzte Antwort
              1
              • Steffe.S.S Steffe.S.

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

                Steffe.S.S Online
                Steffe.S.S Online
                Steffe.S.
                schrieb am zuletzt editiert von
                #202

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

                HomoranH S 2 Antworten Letzte Antwort
                1
                • Steffe.S.S Steffe.S.

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

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von Homoran
                  #203

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

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  Steffe.S.S 1 Antwort Letzte Antwort
                  1
                  • HomoranH Homoran

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

                    Steffe.S.S Online
                    Steffe.S.S Online
                    Steffe.S.
                    schrieb am zuletzt editiert von
                    #204

                    @homoran

                    Danke für Deine Hilfe

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • Steffe.S.S Steffe.S.

                      @homoran

                      Danke für Deine Hilfe

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #205

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

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Antwort Letzte Antwort
                      1
                      • Steffe.S.S Steffe.S.

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

                        S Offline
                        S Offline
                        syntetic
                        schrieb am zuletzt editiert von
                        #206

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

                        1 Antwort Letzte Antwort
                        1
                        • Steffe.S.S Steffe.S.

                          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.

                          Steffe.S.S Online
                          Steffe.S.S Online
                          Steffe.S.
                          schrieb am zuletzt editiert von
                          #207

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

                          D 1 Antwort Letzte Antwort
                          2
                          • Steffe.S.S Steffe.S.

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

                            D Offline
                            D Offline
                            DieWaldfee
                            schrieb am zuletzt editiert von DieWaldfee
                            #208

                            @steffe-s: vielen Dank für dein Schaffen! Skripte importiert und läuft einwandfrei auf meiner neuen Anlage. Danke dafür:+1: .
                            Und ach Dank an @gregoj für die Basisarbeit!

                            Hast du schonmal überlegt das als Adapter für den iobroker umzusetzen?
                            (versuche mich gerade in die Adapterprogrammierung reinzufuchsen - stehe bei 1% :blush: ...Tendent steigend)

                            Steffe.S.S 1 Antwort Letzte Antwort
                            1
                            • D DieWaldfee

                              @steffe-s: vielen Dank für dein Schaffen! Skripte importiert und läuft einwandfrei auf meiner neuen Anlage. Danke dafür:+1: .
                              Und ach Dank an @gregoj für die Basisarbeit!

                              Hast du schonmal überlegt das als Adapter für den iobroker umzusetzen?
                              (versuche mich gerade in die Adapterprogrammierung reinzufuchsen - stehe bei 1% :blush: ...Tendent steigend)

                              Steffe.S.S Online
                              Steffe.S.S Online
                              Steffe.S.
                              schrieb am zuletzt editiert von Steffe.S.
                              #209

                              @diewaldfee :

                              prinzipiell wäre ein "Enphase-Adapter" eine coole Sache, aber ich habe 0% (Tendenz gleichbleibend) Plan von einer Adapterprogrammierung.

                              Ich bin gerne Dein Alphatester :nerd_face:

                              D 3 Antworten Letzte Antwort
                              0
                              • Steffe.S.S Steffe.S.

                                @diewaldfee :

                                prinzipiell wäre ein "Enphase-Adapter" eine coole Sache, aber ich habe 0% (Tendenz gleichbleibend) Plan von einer Adapterprogrammierung.

                                Ich bin gerne Dein Alphatester :nerd_face:

                                D Offline
                                D Offline
                                DieWaldfee
                                schrieb am zuletzt editiert von
                                #210

                                @steffe-s ok, ich setzte das ganze mal in javascript um - ist damit die Vorstufe. sobald ich soweit bin melde ich mich mit nem Upload :blush: Von den Datenpunkten lasse ich alles 1:1 und mache da nur ggf. benötigte Checks (try-catch) rein.
                                Ich passe auch gleich die Debug-Ausgaben an, um besser lesbare Meldungen zu erhalten - im Verlauf dieses Verlaufs kommt das ja immer wieder vor.
                                Danach würde nur noch TypeScript als Update fehlen - das Buch liegt schon neben meiner Tastatur.
                                Soweit zum Start :+1: ...wenns soweit ist, dann bin ich auch soweit firm im vsCode, damit das mit dem Adapter klappen müsste - we will see :grin:

                                D 1 Antwort Letzte Antwort
                                2
                                • D DieWaldfee

                                  @steffe-s ok, ich setzte das ganze mal in javascript um - ist damit die Vorstufe. sobald ich soweit bin melde ich mich mit nem Upload :blush: Von den Datenpunkten lasse ich alles 1:1 und mache da nur ggf. benötigte Checks (try-catch) rein.
                                  Ich passe auch gleich die Debug-Ausgaben an, um besser lesbare Meldungen zu erhalten - im Verlauf dieses Verlaufs kommt das ja immer wieder vor.
                                  Danach würde nur noch TypeScript als Update fehlen - das Buch liegt schon neben meiner Tastatur.
                                  Soweit zum Start :+1: ...wenns soweit ist, dann bin ich auch soweit firm im vsCode, damit das mit dem Adapter klappen müsste - we will see :grin:

                                  D Offline
                                  D Offline
                                  DieWaldfee
                                  schrieb am zuletzt editiert von
                                  #211

                                  Bin fertig mit dem Javascript. ich lege es auf github ab. der Verlauf hier ist 3km lang und auf GitHub können die Issues besser gehandhabt werden.
                                  hier der Link: https://github.com/DieWaldfee/Enphase-IQ-Gateway-access

                                  ...aber bevor ich das da ablege eine wichtige Frage:
                                  Das Script ist public - wie hier auch und unter der GNU 3.0 Lizenz - free to use. Passt das für dich?

                                  (Dein Einverständnis ist wichtig, da ich ja auf deiner Basis das Skript erstellt habe - gregoj kann ich nicht mehr fragen ...scheinbar)

                                  Zum Script:

                                  • ergänzt sind ein Haufen Fehlermeldungen und Fehlerbehandlungen.
                                  • ein paar Bugs habe ich noch gefunden
                                  • ich habe dein "/1000-Skript" nicht integriert, sonder als separates Blockly daneben gestellt. Dieses Blockly habe ich ergänzt, das automatisch die Datenpunkte erzeugt werden.
                                    => das JS-Script mach das API-handling und stellt die nativen Datenpunkte zur Verfügung.
                                    => das Blockly macht deine /1000 Berechnung - dafür ist JS zu sperrig, um das mal eben anzupassen für die Masse
                                  Steffe.S.S NegaleinN 2 Antworten Letzte Antwort
                                  2
                                  • Steffe.S.S Steffe.S.

                                    @diewaldfee :

                                    prinzipiell wäre ein "Enphase-Adapter" eine coole Sache, aber ich habe 0% (Tendenz gleichbleibend) Plan von einer Adapterprogrammierung.

                                    Ich bin gerne Dein Alphatester :nerd_face:

                                    D Offline
                                    D Offline
                                    DieWaldfee
                                    schrieb am zuletzt editiert von
                                    #212

                                    @steffe-s ...reply auf mich selbst gemacht... s.o. bin fertig

                                    1 Antwort Letzte Antwort
                                    0
                                    • Steffe.S.S Steffe.S.

                                      @diewaldfee :

                                      prinzipiell wäre ein "Enphase-Adapter" eine coole Sache, aber ich habe 0% (Tendenz gleichbleibend) Plan von einer Adapterprogrammierung.

                                      Ich bin gerne Dein Alphatester :nerd_face:

                                      D Offline
                                      D Offline
                                      DieWaldfee
                                      schrieb am zuletzt editiert von
                                      #213

                                      @steffe-s
                                      Hier schonmal dein angepasstes Blockly-Skript:
                                      envoy_blockly.Envoy_Auswertung.txt

                                      Den SC_Stream_Status habe ich von der 0&10-Lösung auf einen state umgebaut.
                                      0 und 10 kommen in meinem Javascript nicht mehr raus - den Status lässt sich viel einfacher
                                      in diesem Blocky transferieren. Damit ist jetzt das Blockly soweit unabhängig vom API-Skript.
                                      (API-Skript kümmert sich um die API und das Blockly nimmt daraus Werte heraus und stellt diese
                                      [in Watt statt milliWatt] tranformiert dar. Ne runde Sache jetzt.

                                      Steffe.S.S 3 Antworten Letzte Antwort
                                      1
                                      • D DieWaldfee

                                        Bin fertig mit dem Javascript. ich lege es auf github ab. der Verlauf hier ist 3km lang und auf GitHub können die Issues besser gehandhabt werden.
                                        hier der Link: https://github.com/DieWaldfee/Enphase-IQ-Gateway-access

                                        ...aber bevor ich das da ablege eine wichtige Frage:
                                        Das Script ist public - wie hier auch und unter der GNU 3.0 Lizenz - free to use. Passt das für dich?

                                        (Dein Einverständnis ist wichtig, da ich ja auf deiner Basis das Skript erstellt habe - gregoj kann ich nicht mehr fragen ...scheinbar)

                                        Zum Script:

                                        • ergänzt sind ein Haufen Fehlermeldungen und Fehlerbehandlungen.
                                        • ein paar Bugs habe ich noch gefunden
                                        • ich habe dein "/1000-Skript" nicht integriert, sonder als separates Blockly daneben gestellt. Dieses Blockly habe ich ergänzt, das automatisch die Datenpunkte erzeugt werden.
                                          => das JS-Script mach das API-handling und stellt die nativen Datenpunkte zur Verfügung.
                                          => das Blockly macht deine /1000 Berechnung - dafür ist JS zu sperrig, um das mal eben anzupassen für die Masse
                                        Steffe.S.S Online
                                        Steffe.S.S Online
                                        Steffe.S.
                                        schrieb am zuletzt editiert von Steffe.S.
                                        #214

                                        @diewaldfee

                                        von mir aus kannst Du gerne das erweiterte Skript benutzen, nur habe ich (zusammen mit meinem Schwager) die Erweiterung sc_stream ergänzt.

                                        Der Ursprung ist von @greoj , schreib ihn mal privat an, da hat er mir schnell geantwortet.

                                        1 Antwort Letzte Antwort
                                        0
                                        • D DieWaldfee

                                          @steffe-s
                                          Hier schonmal dein angepasstes Blockly-Skript:
                                          envoy_blockly.Envoy_Auswertung.txt

                                          Den SC_Stream_Status habe ich von der 0&10-Lösung auf einen state umgebaut.
                                          0 und 10 kommen in meinem Javascript nicht mehr raus - den Status lässt sich viel einfacher
                                          in diesem Blocky transferieren. Damit ist jetzt das Blockly soweit unabhängig vom API-Skript.
                                          (API-Skript kümmert sich um die API und das Blockly nimmt daraus Werte heraus und stellt diese
                                          [in Watt statt milliWatt] tranformiert dar. Ne runde Sache jetzt.

                                          Steffe.S.S Online
                                          Steffe.S.S Online
                                          Steffe.S.
                                          schrieb am zuletzt editiert von
                                          #215

                                          @diewaldfee

                                          Ich versuche es die Tage mal in einer eigenen Dockerinstanz zu testen, vielen Dank für Deine Mühe 👍

                                          D 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          709

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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