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. 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.
  • G Offline
    G Offline
    greoj
    schrieb am zuletzt editiert von
    #1

    Hallo,

    für alle mit einer Photovoltaikanlage von der Firma Enphase habe ich ein ioBroker Blockly-Skript geschrieben, um aktuelle Daten der Anlage vom sogenannten Envoy/IQ-Gateway in ioBroker einzulesen.
    Enphase ist sehr verbreitet in den USA, Frankreich und Benelux und ist seit kurzem auch in Deutschland gestartet. Der Hauptunterschied zu anderen PV-Systemen liegt im Microwechselrichter-Konzept, bei dem ein eigener Microwechselrichter für jedes PV-Modul vorhanden ist anstelle eines zentralen Wechselrichters. Gesteuert wird die Anlage über ein kleines IQ-Gateway auch "Envoy" genannt.
    Enphase bietet leider nur die Möglichkeit die eigenen PV-Daten über eine Cloud API zu beziehen. Diese Lösung ist aber leider sehr limitiert im Umfang und Aktualität der Daten und wird richtig teuer, wenn man diese Einschränkungen etwas lockern möchte.
    Zum Glück gibt es noch eine wenig dokumentierte Möglichkeit die Daten direkt via lokale API vom Envoy zu bekommen. Enphase hat allerdings die Authentifizierung von einem zuvor einfachen User/Passwort Login auf eine sichere und standardisierte sogenannte Bearer-Token-Authentication umgestellt, die etwas mehr Aufwand bereitet. Dabei wird zunächst nach Anmeldung mit User/Passwort an der Enphase-Cloud ein kryptographisch gesichertes Token erzeugt, welches zeitbeschränkt ist und die Rolle des Users beschreibt (z.B. "Owner" oder "Installer"). Ein normales "Besitzer/User"-Token ist derzeit 12 Monate gültig. Ein "Installer"-Token ist angeblich nur 1 Tag gültig. Mit diesem Token wird dann anschließend jeder API-Aufruf am lokalen Envoy authentifiziert.

    Genau um diese lokale Enphase Envoy API zum IQ-Gateway geht es hier (Envoy Version > v7.0.88).
    Ich habe im Vorfeld verschiedene Lösungen im Netz gefunden und probiert, aber keine war einfach zu implementieren. Sie basieren auf eigenständigen Services wie z.B. Homebridge, die dann dauerhaft und nur für diesen speziellen Zweck betrieben werden müssen. Zudem ist die Integration mit ioBroker dann nur per MQTT möglich.
    Mit diesem Skript haben Enphase Benutzer nun eine einfache native ioBroker Lösung.

    Das Skript löst die genannten Probleme in dem es

    • mehrere hundert aktuelle und zeitnahe PV-Daten wie Produktions-, Verbrauchs-, und Einzelpanel Daten direkt in ioBroker bereitstellt
    • minütliche Updates (kann bis in den Sekundenbereich beschleunigt werden)
    • minimale Anforderungen an das ioBroker System stellt
    • komplett in ioBroker integriert ist
    • die ioBroker Datenstrukturen automatisch erzeugt und aktualisiert, wenn API-Änderungen von Enphase erfolgen
    • Unix Timestamps in den Envoy Daten erkennt und automatisch als zusätzlicher Datenpunkt mit der Namenserweiterung "_str" als lesbarer Zeitstring erstellt
    • Envoy Daten bietet, die es nicht in der App/Web für normale Benutzer gibt wie die "Aktuelle Modulleistung jedes einzelnen Panels" (Hinweis: Die Microinverter Daten werden abweichend nur alle 2-5 Minuten von Envoy aktualisiert)
    • dem Anlagenbesitzer keine laufenden Kosten für Cloud API Zugriffe verursacht
    • rein lokal ohne Internetzugriff läuft (für das automatische periodische Token Renewal ist aber eine Internetverbindung zur Enphase Cloud nötig)

    Installationsanleitung:

    1. Das unten angefügte Skript "enphase.txt" in den ioBroker Skript Editor importieren
    2. Die eigenen Enphase Envoy Daten eingeben
      Dazu im Skript die Kommentare mit "*** USER INPUT ***" suchen und anpassen.
      Beispiele sind im Skript gegeben.
      Wichtig sind:
      a) Enphase Cloud Credentials (Enphase Cloud Username & Passwort)
      b) Envoy Seriennummer (in der Enphase App oder Web zu finden unter SYSTEM…GERÄTE…GATEWAY…SN: [besteht aus 12 Ziffern])
      c) Envoy lokale IP Adresse

    a0616917-1645-4b48-a6b5-185c0dd38935-image.png
    8fbafe8b-4f8a-440e-8336-12b6bba08519-image.png

    1. Das Skript speichern und starten
    2. Beim ersten Aufruf wird das Token erzeugt und ins ioBroker Log geschrieben
    3. Danach werden die Envoy Daten basierend aus 5 einzelnen API-Aufrufen als ioBroker Datenpunkte unter dem Pfad "0_userdata.0.enphase" erstellt. Darunter wird dann rekursiv die Datenstruktur des Envoys API Calls erstellt.
    4. Bei allen folgenden Aufrufen wird geprüft, ob der einzelne Datenpunkt existiert oder nicht. Entsprechend wird der Datenpunkt neu erzeugt oder aktualisiert. Man kann also gefahrlos den ganzen Enphase Baum, Zweige oder einzelne Datenpunkte löschen. Beim nächsten Aufruf wird die Struktur wieder erstellt. Hinweis: Falls Enphase die Datenstrukturen der lokalen API ändert, wird dies automatisch abgebildet. Datenpunkte, die Enphase im API Aufruf zukünftig nicht mehr schicken sollte, bleiben im ioBroker vorhanden und müssen ggf. von Hand gelöscht werden.

    Hinweis:
    Die 5 API-Aufrufe liefern teils gleiche Dateninhalte. Im Prinzip enthalten die API "3. Get PV METER READINGS" und "5. Get PV MICRO INVERTER" alle notwendigen Daten. Die anderen APIs bieten aber teilweise zusätzliche fertig berechnete Daten, so dass man sie schneller weiterverarbeiten kann. Ein Sonderfall ist der Tagesenergiezähler "whToday" [Wh], der nur in API "4. Get PV PRODUCTION.JSON" vorkommt. (Der Wochenzähler "whLastSevenDays" bietet leider keine brauchbaren Daten).

    Viel Spaß damit!
    Jörg

    Enphase-Skript:
    enphase.txt

    G Steffe.S.S D Running-Henne 0R 4 Antworten Letzte Antwort
    0
    • G greoj

      Hallo,

      für alle mit einer Photovoltaikanlage von der Firma Enphase habe ich ein ioBroker Blockly-Skript geschrieben, um aktuelle Daten der Anlage vom sogenannten Envoy/IQ-Gateway in ioBroker einzulesen.
      Enphase ist sehr verbreitet in den USA, Frankreich und Benelux und ist seit kurzem auch in Deutschland gestartet. Der Hauptunterschied zu anderen PV-Systemen liegt im Microwechselrichter-Konzept, bei dem ein eigener Microwechselrichter für jedes PV-Modul vorhanden ist anstelle eines zentralen Wechselrichters. Gesteuert wird die Anlage über ein kleines IQ-Gateway auch "Envoy" genannt.
      Enphase bietet leider nur die Möglichkeit die eigenen PV-Daten über eine Cloud API zu beziehen. Diese Lösung ist aber leider sehr limitiert im Umfang und Aktualität der Daten und wird richtig teuer, wenn man diese Einschränkungen etwas lockern möchte.
      Zum Glück gibt es noch eine wenig dokumentierte Möglichkeit die Daten direkt via lokale API vom Envoy zu bekommen. Enphase hat allerdings die Authentifizierung von einem zuvor einfachen User/Passwort Login auf eine sichere und standardisierte sogenannte Bearer-Token-Authentication umgestellt, die etwas mehr Aufwand bereitet. Dabei wird zunächst nach Anmeldung mit User/Passwort an der Enphase-Cloud ein kryptographisch gesichertes Token erzeugt, welches zeitbeschränkt ist und die Rolle des Users beschreibt (z.B. "Owner" oder "Installer"). Ein normales "Besitzer/User"-Token ist derzeit 12 Monate gültig. Ein "Installer"-Token ist angeblich nur 1 Tag gültig. Mit diesem Token wird dann anschließend jeder API-Aufruf am lokalen Envoy authentifiziert.

      Genau um diese lokale Enphase Envoy API zum IQ-Gateway geht es hier (Envoy Version > v7.0.88).
      Ich habe im Vorfeld verschiedene Lösungen im Netz gefunden und probiert, aber keine war einfach zu implementieren. Sie basieren auf eigenständigen Services wie z.B. Homebridge, die dann dauerhaft und nur für diesen speziellen Zweck betrieben werden müssen. Zudem ist die Integration mit ioBroker dann nur per MQTT möglich.
      Mit diesem Skript haben Enphase Benutzer nun eine einfache native ioBroker Lösung.

      Das Skript löst die genannten Probleme in dem es

      • mehrere hundert aktuelle und zeitnahe PV-Daten wie Produktions-, Verbrauchs-, und Einzelpanel Daten direkt in ioBroker bereitstellt
      • minütliche Updates (kann bis in den Sekundenbereich beschleunigt werden)
      • minimale Anforderungen an das ioBroker System stellt
      • komplett in ioBroker integriert ist
      • die ioBroker Datenstrukturen automatisch erzeugt und aktualisiert, wenn API-Änderungen von Enphase erfolgen
      • Unix Timestamps in den Envoy Daten erkennt und automatisch als zusätzlicher Datenpunkt mit der Namenserweiterung "_str" als lesbarer Zeitstring erstellt
      • Envoy Daten bietet, die es nicht in der App/Web für normale Benutzer gibt wie die "Aktuelle Modulleistung jedes einzelnen Panels" (Hinweis: Die Microinverter Daten werden abweichend nur alle 2-5 Minuten von Envoy aktualisiert)
      • dem Anlagenbesitzer keine laufenden Kosten für Cloud API Zugriffe verursacht
      • rein lokal ohne Internetzugriff läuft (für das automatische periodische Token Renewal ist aber eine Internetverbindung zur Enphase Cloud nötig)

      Installationsanleitung:

      1. Das unten angefügte Skript "enphase.txt" in den ioBroker Skript Editor importieren
      2. Die eigenen Enphase Envoy Daten eingeben
        Dazu im Skript die Kommentare mit "*** USER INPUT ***" suchen und anpassen.
        Beispiele sind im Skript gegeben.
        Wichtig sind:
        a) Enphase Cloud Credentials (Enphase Cloud Username & Passwort)
        b) Envoy Seriennummer (in der Enphase App oder Web zu finden unter SYSTEM…GERÄTE…GATEWAY…SN: [besteht aus 12 Ziffern])
        c) Envoy lokale IP Adresse

      a0616917-1645-4b48-a6b5-185c0dd38935-image.png
      8fbafe8b-4f8a-440e-8336-12b6bba08519-image.png

      1. Das Skript speichern und starten
      2. Beim ersten Aufruf wird das Token erzeugt und ins ioBroker Log geschrieben
      3. Danach werden die Envoy Daten basierend aus 5 einzelnen API-Aufrufen als ioBroker Datenpunkte unter dem Pfad "0_userdata.0.enphase" erstellt. Darunter wird dann rekursiv die Datenstruktur des Envoys API Calls erstellt.
      4. Bei allen folgenden Aufrufen wird geprüft, ob der einzelne Datenpunkt existiert oder nicht. Entsprechend wird der Datenpunkt neu erzeugt oder aktualisiert. Man kann also gefahrlos den ganzen Enphase Baum, Zweige oder einzelne Datenpunkte löschen. Beim nächsten Aufruf wird die Struktur wieder erstellt. Hinweis: Falls Enphase die Datenstrukturen der lokalen API ändert, wird dies automatisch abgebildet. Datenpunkte, die Enphase im API Aufruf zukünftig nicht mehr schicken sollte, bleiben im ioBroker vorhanden und müssen ggf. von Hand gelöscht werden.

      Hinweis:
      Die 5 API-Aufrufe liefern teils gleiche Dateninhalte. Im Prinzip enthalten die API "3. Get PV METER READINGS" und "5. Get PV MICRO INVERTER" alle notwendigen Daten. Die anderen APIs bieten aber teilweise zusätzliche fertig berechnete Daten, so dass man sie schneller weiterverarbeiten kann. Ein Sonderfall ist der Tagesenergiezähler "whToday" [Wh], der nur in API "4. Get PV PRODUCTION.JSON" vorkommt. (Der Wochenzähler "whLastSevenDays" bietet leider keine brauchbaren Daten).

      Viel Spaß damit!
      Jörg

      Enphase-Skript:
      enphase.txt

      G Offline
      G Offline
      greoj
      schrieb am zuletzt editiert von greoj
      #2

      In den Recherchen zum ioBroker Enphase Skript habe ich weitere local APIs gefunden und hier in einem Dokument zusammengetragen. Die offizielle Dokumentation von Enphase zur lokalen API mit Stand Januar 2023 bildet den Rahmen (basierend auf der aktuellen "token-based authentication", d.h. Envoy Version >= 7.0.x):

      https://www.photovoltaikforum.com/core/attachment/361582-tech-brief-iq-gateway-local-api-or-ui-access-using-token-en-us-12-14-2022-pdf/

      Hinweis: Die weiteren APIs in meinem Dokument sind möglicherweise älter und können in zukünftigen Envoy Firmware Updates unzuverlässig bzw. gar nicht mehr funktionieren.

      Übersicht Enphase local APIs:
      Enphase Envoy API Overview 19.7.23.pdf

      e94950e4-d48b-4614-b100-3055be9be907-image.png

      1 Antwort Letzte Antwort
      0
      • G greoj

        Hallo,

        für alle mit einer Photovoltaikanlage von der Firma Enphase habe ich ein ioBroker Blockly-Skript geschrieben, um aktuelle Daten der Anlage vom sogenannten Envoy/IQ-Gateway in ioBroker einzulesen.
        Enphase ist sehr verbreitet in den USA, Frankreich und Benelux und ist seit kurzem auch in Deutschland gestartet. Der Hauptunterschied zu anderen PV-Systemen liegt im Microwechselrichter-Konzept, bei dem ein eigener Microwechselrichter für jedes PV-Modul vorhanden ist anstelle eines zentralen Wechselrichters. Gesteuert wird die Anlage über ein kleines IQ-Gateway auch "Envoy" genannt.
        Enphase bietet leider nur die Möglichkeit die eigenen PV-Daten über eine Cloud API zu beziehen. Diese Lösung ist aber leider sehr limitiert im Umfang und Aktualität der Daten und wird richtig teuer, wenn man diese Einschränkungen etwas lockern möchte.
        Zum Glück gibt es noch eine wenig dokumentierte Möglichkeit die Daten direkt via lokale API vom Envoy zu bekommen. Enphase hat allerdings die Authentifizierung von einem zuvor einfachen User/Passwort Login auf eine sichere und standardisierte sogenannte Bearer-Token-Authentication umgestellt, die etwas mehr Aufwand bereitet. Dabei wird zunächst nach Anmeldung mit User/Passwort an der Enphase-Cloud ein kryptographisch gesichertes Token erzeugt, welches zeitbeschränkt ist und die Rolle des Users beschreibt (z.B. "Owner" oder "Installer"). Ein normales "Besitzer/User"-Token ist derzeit 12 Monate gültig. Ein "Installer"-Token ist angeblich nur 1 Tag gültig. Mit diesem Token wird dann anschließend jeder API-Aufruf am lokalen Envoy authentifiziert.

        Genau um diese lokale Enphase Envoy API zum IQ-Gateway geht es hier (Envoy Version > v7.0.88).
        Ich habe im Vorfeld verschiedene Lösungen im Netz gefunden und probiert, aber keine war einfach zu implementieren. Sie basieren auf eigenständigen Services wie z.B. Homebridge, die dann dauerhaft und nur für diesen speziellen Zweck betrieben werden müssen. Zudem ist die Integration mit ioBroker dann nur per MQTT möglich.
        Mit diesem Skript haben Enphase Benutzer nun eine einfache native ioBroker Lösung.

        Das Skript löst die genannten Probleme in dem es

        • mehrere hundert aktuelle und zeitnahe PV-Daten wie Produktions-, Verbrauchs-, und Einzelpanel Daten direkt in ioBroker bereitstellt
        • minütliche Updates (kann bis in den Sekundenbereich beschleunigt werden)
        • minimale Anforderungen an das ioBroker System stellt
        • komplett in ioBroker integriert ist
        • die ioBroker Datenstrukturen automatisch erzeugt und aktualisiert, wenn API-Änderungen von Enphase erfolgen
        • Unix Timestamps in den Envoy Daten erkennt und automatisch als zusätzlicher Datenpunkt mit der Namenserweiterung "_str" als lesbarer Zeitstring erstellt
        • Envoy Daten bietet, die es nicht in der App/Web für normale Benutzer gibt wie die "Aktuelle Modulleistung jedes einzelnen Panels" (Hinweis: Die Microinverter Daten werden abweichend nur alle 2-5 Minuten von Envoy aktualisiert)
        • dem Anlagenbesitzer keine laufenden Kosten für Cloud API Zugriffe verursacht
        • rein lokal ohne Internetzugriff läuft (für das automatische periodische Token Renewal ist aber eine Internetverbindung zur Enphase Cloud nötig)

        Installationsanleitung:

        1. Das unten angefügte Skript "enphase.txt" in den ioBroker Skript Editor importieren
        2. Die eigenen Enphase Envoy Daten eingeben
          Dazu im Skript die Kommentare mit "*** USER INPUT ***" suchen und anpassen.
          Beispiele sind im Skript gegeben.
          Wichtig sind:
          a) Enphase Cloud Credentials (Enphase Cloud Username & Passwort)
          b) Envoy Seriennummer (in der Enphase App oder Web zu finden unter SYSTEM…GERÄTE…GATEWAY…SN: [besteht aus 12 Ziffern])
          c) Envoy lokale IP Adresse

        a0616917-1645-4b48-a6b5-185c0dd38935-image.png
        8fbafe8b-4f8a-440e-8336-12b6bba08519-image.png

        1. Das Skript speichern und starten
        2. Beim ersten Aufruf wird das Token erzeugt und ins ioBroker Log geschrieben
        3. Danach werden die Envoy Daten basierend aus 5 einzelnen API-Aufrufen als ioBroker Datenpunkte unter dem Pfad "0_userdata.0.enphase" erstellt. Darunter wird dann rekursiv die Datenstruktur des Envoys API Calls erstellt.
        4. Bei allen folgenden Aufrufen wird geprüft, ob der einzelne Datenpunkt existiert oder nicht. Entsprechend wird der Datenpunkt neu erzeugt oder aktualisiert. Man kann also gefahrlos den ganzen Enphase Baum, Zweige oder einzelne Datenpunkte löschen. Beim nächsten Aufruf wird die Struktur wieder erstellt. Hinweis: Falls Enphase die Datenstrukturen der lokalen API ändert, wird dies automatisch abgebildet. Datenpunkte, die Enphase im API Aufruf zukünftig nicht mehr schicken sollte, bleiben im ioBroker vorhanden und müssen ggf. von Hand gelöscht werden.

        Hinweis:
        Die 5 API-Aufrufe liefern teils gleiche Dateninhalte. Im Prinzip enthalten die API "3. Get PV METER READINGS" und "5. Get PV MICRO INVERTER" alle notwendigen Daten. Die anderen APIs bieten aber teilweise zusätzliche fertig berechnete Daten, so dass man sie schneller weiterverarbeiten kann. Ein Sonderfall ist der Tagesenergiezähler "whToday" [Wh], der nur in API "4. Get PV PRODUCTION.JSON" vorkommt. (Der Wochenzähler "whLastSevenDays" bietet leider keine brauchbaren Daten).

        Viel Spaß damit!
        Jörg

        Enphase-Skript:
        enphase.txt

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

        @greoj , vielen vielen Dank, danach habe ich schon lange gesucht

        Ich habe mir noch:

        INVENTORY (/ivp/ensemble/inventory) hinzufügen, da sieht man die Temperatur und den Ladezustand der Batterie

        über LED Status kann man sehen, ob die Batterie Lädt, entlädt oder im Ruhezustand ist.

        12 Akku lädt
        13 Akku entlädt
        14 Akku vollgeladen idle
        16 Ladezustand zwischen 25 und 50% idle
        17 Akku leer 5% idle

        und :

        https://envoy/ivp/livedata/status hinzugefügt. Da kann man alle Daten (Netzbezug / Netzeeinspeisung, Batterieladung /-entladung und Hausverbrauch) einsehen.

        Nach 15min muss mit der App oder Webseite der LiveStatus einmal neugestartet werden, da sonst der Status von "sc_stream": "enabled" auf "sc_stream": "disabled" geht.

        Man muss an https://envoy/ivp/livedata/stream ein "POST, json to pass: {“enable”: 1}" schicken. Das kann man gut mit Postman testen (der Token ist hier auch wichtig)

        Im Enphase Forum (Community nach "/ivp/livedata/" suchen, da steht das auch nochmal beschrieben.
        ...............................

        API ivp/livedata/stream needs to be used in POST, json to pass: {“enable”: 1}

        Field ‘mains_admin_state’ is not a required field

        Response should be,

        {

        "sc_stream": "enabled"

        }

        Gruss Steffen

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

          @greoj , vielen vielen Dank, danach habe ich schon lange gesucht

          Ich habe mir noch:

          INVENTORY (/ivp/ensemble/inventory) hinzufügen, da sieht man die Temperatur und den Ladezustand der Batterie

          über LED Status kann man sehen, ob die Batterie Lädt, entlädt oder im Ruhezustand ist.

          12 Akku lädt
          13 Akku entlädt
          14 Akku vollgeladen idle
          16 Ladezustand zwischen 25 und 50% idle
          17 Akku leer 5% idle

          und :

          https://envoy/ivp/livedata/status hinzugefügt. Da kann man alle Daten (Netzbezug / Netzeeinspeisung, Batterieladung /-entladung und Hausverbrauch) einsehen.

          Nach 15min muss mit der App oder Webseite der LiveStatus einmal neugestartet werden, da sonst der Status von "sc_stream": "enabled" auf "sc_stream": "disabled" geht.

          Man muss an https://envoy/ivp/livedata/stream ein "POST, json to pass: {“enable”: 1}" schicken. Das kann man gut mit Postman testen (der Token ist hier auch wichtig)

          Im Enphase Forum (Community nach "/ivp/livedata/" suchen, da steht das auch nochmal beschrieben.
          ...............................

          API ivp/livedata/stream needs to be used in POST, json to pass: {“enable”: 1}

          Field ‘mains_admin_state’ is not a required field

          Response should be,

          {

          "sc_stream": "enabled"

          }

          Gruss Steffen

          M Offline
          M Offline
          MK70
          schrieb am zuletzt editiert von
          #4

          @steffe-s Du hast das Script um die entsprechende Einträge selbst erweitert?
          Wenn ja könntest Du bitte das veränderte Script hier posten?
          Besten Dank

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

            @steffe-s Du hast das Script um die entsprechende Einträge selbst erweitert?
            Wenn ja könntest Du bitte das veränderte Script hier posten?
            Besten Dank

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

            @mk70 , mach ich dann.

            Ich schreibe auch gleich noch was dazu. Bis denne...

            1 Antwort Letzte Antwort
            0
            • Steffe.S.S Online
              Steffe.S.S Online
              Steffe.S.
              schrieb am zuletzt editiert von Steffe.S.
              #6

              BITTE MACHT VORHER EIN BACKUP VOM AKTUELLEN IOBROKERSYSTEM, BEVOR IHR DAS SKRIPT TESTET!!!

              Hier die 4 Skripte:

              .1. Skript

              Abholen aller Daten einmal pro Minute ( erweitert um Punkt 6 und Punkt 7). Unter 1 Minute gibt es Fehler.

              *edit 19.09.2024: Aktualisierung unter 1 Minute gelöst...

              *edit 10.04.2024:

              wenn man sich auf LiveDaten und Microwechselrichterdaten beschränkt geht auch eine Aktualisierungszeit von 15 Sekunden. Einfach die Zeit im Trigger auf 15 sec stellen.*

              LiveDaten.JPG

              Enphase_Envoy_Datenabfrage.txt

              Hier im Blockly den username / password / envoy_serialnummer / envoy_ip eintragen.
              ....................................................................
              2.Skript

              Das envoy bleibt mit den LiveDaten max 15 Minuten online, diese Skript aktualisiert sich alle 10 Minunten und hält das envoy im Onlinemodus.

              sc_stream enable.JPG

              sc-stream.txt

              Hier im Blockly den username / password / envoy_serialnummer / envoy_ip eintragen.
              ...................................................................
              2.2. Datenpunkte erstellen

              Datenpunkte aus Json importieren:

              Unbenannt.JPG

              0_userdata.0.Enphase-Werte_durch_1000.json

              ...................................................................
              3. Skript

              Die LiveDaten werden in MilliWatt ausgegeben. Dieses Skript rechnet die Daten im Watt um.

              Enphase durch 1000 inkl. Netzbezug ohne Einspeisung.JPG

              aktualisiert am 19.05.2024

              DAS SKRIPT FUNKTIONIERT NUR MIT DEN DATENPUNKTEN AUS "PUNKT 2.2 DATENPUNKTE ERSTELLEN"!!!

              <xml xmlns="https://developers.google.com/blockly/xml">
                <block type="comment" id="b34XJZy@p3[tYg9~i77(" x="-438" y="-687">
                  <field name="COMMENT">Netzbezug / Netzeinspeisung</field>
                  <next>
                    <block type="on" id="R=TcB:Y;oW+@!R21r;.c">
                      <field name="OID">0_userdata.0.enphase.livedata.meters.grid.agg_p_mw</field>
                      <field name="CONDITION">ne</field>
                      <field name="ACK_CONDITION"></field>
                      <statement name="STATEMENT">
                        <block type="update" id=",Smtm*YKzeEoxCw%Y$$}">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Energienetz</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="math_round" id="`:SgM1(S!e7wO$x#rdA7">
                              <field name="OP">ROUNDUP</field>
                              <value name="NUM">
                                <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                  <field name="NUM">3.1</field>
                                </shadow>
                                <block type="math_arithmetic" id="fGHNrBIh0Rb4C1Y1a[rY">
                                  <field name="OP">DIVIDE</field>
                                  <value name="A">
                                    <shadow type="math_number" id="%dB3b}^r!H:LX7[0PytL">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="on_source" id=",b5/]n=AWf?^Ow=8yf^?">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow type="math_number" id="3O3;3qa}(|{)h0Z+?8B?">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="math_number" id="QP84}[6.N0:{p**V+VhE">
                                      <field name="NUM">1000</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="update" id=":Am_Gm[7mE|w]#]*i_(*">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Netzbezug_ohne_Einspeisung</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="math_round" id="1WQ]FtxW*Rr[{i/vpEr~">
                                  <field name="OP">ROUNDUP</field>
                                  <value name="NUM">
                                    <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                      <field name="NUM">3.1</field>
                                    </shadow>
                                    <block type="math_arithmetic" id="V6]7*W;hmF]Fh=H]ov$D">
                                      <field name="OP">DIVIDE</field>
                                      <value name="A">
                                        <shadow type="math_number" id="%dB3b}^r!H:LX7[0PytL">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="on_source" id="iVlAXB/ie7[Z+4P$#g(A">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="3O3;3qa}(|{)h0Z+?8B?">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="math_number" id="F^B_8!nAS[2AWfxJ}[t7">
                                          <field name="NUM">1000</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </statement>
                      <next>
                        <block type="comment" id="(oz0QsPxo%1,Hcawpks.">
                          <field name="COMMENT">Netzeinspeisung negiert</field>
                          <next>
                            <block type="on" id="o!/9@gfrBge5q!FXL_aq">
                              <field name="OID">0_userdata.0.enphase.livedata.meters.grid.agg_p_mw</field>
                              <field name="CONDITION">any</field>
                              <field name="ACK_CONDITION"></field>
                              <statement name="STATEMENT">
                                <block type="controls_if" id="R!lRI5?P:IpDL/YpJ6mc">
                                  <mutation else="1"></mutation>
                                  <value name="IF0">
                                    <block type="logic_compare" id="92KNC^=Hu_c4o!15yeJ*">
                                      <field name="OP">GT</field>
                                      <value name="A">
                                        <block type="get_value" id="H*HRgODY9:4F_H2?s]2*">
                                          <field name="ATTR">val</field>
                                          <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="A**xn9B,cbBzS6eq1Xa0">
                                          <field name="NUM">0</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="update" id="/]@j_??kR~lK`?GljvLk">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Einspeisung</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="math_arithmetic" id=",wij]CcH[K|9{zF.($Ne">
                                          <field name="OP">MULTIPLY</field>
                                          <value name="A">
                                            <shadow type="math_number" id="t|.]8o6qOD#zZXUS{tmn">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="R92$P`uocO;{95ac+S^E">
                                              <field name="ATTR">val</field>
                                              <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Energienetz</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="iwr9hg2mr@d9YW-Gz_TZ">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="math_number" id="@K{D^A]w8mzwrK*~dh7|">
                                              <field name="NUM">-1</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </statement>
                                  <statement name="ELSE">
                                    <block type="update" id="{^EgD^wDw$p*s%uAVi+B">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Einspeisung</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="math_number" id="-0gPy-bv:cv@giTA}fr:">
                                          <field name="NUM">0</field>
                                        </block>
                                      </value>
                                    </block>
                                  </statement>
                                </block>
                              </statement>
                              <next>
                                <block type="comment" id="z.XJ|8h6gD-i^Dk255KS">
                                  <field name="COMMENT">Hausverbrauch</field>
                                  <next>
                                    <block type="on" id="F4|LHxJ-9e3}FbqgM*%0">
                                      <field name="OID">0_userdata.0.enphase.livedata.meters.load.agg_p_mw</field>
                                      <field name="CONDITION">any</field>
                                      <field name="ACK_CONDITION"></field>
                                      <statement name="STATEMENT">
                                        <block type="update" id="sX/%.U3(d@0FH;[c-7Z$">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Hausverbrauch</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="math_round" id=":i2J#BlN1uy4Jye~K!IR">
                                              <field name="OP">ROUNDUP</field>
                                              <value name="NUM">
                                                <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                  <field name="NUM">3.1</field>
                                                </shadow>
                                                <block type="math_arithmetic" id="*e~+quHSP.z$azvq~}F0">
                                                  <field name="OP">DIVIDE</field>
                                                  <value name="A">
                                                    <shadow type="math_number" id="M`Yh{e~{r5:_-:9P^:JW">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="on_source" id="phJx!7L#U!a.]5=76AZf">
                                                      <field name="ATTR">state.val</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <shadow type="math_number" id="MQBq|1jXHJ#%,1..gxvY">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="math_number" id="3:i,RAn2:9TkS3H_=-J#">
                                                      <field name="NUM">1000</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </statement>
                                      <next>
                                        <block type="comment" id="`*;dUWj=!LDNpbkLc))M">
                                          <field name="COMMENT">PV Erzeugnung</field>
                                          <next>
                                            <block type="on" id="iT)3o|gf6HB.%eCN$@zP">
                                              <field name="OID">0_userdata.0.enphase.livedata.meters.pv.agg_p_mw</field>
                                              <field name="CONDITION">any</field>
                                              <field name="ACK_CONDITION"></field>
                                              <statement name="STATEMENT">
                                                <block type="controls_if" id="l^zE[P~R)a!2t|:jiM(|">
                                                  <mutation else="1"></mutation>
                                                  <value name="IF0">
                                                    <block type="logic_compare" id="nh3/v4+,91w5I[3IadS$">
                                                      <field name="OP">GT</field>
                                                      <value name="A">
                                                        <block type="on_source" id="8T=N6GJN8KUjykUuNW?P">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="math_number" id="x)}j2:d+Is%sN@z_6g,~">
                                                          <field name="NUM">0</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <statement name="DO0">
                                                    <block type="update" id="$5xwgaIa3ULu9MP@`DUx">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                      <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="math_round" id="{:U/C2)dpiqCyXsRX%2}">
                                                          <field name="OP">ROUNDUP</field>
                                                          <value name="NUM">
                                                            <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                              <field name="NUM">3.1</field>
                                                            </shadow>
                                                            <block type="math_arithmetic" id="KdjcX,q(-3l`vCx2(o~l">
                                                              <field name="OP">DIVIDE</field>
                                                              <value name="A">
                                                                <shadow type="math_number" id="Z;YmcS)C![ri*hWck9-#">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="on_source" id="ydT%+`wmTw+}+t/sF=C~">
                                                                  <field name="ATTR">state.val</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <shadow type="math_number" id="BGWnp9qn*ZZM4o|#M[tX">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="math_number" id="LrV1n3ml@ZTfS0C$j9@b">
                                                                  <field name="NUM">1000</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </statement>
                                                  <statement name="ELSE">
                                                    <block type="update" id="w_ky5IC/WO/2W,dnzB5A">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                      <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="math_number" id="m;ZDZySI%b2~}UZEDIso">
                                                          <field name="NUM">0</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </statement>
                                              <next>
                                                <block type="comment" id="4]s2;oO[A.DKS^feZs*l">
                                                  <field name="COMMENT">Batterieladung über PV</field>
                                                  <next>
                                                    <block type="on" id="}*xtxiY-j7g,_jBEDV?^">
                                                      <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field>
                                                      <field name="CONDITION">any</field>
                                                      <field name="ACK_CONDITION"></field>
                                                      <statement name="STATEMENT">
                                                        <block type="controls_if" id="Z+Le9t!]wro?Aiyjq9yT">
                                                          <mutation else="1"></mutation>
                                                          <value name="IF0">
                                                            <block type="logic_compare" id="ye0=tBqFC3,,.^@ywMv3">
                                                              <field name="OP">GT</field>
                                                              <value name="A">
                                                                <block type="get_value" id="U#-I`pnZzIDQ/1JJ|4I{">
                                                                  <field name="ATTR">val</field>
                                                                  <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <block type="math_number" id="b;}lR*{qn8YNnYK5(,$m">
                                                                  <field name="NUM">0</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <statement name="DO0">
                                                            <block type="update" id="moZ7/vz`Ex*wXp+S%OxU">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                              <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_PV</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE">
                                                                <block type="math_round" id="/eg]`f){,*d1F*!nHB7k">
                                                                  <field name="OP">ROUNDUP</field>
                                                                  <value name="NUM">
                                                                    <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                                      <field name="NUM">3.1</field>
                                                                    </shadow>
                                                                    <block type="math_arithmetic" id="6t5]{-=r?*[|^C_yl8U]">
                                                                      <field name="OP">DIVIDE</field>
                                                                      <value name="A">
                                                                        <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="on_source" id="r/fj8*GRX+DEAB?kB.I*">
                                                                          <field name="ATTR">state.val</field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="math_number" id="-.qb;4Y|6v05uZ$5@o$0">
                                                                          <field name="NUM">1000</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </statement>
                                                          <statement name="ELSE">
                                                            <block type="update" id="Wczg}72@veb-mhG7s*!b">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                              <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_PV</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE">
                                                                <block type="math_number" id="l),T@!ne5;zU)D:=@gxm">
                                                                  <field name="NUM">0</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </statement>
                                                        </block>
                                                      </statement>
                                                      <next>
                                                        <block type="comment" id="Ci}(~uQL=y.a5k~;ZJRC">
                                                          <field name="COMMENT">Batterie Eigenverbrauch</field>
                                                          <next>
                                                            <block type="on" id=".ftf(ks:n?jlQW7{QbfI">
                                                              <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field>
                                                              <field name="CONDITION">any</field>
                                                              <field name="ACK_CONDITION"></field>
                                                              <statement name="STATEMENT">
                                                                <block type="update" id="1Ek@Ld0k%0Mz#x#9LC({">
                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                  <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Eigenverbrauch</field>
                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                  <value name="VALUE">
                                                                    <block type="math_round" id="eeH:@M.MP@((T[C^O{qP">
                                                                      <field name="OP">ROUNDUP</field>
                                                                      <value name="NUM">
                                                                        <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                                          <field name="NUM">3.1</field>
                                                                        </shadow>
                                                                        <block type="math_arithmetic" id="DrW_.;3ED~7qV?5zl#Sr">
                                                                          <field name="OP">DIVIDE</field>
                                                                          <value name="A">
                                                                            <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M">
                                                                              <field name="NUM">1</field>
                                                                            </shadow>
                                                                            <block type="on_source" id="BL1JGJ:+%L=I;4NL?zsV">
                                                                              <field name="ATTR">state.val</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS">
                                                                              <field name="NUM">1</field>
                                                                            </shadow>
                                                                            <block type="math_number" id="..lWof[ekOiU~KQ$b@_z">
                                                                              <field name="NUM">1000</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <next>
                                                                    <block type="update" id="R0.]Ji-I)USF_IdoA+AM">
                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                      <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_nur_Entladung</field>
                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                      <value name="VALUE">
                                                                        <block type="math_round" id="K[hTID9Zd?9b~HXXU2c)">
                                                                          <field name="OP">ROUNDUP</field>
                                                                          <value name="NUM">
                                                                            <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                                              <field name="NUM">3.1</field>
                                                                            </shadow>
                                                                            <block type="math_arithmetic" id="i)mZ;NsE4%KMcWNRe-qA">
                                                                              <field name="OP">DIVIDE</field>
                                                                              <value name="A">
                                                                                <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M">
                                                                                  <field name="NUM">1</field>
                                                                                </shadow>
                                                                                <block type="on_source" id="rog!@vu:BUw@Vg][g_s-">
                                                                                  <field name="ATTR">state.val</field>
                                                                                </block>
                                                                              </value>
                                                                              <value name="B">
                                                                                <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS">
                                                                                  <field name="NUM">1</field>
                                                                                </shadow>
                                                                                <block type="math_number" id="=B6I[z+GTuc%s9HjeCp.">
                                                                                  <field name="NUM">1000</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </statement>
                                                              <next>
                                                                <block type="comment" id="vRvyUxzeAknF8-y?1y0B">
                                                                  <field name="COMMENT">Batterieladung über Netz</field>
                                                                  <next>
                                                                    <block type="on" id="=*hn}Nh%cbF,,8MeTD]^">
                                                                      <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field>
                                                                      <field name="CONDITION">any</field>
                                                                      <field name="ACK_CONDITION"></field>
                                                                      <statement name="STATEMENT">
                                                                        <block type="controls_if" id="EH:,]-n4sq!W5GWX,m|m">
                                                                          <mutation else="1"></mutation>
                                                                          <value name="IF0">
                                                                            <block type="logic_multi_and" id="lW?R`+GrZ@=NB^1N/Cen">
                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                              <value name="AND0">
                                                                                <block type="logic_compare" id="=Lvy-Uh?XG6D@v1[fH7J">
                                                                                  <field name="OP">LT</field>
                                                                                  <value name="A">
                                                                                    <block type="get_value" id="w+;2Z=7!oi:C[|b+pAO!">
                                                                                      <field name="ATTR">val</field>
                                                                                      <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                                                    </block>
                                                                                  </value>
                                                                                  <value name="B">
                                                                                    <block type="math_number" id="hvg[h3Ahp62?asD)A62y">
                                                                                      <field name="NUM">1</field>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                              <value name="AND1">
                                                                                <block type="logic_compare" id="BRtu[S[p!ssG=2nXo8c)">
                                                                                  <field name="OP">LT</field>
                                                                                  <value name="A">
                                                                                    <block type="get_value" id="`l13.Y11VCD%BgA^a${y">
                                                                                      <field name="ATTR">val</field>
                                                                                      <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Eigenverbrauch</field>
                                                                                    </block>
                                                                                  </value>
                                                                                  <value name="B">
                                                                                    <block type="math_number" id="T#B_8-Whfw2/@Pax@HSO">
                                                                                      <field name="NUM">0</field>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                          <statement name="DO0">
                                                                            <block type="update" id="E}[(Oer7{z~U99E]}Yg8">
                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                              <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_Netz</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE">
                                                                                <block type="math_round" id="MuU[;fK/1Y9aLyNVtU75">
                                                                                  <field name="OP">ROUNDUP</field>
                                                                                  <value name="NUM">
                                                                                    <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                                                      <field name="NUM">3.1</field>
                                                                                    </shadow>
                                                                                    <block type="math_arithmetic" id="f`t{sxRGwz0].eAhs^Lp">
                                                                                      <field name="OP">DIVIDE</field>
                                                                                      <value name="A">
                                                                                        <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M">
                                                                                          <field name="NUM">1</field>
                                                                                        </shadow>
                                                                                        <block type="on_source" id="8SG6UKL:;PK9pJmzo!#+">
                                                                                          <field name="ATTR">state.val</field>
                                                                                        </block>
                                                                                      </value>
                                                                                      <value name="B">
                                                                                        <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS">
                                                                                          <field name="NUM">1</field>
                                                                                        </shadow>
                                                                                        <block type="math_number" id="08aprkxhJ(S+Epf:((;j">
                                                                                          <field name="NUM">1000</field>
                                                                                        </block>
                                                                                      </value>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </statement>
                                                                          <statement name="ELSE">
                                                                            <block type="update" id="GC}I02Vvv]W2Qwz(Q1Q4">
                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                              <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_Netz</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE">
                                                                                <block type="math_number" id="5,,H-17)2^Z0MDN^r=6-">
                                                                                  <field name="NUM">0</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </statement>
                                                                        </block>
                                                                      </statement>
                                                                      <next>
                                                                        <block type="comment" id=")+j/rdrw_?8@eq8v9ZCJ">
                                                                          <field name="COMMENT">Batterie Netzeinspeisung</field>
                                                                          <next>
                                                                            <block type="on" id="@^J}E`J,eF[p88x3@)R~">
                                                                              <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Energienetz</field>
                                                                              <field name="CONDITION">any</field>
                                                                              <field name="ACK_CONDITION"></field>
                                                                              <statement name="STATEMENT">
                                                                                <block type="controls_if" id="V|c1tWUOT+8:QuZ`!,H)">
                                                                                  <mutation else="1"></mutation>
                                                                                  <value name="IF0">
                                                                                    <block type="logic_multi_and" id="=KcG/8jovF.B~aDV%-f^">
                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                      <value name="AND0">
                                                                                        <block type="logic_compare" id="2zioA7V=.):tLA{d)@7q">
                                                                                          <field name="OP">LT</field>
                                                                                          <value name="A">
                                                                                            <block type="get_value" id="{@Dh.,9$-ffuh-7*/WX:">
                                                                                              <field name="ATTR">val</field>
                                                                                              <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="B">
                                                                                            <block type="math_number" id="q%}PR8,Zz/J*--zC0B78">
                                                                                              <field name="NUM">1</field>
                                                                                            </block>
                                                                                          </value>
                                                                                        </block>
                                                                                      </value>
                                                                                      <value name="AND1">
                                                                                        <block type="logic_compare" id="tZWZgq#FLQRb]]3+EF0U">
                                                                                          <field name="OP">LT</field>
                                                                                          <value name="A">
                                                                                            <block type="on_source" id=";!|_5s7C[dW2G9YK=p|:">
                                                                                              <field name="ATTR">state.val</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="B">
                                                                                            <block type="math_number" id="~eL=-y4L+Zu/+qNUr#no">
                                                                                              <field name="NUM">0</field>
                                                                                            </block>
                                                                                          </value>
                                                                                        </block>
                                                                                      </value>
                                                                                    </block>
                                                                                  </value>
                                                                                  <statement name="DO0">
                                                                                    <block type="update" id="haTT(QWr_$U!5x^QJi[,">
                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                      <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Einspeisung</field>
                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                      <value name="VALUE">
                                                                                        <block type="math_arithmetic" id="5b/^SFE,,N~i#R`?hRms">
                                                                                          <field name="OP">MULTIPLY</field>
                                                                                          <value name="A">
                                                                                            <shadow type="math_number" id="t|.]8o6qOD#zZXUS{tmn">
                                                                                              <field name="NUM">1</field>
                                                                                            </shadow>
                                                                                            <block type="on_source" id="4!IyP4Ha`A#jlkbA5lBZ">
                                                                                              <field name="ATTR">state.val</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="B">
                                                                                            <shadow type="math_number" id="iwr9hg2mr@d9YW-Gz_TZ">
                                                                                              <field name="NUM">1</field>
                                                                                            </shadow>
                                                                                            <block type="math_number" id="/y44l`eJ3ReZcj;kPXZ?">
                                                                                              <field name="NUM">-1</field>
                                                                                            </block>
                                                                                          </value>
                                                                                        </block>
                                                                                      </value>
                                                                                    </block>
                                                                                  </statement>
                                                                                  <statement name="ELSE">
                                                                                    <block type="update" id="Xm7@K;6NKB@3Cp##D5;h">
                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                      <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Einspeisung</field>
                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                      <value name="VALUE">
                                                                                        <block type="math_number" id="SqR.*8V`hJIugw[Ry?+O">
                                                                                          <field name="NUM">0</field>
                                                                                        </block>
                                                                                      </value>
                                                                                    </block>
                                                                                  </statement>
                                                                                </block>
                                                                              </statement>
                                                                              <next>
                                                                                <block type="comment" id="K6+js$fu%A[`-=y!bKU4">
                                                                                  <field name="COMMENT">Batterie Netzbezug / Einspeisung</field>
                                                                                  <next>
                                                                                    <block type="on" id="Odpmlsk?AOC(xp@rs,-,">
                                                                                      <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field>
                                                                                      <field name="CONDITION">any</field>
                                                                                      <field name="ACK_CONDITION"></field>
                                                                                      <statement name="STATEMENT">
                                                                                        <block type="update" id="%{Kfj,`XYX|AJV(m5}@=">
                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                          <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Netz_gesamt</field>
                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                          <value name="VALUE">
                                                                                            <block type="logic_multi_or" id="D*oB1RnVhQ{(L)~iarPr">
                                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                              <value name="OR0">
                                                                                                <block type="get_value" id="E6aezjYKj2#^|Z*+S|]j">
                                                                                                  <field name="ATTR">val</field>
                                                                                                  <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Einspeisung</field>
                                                                                                </block>
                                                                                              </value>
                                                                                              <value name="OR1">
                                                                                                <block type="get_value" id=")@FRm9dq5(rIKc6d,V6n">
                                                                                                  <field name="ATTR">val</field>
                                                                                                  <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_Netz</field>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </value>
                                                                                        </block>
                                                                                      </statement>
                                                                                      <next>
                                                                                        <block type="comment" id="1rPj2U$Mym_}FRlbfjbj">
                                                                                          <field name="COMMENT">Batteriekapazität</field>
                                                                                          <next>
                                                                                            <block type="on" id="^#q+~or)i4nq{7LEc_[!">
                                                                                              <field name="OID">0_userdata.0.enphase.livedata.meters.soc</field>
                                                                                              <field name="CONDITION">any</field>
                                                                                              <field name="ACK_CONDITION"></field>
                                                                                              <statement name="STATEMENT">
                                                                                                <block type="update" id="/PV#v$$.`*2*H1L#C?Pb">
                                                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                  <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batteriekapazität</field>
                                                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                                                  <value name="VALUE">
                                                                                                    <block type="on_source" id="goZCXBnXJKbY.Rz{AdtQ">
                                                                                                      <field name="ATTR">state.val</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </statement>
                                                                                            </block>
                                                                                          </next>
                                                                                        </block>
                                                                                      </next>
                                                                                    </block>
                                                                                  </next>
                                                                                </block>
                                                                              </next>
                                                                            </block>
                                                                          </next>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </xml>
              

              ...............................................................

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

                BITTE MACHT VORHER EIN BACKUP VOM AKTUELLEN IOBROKERSYSTEM, BEVOR IHR DAS SKRIPT TESTET!!!

                Hier die 4 Skripte:

                .1. Skript

                Abholen aller Daten einmal pro Minute ( erweitert um Punkt 6 und Punkt 7). Unter 1 Minute gibt es Fehler.

                *edit 19.09.2024: Aktualisierung unter 1 Minute gelöst...

                *edit 10.04.2024:

                wenn man sich auf LiveDaten und Microwechselrichterdaten beschränkt geht auch eine Aktualisierungszeit von 15 Sekunden. Einfach die Zeit im Trigger auf 15 sec stellen.*

                LiveDaten.JPG

                Enphase_Envoy_Datenabfrage.txt

                Hier im Blockly den username / password / envoy_serialnummer / envoy_ip eintragen.
                ....................................................................
                2.Skript

                Das envoy bleibt mit den LiveDaten max 15 Minuten online, diese Skript aktualisiert sich alle 10 Minunten und hält das envoy im Onlinemodus.

                sc_stream enable.JPG

                sc-stream.txt

                Hier im Blockly den username / password / envoy_serialnummer / envoy_ip eintragen.
                ...................................................................
                2.2. Datenpunkte erstellen

                Datenpunkte aus Json importieren:

                Unbenannt.JPG

                0_userdata.0.Enphase-Werte_durch_1000.json

                ...................................................................
                3. Skript

                Die LiveDaten werden in MilliWatt ausgegeben. Dieses Skript rechnet die Daten im Watt um.

                Enphase durch 1000 inkl. Netzbezug ohne Einspeisung.JPG

                aktualisiert am 19.05.2024

                DAS SKRIPT FUNKTIONIERT NUR MIT DEN DATENPUNKTEN AUS "PUNKT 2.2 DATENPUNKTE ERSTELLEN"!!!

                <xml xmlns="https://developers.google.com/blockly/xml">
                  <block type="comment" id="b34XJZy@p3[tYg9~i77(" x="-438" y="-687">
                    <field name="COMMENT">Netzbezug / Netzeinspeisung</field>
                    <next>
                      <block type="on" id="R=TcB:Y;oW+@!R21r;.c">
                        <field name="OID">0_userdata.0.enphase.livedata.meters.grid.agg_p_mw</field>
                        <field name="CONDITION">ne</field>
                        <field name="ACK_CONDITION"></field>
                        <statement name="STATEMENT">
                          <block type="update" id=",Smtm*YKzeEoxCw%Y$$}">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Energienetz</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="math_round" id="`:SgM1(S!e7wO$x#rdA7">
                                <field name="OP">ROUNDUP</field>
                                <value name="NUM">
                                  <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                    <field name="NUM">3.1</field>
                                  </shadow>
                                  <block type="math_arithmetic" id="fGHNrBIh0Rb4C1Y1a[rY">
                                    <field name="OP">DIVIDE</field>
                                    <value name="A">
                                      <shadow type="math_number" id="%dB3b}^r!H:LX7[0PytL">
                                        <field name="NUM">1</field>
                                      </shadow>
                                      <block type="on_source" id=",b5/]n=AWf?^Ow=8yf^?">
                                        <field name="ATTR">state.val</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <shadow type="math_number" id="3O3;3qa}(|{)h0Z+?8B?">
                                        <field name="NUM">1</field>
                                      </shadow>
                                      <block type="math_number" id="QP84}[6.N0:{p**V+VhE">
                                        <field name="NUM">1000</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <next>
                              <block type="update" id=":Am_Gm[7mE|w]#]*i_(*">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Netzbezug_ohne_Einspeisung</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="math_round" id="1WQ]FtxW*Rr[{i/vpEr~">
                                    <field name="OP">ROUNDUP</field>
                                    <value name="NUM">
                                      <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                        <field name="NUM">3.1</field>
                                      </shadow>
                                      <block type="math_arithmetic" id="V6]7*W;hmF]Fh=H]ov$D">
                                        <field name="OP">DIVIDE</field>
                                        <value name="A">
                                          <shadow type="math_number" id="%dB3b}^r!H:LX7[0PytL">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="on_source" id="iVlAXB/ie7[Z+4P$#g(A">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <shadow type="math_number" id="3O3;3qa}(|{)h0Z+?8B?">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="math_number" id="F^B_8!nAS[2AWfxJ}[t7">
                                            <field name="NUM">1000</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </statement>
                        <next>
                          <block type="comment" id="(oz0QsPxo%1,Hcawpks.">
                            <field name="COMMENT">Netzeinspeisung negiert</field>
                            <next>
                              <block type="on" id="o!/9@gfrBge5q!FXL_aq">
                                <field name="OID">0_userdata.0.enphase.livedata.meters.grid.agg_p_mw</field>
                                <field name="CONDITION">any</field>
                                <field name="ACK_CONDITION"></field>
                                <statement name="STATEMENT">
                                  <block type="controls_if" id="R!lRI5?P:IpDL/YpJ6mc">
                                    <mutation else="1"></mutation>
                                    <value name="IF0">
                                      <block type="logic_compare" id="92KNC^=Hu_c4o!15yeJ*">
                                        <field name="OP">GT</field>
                                        <value name="A">
                                          <block type="get_value" id="H*HRgODY9:4F_H2?s]2*">
                                            <field name="ATTR">val</field>
                                            <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="A**xn9B,cbBzS6eq1Xa0">
                                            <field name="NUM">0</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="update" id="/]@j_??kR~lK`?GljvLk">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Einspeisung</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_arithmetic" id=",wij]CcH[K|9{zF.($Ne">
                                            <field name="OP">MULTIPLY</field>
                                            <value name="A">
                                              <shadow type="math_number" id="t|.]8o6qOD#zZXUS{tmn">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="get_value" id="R92$P`uocO;{95ac+S^E">
                                                <field name="ATTR">val</field>
                                                <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Energienetz</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <shadow type="math_number" id="iwr9hg2mr@d9YW-Gz_TZ">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="math_number" id="@K{D^A]w8mzwrK*~dh7|">
                                                <field name="NUM">-1</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <statement name="ELSE">
                                      <block type="update" id="{^EgD^wDw$p*s%uAVi+B">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Einspeisung</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="-0gPy-bv:cv@giTA}fr:">
                                            <field name="NUM">0</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                                <next>
                                  <block type="comment" id="z.XJ|8h6gD-i^Dk255KS">
                                    <field name="COMMENT">Hausverbrauch</field>
                                    <next>
                                      <block type="on" id="F4|LHxJ-9e3}FbqgM*%0">
                                        <field name="OID">0_userdata.0.enphase.livedata.meters.load.agg_p_mw</field>
                                        <field name="CONDITION">any</field>
                                        <field name="ACK_CONDITION"></field>
                                        <statement name="STATEMENT">
                                          <block type="update" id="sX/%.U3(d@0FH;[c-7Z$">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Hausverbrauch</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_round" id=":i2J#BlN1uy4Jye~K!IR">
                                                <field name="OP">ROUNDUP</field>
                                                <value name="NUM">
                                                  <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                    <field name="NUM">3.1</field>
                                                  </shadow>
                                                  <block type="math_arithmetic" id="*e~+quHSP.z$azvq~}F0">
                                                    <field name="OP">DIVIDE</field>
                                                    <value name="A">
                                                      <shadow type="math_number" id="M`Yh{e~{r5:_-:9P^:JW">
                                                        <field name="NUM">1</field>
                                                      </shadow>
                                                      <block type="on_source" id="phJx!7L#U!a.]5=76AZf">
                                                        <field name="ATTR">state.val</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <shadow type="math_number" id="MQBq|1jXHJ#%,1..gxvY">
                                                        <field name="NUM">1</field>
                                                      </shadow>
                                                      <block type="math_number" id="3:i,RAn2:9TkS3H_=-J#">
                                                        <field name="NUM">1000</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                        <next>
                                          <block type="comment" id="`*;dUWj=!LDNpbkLc))M">
                                            <field name="COMMENT">PV Erzeugnung</field>
                                            <next>
                                              <block type="on" id="iT)3o|gf6HB.%eCN$@zP">
                                                <field name="OID">0_userdata.0.enphase.livedata.meters.pv.agg_p_mw</field>
                                                <field name="CONDITION">any</field>
                                                <field name="ACK_CONDITION"></field>
                                                <statement name="STATEMENT">
                                                  <block type="controls_if" id="l^zE[P~R)a!2t|:jiM(|">
                                                    <mutation else="1"></mutation>
                                                    <value name="IF0">
                                                      <block type="logic_compare" id="nh3/v4+,91w5I[3IadS$">
                                                        <field name="OP">GT</field>
                                                        <value name="A">
                                                          <block type="on_source" id="8T=N6GJN8KUjykUuNW?P">
                                                            <field name="ATTR">state.val</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <block type="math_number" id="x)}j2:d+Is%sN@z_6g,~">
                                                            <field name="NUM">0</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <statement name="DO0">
                                                      <block type="update" id="$5xwgaIa3ULu9MP@`DUx">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="math_round" id="{:U/C2)dpiqCyXsRX%2}">
                                                            <field name="OP">ROUNDUP</field>
                                                            <value name="NUM">
                                                              <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                                <field name="NUM">3.1</field>
                                                              </shadow>
                                                              <block type="math_arithmetic" id="KdjcX,q(-3l`vCx2(o~l">
                                                                <field name="OP">DIVIDE</field>
                                                                <value name="A">
                                                                  <shadow type="math_number" id="Z;YmcS)C![ri*hWck9-#">
                                                                    <field name="NUM">1</field>
                                                                  </shadow>
                                                                  <block type="on_source" id="ydT%+`wmTw+}+t/sF=C~">
                                                                    <field name="ATTR">state.val</field>
                                                                  </block>
                                                                </value>
                                                                <value name="B">
                                                                  <shadow type="math_number" id="BGWnp9qn*ZZM4o|#M[tX">
                                                                    <field name="NUM">1</field>
                                                                  </shadow>
                                                                  <block type="math_number" id="LrV1n3ml@ZTfS0C$j9@b">
                                                                    <field name="NUM">1000</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </statement>
                                                    <statement name="ELSE">
                                                      <block type="update" id="w_ky5IC/WO/2W,dnzB5A">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="math_number" id="m;ZDZySI%b2~}UZEDIso">
                                                            <field name="NUM">0</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </statement>
                                                  </block>
                                                </statement>
                                                <next>
                                                  <block type="comment" id="4]s2;oO[A.DKS^feZs*l">
                                                    <field name="COMMENT">Batterieladung über PV</field>
                                                    <next>
                                                      <block type="on" id="}*xtxiY-j7g,_jBEDV?^">
                                                        <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field>
                                                        <field name="CONDITION">any</field>
                                                        <field name="ACK_CONDITION"></field>
                                                        <statement name="STATEMENT">
                                                          <block type="controls_if" id="Z+Le9t!]wro?Aiyjq9yT">
                                                            <mutation else="1"></mutation>
                                                            <value name="IF0">
                                                              <block type="logic_compare" id="ye0=tBqFC3,,.^@ywMv3">
                                                                <field name="OP">GT</field>
                                                                <value name="A">
                                                                  <block type="get_value" id="U#-I`pnZzIDQ/1JJ|4I{">
                                                                    <field name="ATTR">val</field>
                                                                    <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                                  </block>
                                                                </value>
                                                                <value name="B">
                                                                  <block type="math_number" id="b;}lR*{qn8YNnYK5(,$m">
                                                                    <field name="NUM">0</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <statement name="DO0">
                                                              <block type="update" id="moZ7/vz`Ex*wXp+S%OxU">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_PV</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="math_round" id="/eg]`f){,*d1F*!nHB7k">
                                                                    <field name="OP">ROUNDUP</field>
                                                                    <value name="NUM">
                                                                      <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                                        <field name="NUM">3.1</field>
                                                                      </shadow>
                                                                      <block type="math_arithmetic" id="6t5]{-=r?*[|^C_yl8U]">
                                                                        <field name="OP">DIVIDE</field>
                                                                        <value name="A">
                                                                          <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M">
                                                                            <field name="NUM">1</field>
                                                                          </shadow>
                                                                          <block type="on_source" id="r/fj8*GRX+DEAB?kB.I*">
                                                                            <field name="ATTR">state.val</field>
                                                                          </block>
                                                                        </value>
                                                                        <value name="B">
                                                                          <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS">
                                                                            <field name="NUM">1</field>
                                                                          </shadow>
                                                                          <block type="math_number" id="-.qb;4Y|6v05uZ$5@o$0">
                                                                            <field name="NUM">1000</field>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </statement>
                                                            <statement name="ELSE">
                                                              <block type="update" id="Wczg}72@veb-mhG7s*!b">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_PV</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="math_number" id="l),T@!ne5;zU)D:=@gxm">
                                                                    <field name="NUM">0</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </statement>
                                                          </block>
                                                        </statement>
                                                        <next>
                                                          <block type="comment" id="Ci}(~uQL=y.a5k~;ZJRC">
                                                            <field name="COMMENT">Batterie Eigenverbrauch</field>
                                                            <next>
                                                              <block type="on" id=".ftf(ks:n?jlQW7{QbfI">
                                                                <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field>
                                                                <field name="CONDITION">any</field>
                                                                <field name="ACK_CONDITION"></field>
                                                                <statement name="STATEMENT">
                                                                  <block type="update" id="1Ek@Ld0k%0Mz#x#9LC({">
                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                    <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Eigenverbrauch</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE">
                                                                      <block type="math_round" id="eeH:@M.MP@((T[C^O{qP">
                                                                        <field name="OP">ROUNDUP</field>
                                                                        <value name="NUM">
                                                                          <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                                            <field name="NUM">3.1</field>
                                                                          </shadow>
                                                                          <block type="math_arithmetic" id="DrW_.;3ED~7qV?5zl#Sr">
                                                                            <field name="OP">DIVIDE</field>
                                                                            <value name="A">
                                                                              <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M">
                                                                                <field name="NUM">1</field>
                                                                              </shadow>
                                                                              <block type="on_source" id="BL1JGJ:+%L=I;4NL?zsV">
                                                                                <field name="ATTR">state.val</field>
                                                                              </block>
                                                                            </value>
                                                                            <value name="B">
                                                                              <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS">
                                                                                <field name="NUM">1</field>
                                                                              </shadow>
                                                                              <block type="math_number" id="..lWof[ekOiU~KQ$b@_z">
                                                                                <field name="NUM">1000</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="update" id="R0.]Ji-I)USF_IdoA+AM">
                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                        <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_nur_Entladung</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE">
                                                                          <block type="math_round" id="K[hTID9Zd?9b~HXXU2c)">
                                                                            <field name="OP">ROUNDUP</field>
                                                                            <value name="NUM">
                                                                              <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                                                <field name="NUM">3.1</field>
                                                                              </shadow>
                                                                              <block type="math_arithmetic" id="i)mZ;NsE4%KMcWNRe-qA">
                                                                                <field name="OP">DIVIDE</field>
                                                                                <value name="A">
                                                                                  <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M">
                                                                                    <field name="NUM">1</field>
                                                                                  </shadow>
                                                                                  <block type="on_source" id="rog!@vu:BUw@Vg][g_s-">
                                                                                    <field name="ATTR">state.val</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="B">
                                                                                  <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS">
                                                                                    <field name="NUM">1</field>
                                                                                  </shadow>
                                                                                  <block type="math_number" id="=B6I[z+GTuc%s9HjeCp.">
                                                                                    <field name="NUM">1000</field>
                                                                                  </block>
                                                                                </value>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </statement>
                                                                <next>
                                                                  <block type="comment" id="vRvyUxzeAknF8-y?1y0B">
                                                                    <field name="COMMENT">Batterieladung über Netz</field>
                                                                    <next>
                                                                      <block type="on" id="=*hn}Nh%cbF,,8MeTD]^">
                                                                        <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field>
                                                                        <field name="CONDITION">any</field>
                                                                        <field name="ACK_CONDITION"></field>
                                                                        <statement name="STATEMENT">
                                                                          <block type="controls_if" id="EH:,]-n4sq!W5GWX,m|m">
                                                                            <mutation else="1"></mutation>
                                                                            <value name="IF0">
                                                                              <block type="logic_multi_and" id="lW?R`+GrZ@=NB^1N/Cen">
                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                <value name="AND0">
                                                                                  <block type="logic_compare" id="=Lvy-Uh?XG6D@v1[fH7J">
                                                                                    <field name="OP">LT</field>
                                                                                    <value name="A">
                                                                                      <block type="get_value" id="w+;2Z=7!oi:C[|b+pAO!">
                                                                                        <field name="ATTR">val</field>
                                                                                        <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                                                      </block>
                                                                                    </value>
                                                                                    <value name="B">
                                                                                      <block type="math_number" id="hvg[h3Ahp62?asD)A62y">
                                                                                        <field name="NUM">1</field>
                                                                                      </block>
                                                                                    </value>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="AND1">
                                                                                  <block type="logic_compare" id="BRtu[S[p!ssG=2nXo8c)">
                                                                                    <field name="OP">LT</field>
                                                                                    <value name="A">
                                                                                      <block type="get_value" id="`l13.Y11VCD%BgA^a${y">
                                                                                        <field name="ATTR">val</field>
                                                                                        <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Eigenverbrauch</field>
                                                                                      </block>
                                                                                    </value>
                                                                                    <value name="B">
                                                                                      <block type="math_number" id="T#B_8-Whfw2/@Pax@HSO">
                                                                                        <field name="NUM">0</field>
                                                                                      </block>
                                                                                    </value>
                                                                                  </block>
                                                                                </value>
                                                                              </block>
                                                                            </value>
                                                                            <statement name="DO0">
                                                                              <block type="update" id="E}[(Oer7{z~U99E]}Yg8">
                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_Netz</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE">
                                                                                  <block type="math_round" id="MuU[;fK/1Y9aLyNVtU75">
                                                                                    <field name="OP">ROUNDUP</field>
                                                                                    <value name="NUM">
                                                                                      <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7">
                                                                                        <field name="NUM">3.1</field>
                                                                                      </shadow>
                                                                                      <block type="math_arithmetic" id="f`t{sxRGwz0].eAhs^Lp">
                                                                                        <field name="OP">DIVIDE</field>
                                                                                        <value name="A">
                                                                                          <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M">
                                                                                            <field name="NUM">1</field>
                                                                                          </shadow>
                                                                                          <block type="on_source" id="8SG6UKL:;PK9pJmzo!#+">
                                                                                            <field name="ATTR">state.val</field>
                                                                                          </block>
                                                                                        </value>
                                                                                        <value name="B">
                                                                                          <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS">
                                                                                            <field name="NUM">1</field>
                                                                                          </shadow>
                                                                                          <block type="math_number" id="08aprkxhJ(S+Epf:((;j">
                                                                                            <field name="NUM">1000</field>
                                                                                          </block>
                                                                                        </value>
                                                                                      </block>
                                                                                    </value>
                                                                                  </block>
                                                                                </value>
                                                                              </block>
                                                                            </statement>
                                                                            <statement name="ELSE">
                                                                              <block type="update" id="GC}I02Vvv]W2Qwz(Q1Q4">
                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_Netz</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE">
                                                                                  <block type="math_number" id="5,,H-17)2^Z0MDN^r=6-">
                                                                                    <field name="NUM">0</field>
                                                                                  </block>
                                                                                </value>
                                                                              </block>
                                                                            </statement>
                                                                          </block>
                                                                        </statement>
                                                                        <next>
                                                                          <block type="comment" id=")+j/rdrw_?8@eq8v9ZCJ">
                                                                            <field name="COMMENT">Batterie Netzeinspeisung</field>
                                                                            <next>
                                                                              <block type="on" id="@^J}E`J,eF[p88x3@)R~">
                                                                                <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Energienetz</field>
                                                                                <field name="CONDITION">any</field>
                                                                                <field name="ACK_CONDITION"></field>
                                                                                <statement name="STATEMENT">
                                                                                  <block type="controls_if" id="V|c1tWUOT+8:QuZ`!,H)">
                                                                                    <mutation else="1"></mutation>
                                                                                    <value name="IF0">
                                                                                      <block type="logic_multi_and" id="=KcG/8jovF.B~aDV%-f^">
                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                        <value name="AND0">
                                                                                          <block type="logic_compare" id="2zioA7V=.):tLA{d)@7q">
                                                                                            <field name="OP">LT</field>
                                                                                            <value name="A">
                                                                                              <block type="get_value" id="{@Dh.,9$-ffuh-7*/WX:">
                                                                                                <field name="ATTR">val</field>
                                                                                                <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field>
                                                                                              </block>
                                                                                            </value>
                                                                                            <value name="B">
                                                                                              <block type="math_number" id="q%}PR8,Zz/J*--zC0B78">
                                                                                                <field name="NUM">1</field>
                                                                                              </block>
                                                                                            </value>
                                                                                          </block>
                                                                                        </value>
                                                                                        <value name="AND1">
                                                                                          <block type="logic_compare" id="tZWZgq#FLQRb]]3+EF0U">
                                                                                            <field name="OP">LT</field>
                                                                                            <value name="A">
                                                                                              <block type="on_source" id=";!|_5s7C[dW2G9YK=p|:">
                                                                                                <field name="ATTR">state.val</field>
                                                                                              </block>
                                                                                            </value>
                                                                                            <value name="B">
                                                                                              <block type="math_number" id="~eL=-y4L+Zu/+qNUr#no">
                                                                                                <field name="NUM">0</field>
                                                                                              </block>
                                                                                            </value>
                                                                                          </block>
                                                                                        </value>
                                                                                      </block>
                                                                                    </value>
                                                                                    <statement name="DO0">
                                                                                      <block type="update" id="haTT(QWr_$U!5x^QJi[,">
                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                        <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Einspeisung</field>
                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                        <value name="VALUE">
                                                                                          <block type="math_arithmetic" id="5b/^SFE,,N~i#R`?hRms">
                                                                                            <field name="OP">MULTIPLY</field>
                                                                                            <value name="A">
                                                                                              <shadow type="math_number" id="t|.]8o6qOD#zZXUS{tmn">
                                                                                                <field name="NUM">1</field>
                                                                                              </shadow>
                                                                                              <block type="on_source" id="4!IyP4Ha`A#jlkbA5lBZ">
                                                                                                <field name="ATTR">state.val</field>
                                                                                              </block>
                                                                                            </value>
                                                                                            <value name="B">
                                                                                              <shadow type="math_number" id="iwr9hg2mr@d9YW-Gz_TZ">
                                                                                                <field name="NUM">1</field>
                                                                                              </shadow>
                                                                                              <block type="math_number" id="/y44l`eJ3ReZcj;kPXZ?">
                                                                                                <field name="NUM">-1</field>
                                                                                              </block>
                                                                                            </value>
                                                                                          </block>
                                                                                        </value>
                                                                                      </block>
                                                                                    </statement>
                                                                                    <statement name="ELSE">
                                                                                      <block type="update" id="Xm7@K;6NKB@3Cp##D5;h">
                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                        <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Einspeisung</field>
                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                        <value name="VALUE">
                                                                                          <block type="math_number" id="SqR.*8V`hJIugw[Ry?+O">
                                                                                            <field name="NUM">0</field>
                                                                                          </block>
                                                                                        </value>
                                                                                      </block>
                                                                                    </statement>
                                                                                  </block>
                                                                                </statement>
                                                                                <next>
                                                                                  <block type="comment" id="K6+js$fu%A[`-=y!bKU4">
                                                                                    <field name="COMMENT">Batterie Netzbezug / Einspeisung</field>
                                                                                    <next>
                                                                                      <block type="on" id="Odpmlsk?AOC(xp@rs,-,">
                                                                                        <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field>
                                                                                        <field name="CONDITION">any</field>
                                                                                        <field name="ACK_CONDITION"></field>
                                                                                        <statement name="STATEMENT">
                                                                                          <block type="update" id="%{Kfj,`XYX|AJV(m5}@=">
                                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                            <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Netz_gesamt</field>
                                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                                            <value name="VALUE">
                                                                                              <block type="logic_multi_or" id="D*oB1RnVhQ{(L)~iarPr">
                                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                <value name="OR0">
                                                                                                  <block type="get_value" id="E6aezjYKj2#^|Z*+S|]j">
                                                                                                    <field name="ATTR">val</field>
                                                                                                    <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Einspeisung</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <value name="OR1">
                                                                                                  <block type="get_value" id=")@FRm9dq5(rIKc6d,V6n">
                                                                                                    <field name="ATTR">val</field>
                                                                                                    <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_Netz</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                              </block>
                                                                                            </value>
                                                                                          </block>
                                                                                        </statement>
                                                                                        <next>
                                                                                          <block type="comment" id="1rPj2U$Mym_}FRlbfjbj">
                                                                                            <field name="COMMENT">Batteriekapazität</field>
                                                                                            <next>
                                                                                              <block type="on" id="^#q+~or)i4nq{7LEc_[!">
                                                                                                <field name="OID">0_userdata.0.enphase.livedata.meters.soc</field>
                                                                                                <field name="CONDITION">any</field>
                                                                                                <field name="ACK_CONDITION"></field>
                                                                                                <statement name="STATEMENT">
                                                                                                  <block type="update" id="/PV#v$$.`*2*H1L#C?Pb">
                                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                    <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batteriekapazität</field>
                                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                                    <value name="VALUE">
                                                                                                      <block type="on_source" id="goZCXBnXJKbY.Rz{AdtQ">
                                                                                                        <field name="ATTR">state.val</field>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                  </block>
                                                                                                </statement>
                                                                                              </block>
                                                                                            </next>
                                                                                          </block>
                                                                                        </next>
                                                                                      </block>
                                                                                    </next>
                                                                                  </block>
                                                                                </next>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </xml>
                

                ...............................................................

                M Offline
                M Offline
                MK70
                schrieb am zuletzt editiert von
                #7

                @steffe-s Vielen Dank!!
                Wenn die Anlage bei mir läuft werd ich das ganze testen.

                1 Antwort Letzte Antwort
                0
                • Steffe.S.S Online
                  Steffe.S.S Online
                  Steffe.S.
                  schrieb am zuletzt editiert von Steffe.S.
                  #8

                  EDIT 18.06.2025 :

                  Die ersten VIS-Entwürfen funktionieren nicht mehr so wie gewünscht, hier eine dynamischere Lösung...

                  1714120597982-111.jpg

                  https://forum.iobroker.net/topic/66908/enphase-envoy-iq-gateway-solar-blockly-skript/104

                  NegaleinN 3 Antworten Letzte Antwort
                  1
                  • Steffe.S.S Steffe.S.

                    EDIT 18.06.2025 :

                    Die ersten VIS-Entwürfen funktionieren nicht mehr so wie gewünscht, hier eine dynamischere Lösung...

                    1714120597982-111.jpg

                    https://forum.iobroker.net/topic/66908/enphase-envoy-iq-gateway-solar-blockly-skript/104

                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    schrieb am zuletzt editiert von
                    #9

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

                    Hier mal noch meine aktuelles VIS ....

                    Hi Steffe!

                    Würdest du von dieser Seite einen Export bereitstellen?
                    Danke

                    ° Node.js: 20.17.0 NPM: 10.8.2
                    ° Proxmox, Ubuntu 22.04.3 LTS
                    ° Fixer ---> iob fix

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

                      EDIT 18.06.2025 :

                      Die ersten VIS-Entwürfen funktionieren nicht mehr so wie gewünscht, hier eine dynamischere Lösung...

                      1714120597982-111.jpg

                      https://forum.iobroker.net/topic/66908/enphase-envoy-iq-gateway-solar-blockly-skript/104

                      NegaleinN Offline
                      NegaleinN Offline
                      Negalein
                      Global Moderator
                      schrieb am zuletzt editiert von
                      #10

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

                      Hier mal noch meine aktuelles VIS ....

                      Danke dir!!

                      ° Node.js: 20.17.0 NPM: 10.8.2
                      ° Proxmox, Ubuntu 22.04.3 LTS
                      ° Fixer ---> iob fix

                      1 Antwort Letzte Antwort
                      0
                      • NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von
                        #11

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

                        Hier die 4 Skripte:

                        bin gerade beim einrichten 🙂

                        sind das alle DP?

                        0_userdata.0.enphase.production
                        0_userdata.0.enphase.meters
                        0_userdata.0.enphase.prod_stat
                        0_userdata.0.enphase.inverter
                        0_userdata.0.enphase.inventory
                        0_userdata.0.enphase.livedata
                        0_userdata.0.Enphase-Werte_durch_1000.Energienetz
                        0_userdata.0.Enphase-Werte_durch_1000.Hausverbrauch
                        0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung
                        0_userdata.0.Enphase-Werte_durch_1000.Batterieladung
                        0_userdata.0.enphase.livedata.meters.grid.agg_p_mw
                        0_userdata.0.enphase.livedata.meters.load.agg_p_mw
                        0_userdata.0.enphase.livedata.meters.pv.agg_p_mw
                        0_userdata.0.enphase.livedata.meters.storage.agg_p_mw

                        wird der Token benötigt?

                        und der "http_resp_json"? Wo/wie/was muss ich da in das Feld eintragen?
                        77b3debe-8958-47ef-803e-5e43903762ca-image.png

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

                        ChrizC 1 Antwort Letzte Antwort
                        0
                        • Steffe.S.S Online
                          Steffe.S.S Online
                          Steffe.S.
                          schrieb am zuletzt editiert von Steffe.S.
                          #12

                          @negalein

                          86b2d9bd-918f-4d15-8f56-669893ee5eff-image.png

                          1ffe6e24-9277-4b15-b4e6-f0e497c03732-image.png

                          hier im Skript 1 und Skript 2 die jeweiligen Daten eintragen,

                          • email- Adresse und Password wie in der Enlighten App
                          • Serialnummer des Envoy gateways
                          • IP - Adresse des Envoy Gateways (am besten festvergeben)

                          der Token wird automatisch gezogen

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

                            EDIT 18.06.2025 :

                            Die ersten VIS-Entwürfen funktionieren nicht mehr so wie gewünscht, hier eine dynamischere Lösung...

                            1714120597982-111.jpg

                            https://forum.iobroker.net/topic/66908/enphase-envoy-iq-gateway-solar-blockly-skript/104

                            NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            schrieb am zuletzt editiert von
                            #13

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

                            Edit:18.11.2023: VIS.txt wurde hinzugefügt

                            VIS.JPG

                            kannst du noch die Bildchen hochladen?
                            10ea8a40-0f52-48e6-bae1-76e30fc2edfe-image.png

                            ° Node.js: 20.17.0 NPM: 10.8.2
                            ° Proxmox, Ubuntu 22.04.3 LTS
                            ° Fixer ---> iob fix

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              dexic
                              schrieb am zuletzt editiert von
                              #14

                              Leute, ihr seid der Hammer!

                              Uff, da werde ich sehr viel herumzuprobieren haben. Ich habe hier eine Enphase-Testanlage mit zwei Modulen und will daran eine Encharge 3T hängen, um die Sonnenstrahlen in die Nacht und die Reste an einem sonnigen Tag ins Auto zu schieben. :-) Mit eurer Vorarbeit könnte mir das sogar gelingen. :-)

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

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

                                Hier die 4 Skripte:

                                bin gerade beim einrichten 🙂

                                sind das alle DP?

                                0_userdata.0.enphase.production
                                0_userdata.0.enphase.meters
                                0_userdata.0.enphase.prod_stat
                                0_userdata.0.enphase.inverter
                                0_userdata.0.enphase.inventory
                                0_userdata.0.enphase.livedata
                                0_userdata.0.Enphase-Werte_durch_1000.Energienetz
                                0_userdata.0.Enphase-Werte_durch_1000.Hausverbrauch
                                0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung
                                0_userdata.0.Enphase-Werte_durch_1000.Batterieladung
                                0_userdata.0.enphase.livedata.meters.grid.agg_p_mw
                                0_userdata.0.enphase.livedata.meters.load.agg_p_mw
                                0_userdata.0.enphase.livedata.meters.pv.agg_p_mw
                                0_userdata.0.enphase.livedata.meters.storage.agg_p_mw

                                wird der Token benötigt?

                                und der "http_resp_json"? Wo/wie/was muss ich da in das Feld eintragen?
                                77b3debe-8958-47ef-803e-5e43903762ca-image.png

                                ChrizC Offline
                                ChrizC Offline
                                Chriz
                                schrieb am zuletzt editiert von
                                #15

                                @negalein

                                Sollten sich die Datenpunkte nicht automatisch erstellen, wenn das Script den ersten Durchlauf macht?

                                Bin nicht so firm bei den Datenpunkten, und hatte gehofft das ich nur das Script importiere, Creds eingebe, starte und es läuft.

                                Zumindest klang das im obigen Post mehr oder weniger so.
                                Nun bin ich ein wenig verunsichert...

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

                                  @negalein

                                  Sollten sich die Datenpunkte nicht automatisch erstellen, wenn das Script den ersten Durchlauf macht?

                                  Bin nicht so firm bei den Datenpunkten, und hatte gehofft das ich nur das Script importiere, Creds eingebe, starte und es läuft.

                                  Zumindest klang das im obigen Post mehr oder weniger so.
                                  Nun bin ich ein wenig verunsichert...

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

                                  @chriz

                                  ja, die grundsätzlichen Datenpunkte werden selber erstellt nur der Rest aus meinem Post nicht

                                  ChrizC 1 Antwort Letzte Antwort
                                  0
                                  • D dexic

                                    Leute, ihr seid der Hammer!

                                    Uff, da werde ich sehr viel herumzuprobieren haben. Ich habe hier eine Enphase-Testanlage mit zwei Modulen und will daran eine Encharge 3T hängen, um die Sonnenstrahlen in die Nacht und die Reste an einem sonnigen Tag ins Auto zu schieben. :-) Mit eurer Vorarbeit könnte mir das sogar gelingen. :-)

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

                                    @dexic

                                    ich habe an Enphase eine Anfrage gesendet, ich der ich gefagt habe, ob es einen Web-Postbefehl gibt (ähnlich wie beim Livestaus), der sagt, jetzt Batterieentladung stoppen und dann einen Gegenbefehl Batterieentladung erlauben.

                                    Die Frage wurde an das zuständige Team weitergeleitet

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      s.reihle
                                      schrieb am zuletzt editiert von Samson71
                                      #18

                                      Hallo,

                                      das Wichtigste zuerst: Die Skripten sind genau das, was ich gesucht habe, also herzlichen Dank dafür.

                                      Eine Frage hätte ich als JS-Ignorant aber dann doch, naämlich zu den folgenden Infos im Log:

                                      javascript.0
                                      	2024-02-27 13:59:00.494	info	script.js.Enphase_komplett: Get Inv. data : : Error local Envoy IP: 172.28.1.99. Error: Unexpected token < in JSON at position 0 | Error cnt: -1
                                      javascript.0
                                      	2024-02-27 13:59:00.425	info	script.js.Enphase_komplett: Get production.json data: : Error local Envoy IP: 172.28.1.99. Error: Unexpected token < in JSON at position 0 | Error cnt: -2
                                      

                                      Sind ja nur Infos, sonst funktioniert ja alles, kann man das aber trotzdem abstellen?

                                      Mod-Edit: Log in Code-Tags

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

                                        @chriz

                                        ja, die grundsätzlichen Datenpunkte werden selber erstellt nur der Rest aus meinem Post nicht

                                        ChrizC Offline
                                        ChrizC Offline
                                        Chriz
                                        schrieb am zuletzt editiert von Chriz
                                        #19

                                        @steffe-s
                                        Hab nun alles mal ausprobiert, die Scripte funktionieren, Danke dafür. :+1: :grin:

                                        Es wurden allerdings hunderte Datenpunkte erstellt.
                                        Gibt es eine Auflistung was, was ist?
                                        Manches kann ich mir aufgrund der reinkommenden Werte denken, aber anderes widerrum nicht.

                                        Vor Allem die Ordnerstruktur mit Ordner 0 oder 1 unter Meters z.b.
                                        Oder auch die "Lines" unter produktion.

                                        Gibt es eine Erklärung dazu?
                                        Mir reichen die wichtigsten Kennzahlen ja aus.
                                        Wie Erzeugung, Verbrauch, LiveData(da kann ich mir die Daten auch nicht mehr zusammenreimen)
                                        Im Grund die Daten die die enphase App in Zahlen anzeigt.
                                        6fd47fb2-afde-4000-aa20-61ff60ceaf02-image.png

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

                                          @steffe-s
                                          Hab nun alles mal ausprobiert, die Scripte funktionieren, Danke dafür. :+1: :grin:

                                          Es wurden allerdings hunderte Datenpunkte erstellt.
                                          Gibt es eine Auflistung was, was ist?
                                          Manches kann ich mir aufgrund der reinkommenden Werte denken, aber anderes widerrum nicht.

                                          Vor Allem die Ordnerstruktur mit Ordner 0 oder 1 unter Meters z.b.
                                          Oder auch die "Lines" unter produktion.

                                          Gibt es eine Erklärung dazu?
                                          Mir reichen die wichtigsten Kennzahlen ja aus.
                                          Wie Erzeugung, Verbrauch, LiveData(da kann ich mir die Daten auch nicht mehr zusammenreimen)
                                          Im Grund die Daten die die enphase App in Zahlen anzeigt.
                                          6fd47fb2-afde-4000-aa20-61ff60ceaf02-image.png

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

                                          @chriz

                                          im zweiten Post gibt es eine PDF Datei, in der einiges beschrieben wird. Du kannst aber auch die Datenpunkte, die Du nicht benötigst einfach im Skript weglassen bzw löschen (ab hier: 1. GET PV ......)

                                          ChrizC 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

                                          854

                                          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