Hauptmenü

HTTPMOD - JSON - ENPHASE

Begonnen von petitpunch, 07 Juli 2022, 12:58:44

Vorheriges Thema - Nächstes Thema

wolfganghabenicht

#15
Moin,

hier das LOG-File

2023.05.30 16:21:04 3: Enphase (GL.SOLAR): ==> url https://enlighten.enphaseenergy.com/entrez-auth-token?serial_num=##### returned: {"message":"{\"timestamp\":1685456463989,\"message\":\"MailAdress is not authorized to generate token for 122222033486\"}"}
2023.05.30 16:21:04 4: Enphase (GL.SOLAR): ==> HTTP/1.1 500 Internal Server Error
Date: Tue, 30 May 2023 14:21:04 GMT
Content-Type: application/json; charset=utf-8
Connection: close
Access-Control-Allow-Methods: POST, PUT, DELETE, GET, OPTIONS
Access-Control-Max-Age: 1728000
Cache-Control: no-cache, no-store
Expires: -1
Pragma: no-cache, no-store
Set-Cookie: locale=de; path=/; expires=Thu, 30 May 2024 14:21:03 GMT; secure; HttpOnly; SameSite=Lax
Status: 500 Internal Server Error
X-Powered-By: Phusion Passenger(R) 6.0.11
X-Request-Id: 4545775cdbc6b556f97d0c5350114fdf
X-Runtime: 0.081191
Strict-Transport-Security: max-age=15724800; includeSubDomains
2023.05.30 16:21:04 4: Enphase (GL.SOLAR): ==> Dumper HASH(0xda45980)

Christian83

#16
Anbei die Korrektur.
Edit: Updates weiter unten


Bitte im DEFINE hinter der Mailadresse noch die Seriennummer deines gateways schreiben. "define <name> ENPHASE <IPAddr> <username> <serialnum>"
(Findest du im enlighten in der Übersicht deiner Geräte).


Wernieman

@wolfganghabenicht
in Deiner Logausgabe sind "interessante" Daten drin, wie z.B. eMail und Anlagennummer. Willst Du diese wirklich Veröffentlichen? Du kannst auch Deinen Beitrag editieren und es "anonymisieren" ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

wolfganghabenicht

Hallo zusammen

vielen Dank für den Hinweis auf meine persönlichen Daten, ist entfernt

Ich habe die Seriennummer jetzt eingefügt, hat aber nicht viel bebracht.
Ich habe mir auf der Enphase-Plattform auch einen Account angelegt, und dort eine Application generiert, also Zugangsdaten sind vorhanden, und natürlich auch genau die Zugangsdaten, die ich angegeben habe.

Hier die Fehlermeldung von FHEM

2023.06.01 10:59:21 3: Enphase (GL.SOLAR): ==> url https://192.168.8.83/auth/check_jwt returned: <html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>Redirecting to <a id='link' href=''></a></center>
<script>
const redirect_url = window.location.protocol + '//' + window.location.host + '/home';
function redirect() { window.location.href = redirect_url; }
window.onload = function() {
    const link = document.getElementById('link');
    link.href = redirect_url;
    link.text = redirect_url;
    setTimeout(redirect, 500);
}
</script>
</body>
</html>

wolfganghabenicht

Hallo zusammen

vielen Dank für den Hinweis auf meine persönlichen Daten, ist entfernt

Ich habe die Seriennummer jetzt eingefügt, hat aber nicht viel bebracht.
Ich habe mir auf der Enphase-Plattform auch einen Account angelegt, und dort eine Application generiert, also Zugangsdaten sind vorhanden, und natürlich auch genau die Zugangsdaten, die ich angegeben habe.

Hier die Fehlermeldung von FHEM

2023.06.01 10:59:21 3: Enphase (GL.SOLAR): ==> url https://192.168.8.83/auth/check_jwt returned: <html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>Redirecting to <a id='link' href=''></a></center>
<script>
const redirect_url = window.location.protocol + '//' + window.location.host + '/home';
function redirect() { window.location.href = redirect_url; }
window.onload = function() {
    const link = document.getElementById('link');
    link.href = redirect_url;
    link.text = redirect_url;
    setTimeout(redirect, 500);
}
</script>
</body>
</html>

Christian83

Hi,

kannst du dich denn lokal auf deinem Gateway einloggen?

