NEWS
Enphase / Envoy / IQ-Gateway Solar Blockly Skript
-
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):
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 -
@greoj , vielen vielen Danke 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% idleund :
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
-
@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 -
@mk70 , mach ich dann.
Ich schreibe auch gleich noch was dazu. Bis denne...
-
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.*
Enphase_Envoy_Datenabfrage.txt
Hier im Blockly den username / password / envoy_serialnummer / envoy_ip eintragen.
....................................................................
2.SkriptDas envoy bleibt mit den LiveDaten max 15 Minuten online, diese Skript aktualisiert sich alle 10 Minunten und hält das envoy im Onlinemodus.
Hier im Blockly den username / password / envoy_serialnummer / envoy_ip eintragen.
...................................................................
2.2. Datenpunkte erstellenIch habe diese Ordner und Datenpunkte vorher händisch erstellt.
--------------------------------------------
Edit 30.05.2024: oder über importieren hinzufügen
Datenpunkte aus Json importieren:
0_userdata.0.Enphase-Werte_durch_1000.json
0_userdata.0.Enphase-Batteriestatus.json
------------------------------------------
Bei diesem Datenpunkt den Wert "Min" auf 0 Stellen:
Auch diesen Datenpunkt erstellen und hier wieder diesem Datenpunkt den Wert "Min" auf 0 Stellen:
...................................................................
3. SkriptDie LiveDaten werden in MilliWatt ausgegeben. Dieses Skript rechnet die Daten im Watt um.
aktualisiert am 19.05.2024
DAS SKRIPT FUNKTIONIERT NUR MIT DEN DATENPUNKTEN AUS "PUNKT 2.2 DATENPUNKTE ERSTELLEN"!!!
Enphase Werte durch 1000 -19.05.2024-.txt
...............................................................
4.Skript für dynamische Batterieanzeige:
Der kleine Blitz neben der Batterie wechselt beim Laden und Entladen (recht unten daneben) in "+" und "-". Die Batterie ändert die Ladezustandsanzeige nach 26%, 47%, 68%, 89%.
.......................................................
Die Vis Anzeige kann sich dann ja auch jeder selber bauen. -
@steffe-s Vielen Dank!!
Wenn die Anlage bei mir läuft werd ich das ganze testen. -
Edit:18.11.2023: VIS.txt wurde hinzugefügt
Hier mal noch meine aktuelles VIS .... (wenn sich der Mond in eine Sonne ändern soll, müsst Ihr definieren wann tag und wann Nacht ist und dies dann dem Bild zuweisen) dazu noch 2 Datenpunkte (Sonne und Mond) anlegen / Skript siehe unten....
OK, das Wetter ist zur Zeit echt mies bei uns
Den Chart habe ich dem echart-adapter gebaut
-
@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 -
@steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Hier mal noch meine aktuelles VIS ....
Danke dir!!
-
@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_mwwird der Token benötigt?
und der "http_resp_json"? Wo/wie/was muss ich da in das Feld eintragen?
-
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
-
@steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Edit:18.11.2023: VIS.txt wurde hinzugefügt
kannst du noch die Bildchen hochladen?
-
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.
-
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... -
ja, die grundsätzlichen Datenpunkte werden selber erstellt nur der Rest aus meinem Post nicht
-
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
-
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
-
@steffe-s
Hab nun alles mal ausprobiert, die Scripte funktionieren, Danke dafür.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.
-
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 ......)
-
Danke, die meisten Infos hab ich mir in der Zwischenzeit zusammenreimen können.
Eine Frage noch zum Schluss, ist aber eher allgemeiner iob-Natur.
Kann ich im Objektbaum irgendwie "Notizen" vergeben ohne den Datenpunkt zu verändern?