NEWS
Enphase / Envoy / IQ-Gateway Solar Blockly Skript
-
Mir würde es jetzt im ersten Schritt mal reichen, wenn ich den jetzigen Stand der Enphase Batterie abrufen könnte. Habt ihr dazu nähere Infos?
-
Ich habe jetzt alle Datenpunkte durchforstet, aber leider komme ich nicht bei allen klar.
Ich habe die Daten- tägliche Produktion
- täglichen Verbrauch
gefunden.
Folgende benötige ich aber noch:
- täglicher Bezug aus dem Netz
- tägliche Einspeisung
- täglich Aufgeladen
Ich möchte mein VIS ähnlich der App von Enphase gestalten. Daher benötige ich diese Daten.
Kann mir da jemand helfe?
Vielen Dank dafür.@ronny-dietrich sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Ich möchte mein VIS ähnlich der App von Enphase gestalten. Daher benötige ich diese Daten.
schau dir den Beitrag von @Steffe-S an.
Ich bin leider noch nicht dazu gekommen. -
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:
- Das unten angefügte Skript "enphase.txt" in den ioBroker Skript Editor importieren
- 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


- Das Skript speichern und starten
- Beim ersten Aufruf wird das Token erzeugt und ins ioBroker Log geschrieben
- 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.
- 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örgEnphase-Skript:
enphase.txt -
@dexic sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Gibt es einen Trick?
wie gehst du vor?
GANZ WICHTIG, die .txt mit Rechtsklick --> Speichern unter --> mit vernünftigen Editor (zB Notepad++) öffnen.
Sonst hast du Probleme mit Umlauten, Sonderzeichen & Co. -
Ich habe jetzt alle Datenpunkte durchforstet, aber leider komme ich nicht bei allen klar.
Ich habe die Daten- tägliche Produktion
- täglichen Verbrauch
gefunden.
Folgende benötige ich aber noch:
- täglicher Bezug aus dem Netz
- tägliche Einspeisung
- täglich Aufgeladen
Ich möchte mein VIS ähnlich der App von Enphase gestalten. Daher benötige ich diese Daten.
Kann mir da jemand helfe?
Vielen Dank dafür.@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Folgende benötige ich aber noch:
täglicher Bezug aus dem Netz
tägliche Einspeisung
täglich Aufgeladenmeinst du da die Summe am Tagesende?
Dann nimm Source Analytic.Oder doch die aktuellen Werte?
Dann findest du 4 DP in0_userdata.0.Enphase-Werte_durch_1000 -
@dexic sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Gibt es einen Trick?
wie gehst du vor?
GANZ WICHTIG, die .txt mit Rechtsklick --> Speichern unter --> mit vernünftigen Editor (zB Notepad++) öffnen.
Sonst hast du Probleme mit Umlauten, Sonderzeichen & Co.Ich nutze Linux, da sollte das doch auch gehen. Ich hab das Ding gespeichert, danach versucht zu importieren über die Funktion im Kontextmenü mit den drei Punkten. Ich habe auch versucht, ein neues Blockly zu erstellen, dann auf die JS-Ansicht zu gehen, und den Text zu kopieren und dann einzufügen. Hat leider auch nicht geklappt...
-
Im Prinzip benötige ich genau diese Werte aus der App. Die müssten doch auch über die API abrufbar sein, oder liege ich das etwa falsch.

@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Die müssten doch auch über die API abrufbar sein
nicht unbedingt.
Möglich, dass das in der Cloud irgendwo summiert wird.Ich mach es mit Sourceanalytic.
-
Ich nutze Linux, da sollte das doch auch gehen. Ich hab das Ding gespeichert, danach versucht zu importieren über die Funktion im Kontextmenü mit den drei Punkten. Ich habe auch versucht, ein neues Blockly zu erstellen, dann auf die JS-Ansicht zu gehen, und den Text zu kopieren und dann einzufügen. Hat leider auch nicht geklappt...
@dexic sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Ich hab das Ding gespeichert, danach versucht zu importieren über die Funktion im Kontextmenü
Nein, das geht so nicht.
Ich habe auch versucht, ein neues Blockly zu erstellen, dann auf die JS-Ansicht zu gehen, und den Text zu kopieren und dann einzufügen
erstell ein neues Blockly
dann gehst du auf
dann hier den Text aus der .txt einfügen.
Alternativ die .txt hier reinziehen oder klicken zum auswählen.

-
@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Die müssten doch auch über die API abrufbar sein
nicht unbedingt.
Möglich, dass das in der Cloud irgendwo summiert wird.Ich mach es mit Sourceanalytic.
-
@negalein said in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Sourceanalytic
Was ist Sourceanalytic?
Kenne ich mich leider gar nicht aus.@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Was ist Sourceanalytic?
ein Adapter der dir den Verbrauch rechnet. täglich, wöchentlich, monatlich, Quartal, Jahr, ....
https://forum.iobroker.net/topic/40932/sourceanalytix-0-4-8-final-released
-
@dexic unter folgendem Datenpunkt findest du die Anzeige zu wieviel Prozent deine Batterie geladen ist:
0_userdata.0.enphase.inventory.0.devices.0.percentFull
-
@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Ich werden mal versuchen das Ganze um zusetzten.
schaut dann in den DP zB so aus

-
Ich finde diesen Datenpunkt nicht.

Hast du einen anderen Hinweis? Oder kann eine 3T Batterie nicht angesprochen werden?
-
@dexic bei dir fehlt tatsächlich der DP Inventory.
Hast du die Skripte von Steffe.S. (6. Post) genommen? Damit sollte er eigentlich angelegt werden.
-
@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Ich werden mal versuchen das Ganze um zusetzten.
schaut dann in den DP zB so aus

-
@negalein Eine Frage hätte ich noch....
Wie hast du das mit dem Energienetz gelöst? Dort ist ja bei Bezug ein positiver Wert und bei Einspeisung ein negativer.@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Wie hast du das mit dem Energienetz gelöst? Dort ist ja bei Bezug ein positiver Wert und bei Einspeisung ein negativer.
ich verwende nicht alles aus der View.
Eigentlich nur die Darstellung der Panele.Für die Produktion/Verbrauch/Bezug Darstellung verwende ich den Energiefluss-Adapter.


-
@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Wie hast du das mit dem Energienetz gelöst? Dort ist ja bei Bezug ein positiver Wert und bei Einspeisung ein negativer.
ich verwende nicht alles aus der View.
Eigentlich nur die Darstellung der Panele.Für die Produktion/Verbrauch/Bezug Darstellung verwende ich den Energiefluss-Adapter.