https://ip-gateway/home.
Dort dann "Login mit Enphase".

Welche Firmware-Version hat dein Gateway?

wolfganghabenicht

Moin

Anmeldung klappt, kommt allerdings eine Zertifikatswarnung.

Version ist D7.6.125

Gruß
Wolfgang

Christian83

Alles klar. Dann diese Zugangsdaten auch im Modul hinterlegen. Dann sollte er zuerst eine Session-ID holen. Dann ein Token und dann eine sessionIDLocal.

wolfganghabenicht

es kommt einmal kurz als Status 'Success', danach kommt wieder das toggeln zwischen 'reading token', 'getting token' und 'getting session ID local'

Christian83

Zitat von: wolfganghabenicht am 01 Juni 2023, 11:38:25es kommt einmal kurz als Status 'Success', danach kommt wieder das toggeln zwischen 'reading token', 'getting token' und 'getting session ID local'

Kannst du mir mal den gesamten Log schicken (gerne als PM). Dann schau ich mal.

peterboeckmann

Hallo Christian,

das Modul würde micha uch sehr interessieren. Kannst Du es hier nochmal hochladen oder mir sonst irgendwie zur Verfügung stellen?

Vielen Dank und viele Grüße,
Peter

Zitat von: Christian83 am 24 April 2023, 08:52:37Hi Mario,

anbei das Modul.
Edit: Altprogramm entfernt.

define <name> ENPHASE <IPAddr> <username>

username ist die mailadresse im Enlighten System.
Mit set <name> password <password> das Passwort für Enlighten hinterlegen.

get <name> LiveData - dann wird das Envoy ausgelesen.
Danach wird bei positiver Erzeugung aller 60 Sekunden sonst aller 300 Sekunden abgefragt. (Kann über Attribut updateinterval geändert werden).

Bei Fragen einfach melden.


betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

peterboeckmann

Danke für den Tipp Betateilchen. Ich hatte eine Nachricht mit dem Text "anbei das Modul" gefunden, aber den Anhang nicht. ;-)

sebr

Hi Christian,

coole Arbeit mit dem Modul, habe es auch am Laufen. Im Moment fragt das alle Sekunde den Live-Status ab und sagt dann "Daten zu alt". Das ist vermutlich normal oder, weil es Nacht ist und nichts produziert wird? Sobald erstmal Strom erzeugt wird fragt es im 60 bzw. 300 Sekunden Rhythmus, wenn ich das richtig gelesen habe.

Die Gesamtproduktion und den Gesamtverbrauch sehe ich aber schon Mal! Hast du eine kleine Doku (außerhalb des Code selbst ;) ) was für Parameter es noch gibt und wie man die einstellen kann?

Besten Dank für die Mühe,
Sebastian







Christian83

#29
Zitat von: sebr am 12 November 2023, 20:27:52Hi Christian,

coole Arbeit mit dem Modul, habe es auch am Laufen. Im Moment fragt das alle Sekunde den Live-Status ab und sagt dann "Daten zu alt". Das ist vermutlich normal oder, weil es Nacht ist und nichts produziert wird? Sobald erstmal Strom erzeugt wird fragt es im 60 bzw. 300 Sekunden Rhythmus, wenn ich das richtig gelesen habe.

Die Gesamtproduktion und den Gesamtverbrauch sehe ich aber schon Mal! Hast du eine kleine Doku (außerhalb des Code selbst ;) ) was für Parameter es noch gibt und wie man die einstellen kann?

Besten Dank für die Mühe,
Sebastian



Hi Sebastian,

das Daten zu alt sorgt eigentlich nur dafür, dass die Datenaktualisierung im Gateway aktiviert wird, und dann sollte es (spätestens nach dem 2. Mal) auch wieder aktuelle Daten liefern. Da ich nicht mehr genau weiß, welcher Stand es war, habe ich nochmal das aktuelle Modul angehängt.

Attribute:

updateintervalconsWh - Ab welchem Verbrauch soll anderes Updateintervall benutzt werden
updateintervalconssec - Intervall ab Verbrauch laut updateintervalconsWh
updateintervalprodWh - Ab welcher Produktion soll anderes Updateintervall benutzt werden
updateintervalprodsec - Intervall ab Produktion laut updateintervalprodWh