Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enphase: fix soc and power #9332

Merged
merged 4 commits into from
Aug 11, 2023
Merged

Enphase: fix soc and power #9332

merged 4 commits into from
Aug 11, 2023

Conversation

premultiply
Copy link
Member

Fixes #9272

@JAK0721 Bitte testen.

@premultiply premultiply self-assigned this Aug 10, 2023
@premultiply premultiply added the devices Specific device support label Aug 10, 2023 — with GitHub Codespaces
@andig andig changed the title Enphase: Fix SoC and power readings Enphase: fix soc and power Aug 10, 2023
@JAK0721
Copy link

JAK0721 commented Aug 11, 2023

@premultiply , vielen Dank! Ich werde die Implementierung aber erst Anfang nächster Woche ausprobieren können. Schönes Wochenende!

@bb7674
Copy link

bb7674 commented Aug 11, 2023

@premultiply , kann ich das auch irgendwie testen? Wenn ja sollt ich wissen was ich zu tun habe, könnte das dann heute gegen Abend versuchen, sofern es im Rahmen meiner Kenntnisse liegt

@premultiply
Copy link
Member Author

Einfach den Branch auschecken und lokal bauen.

@bb7674
Copy link

bb7674 commented Aug 11, 2023

OK. Soviel zum Thema Kenntnisse, da brauch ich erst gar nicht anfangen, da muss ich dann glaub auf eine neue Version warten.

@JAK0721
Copy link

JAK0721 commented Aug 11, 2023

@premultiply, ich bin auch davon ausgegangen, dass die Implementierung in die nightly gemacht wird. Einen Branch auschecken und lokal bauen habe ich auch noch nicht gemacht, würde es mir aber zutrauen. Gibt es dafür eine Anleitung? Ein kleiner Anschubser wäre nett.

@TomS2
Copy link

TomS2 commented Aug 11, 2023

Es geht mir wie @JAK0721. Ich würde das neuen Enphase Template gerne testen, aber selber bauen (Docker für Synology NAS) übersteigt meine Fähigkeiten.
Lasst das doch bitte ins Nightly einfliessen - Danke :-)

@premultiply premultiply merged commit dbe0f2f into master Aug 11, 2023
6 checks passed
@premultiply premultiply deleted the device/enphase-fix branch August 11, 2023 21:01
@JAK0721
Copy link

JAK0721 commented Aug 13, 2023

@TomS2 , hast Du Dein enphase System bereits mit dem neuen Template ausprobiert? Gab es irgendwelche Auffälligkeiten oder funktioniert alles wie erwartet? Ich werde morgen bei einem Bekannten von einen Versuch starten.

@bb7674
Copy link

bb7674 commented Aug 13, 2023

Hallo, habe das Nightly bei mit intstalliert Samstag früh. Gestern also geladen, immer mal wieder hatte ich den Verdacht dass sich EVCC "aufgehängt" hat, die Werte wurden nicht aktualisiert immer mal wieder, als ich dann die Enlighten App gestartet habe mit der LIVE Ansicht hat sich auch EVCC wieder akutalisiert.
Heute morgen habe ich wieder das neue Nightly installiert, bisher läuft es glaub so wie es soll, soweit ich es zumindest beurteilen kann.
Immer mal wieder kommt es bei mir vor dass EVCC nicht korrekt regelt. Das liegt aber nicht an EVCC sondern vermutlich an Enphase und an der Wallbox (DaheimLaden Touch).

Enphase reagiert bei mir immer mal wieder sehr träge auf Veränderungen was die Verbrauchswerte in der Live Ansicht beeinflusst.
Bei der Wallbox kommen regelmäßig Fehler mit Timeout seit es von DaheimLaden ein Update gegeben hat.

@bb7674
Copy link

bb7674 commented Aug 13, 2023

hier ein Screenshot wo ich mir nicht erklären kann warum EVCC die Ladeleistung so hoch regelt obwohl die Erzeugung "nur" 6,6 kw sind.

image

@bb7674
Copy link

bb7674 commented Aug 13, 2023

es ist auch definitv so dass sich die Werte zeitweise nicht aktualisieren, wenn ich dann bei Enphase die LIVE Ansicht wähle dauert es kurz und die Werte bei EVCC sind aktuell, warum das so ist kann ich nicht beurteilen, bisher habe ich dies nicht feststellen können

@JAK0721
Copy link

JAK0721 commented Aug 13, 2023

@bb7674, ich möchte die Enphase Batterie für einen Freund einrichten. Kann mich gerade nur mit Wireguard auf sein Netzwerk draufschalten. Allerdings habe ich auch festgestellt, dass die Aktualisierung der Daten unbefriedigend ist.

Hast Du Dich mal direkt mit der Webabfrage auf Dein Gateway geschalten? --> https://192.168.xxx.xxx/ivp/livedata/status
(vorher musst Du die Netzwerkadresse Deines Gateway im Browser eingeben und den Token eingeben.)
Bei den Livedaten findest Du bei "last update" den Unix Timestamp. Nach meinem Verständnis müsste der bei jeder Webabfrage bzw. Browseraktualisierung die aktuelle Uhrzeit bekommen. Dann wurden Daten aktualisiert.
{
"connection": {
"mqtt_state": "connected",
"prov_state": "configured",
"auth_state": "ok",
"sc_stream": "enabled",
"sc_debug": "enabled"
},
"meters": {
"last_update": 1691938309,
"soc": 100,

@bb7674
Copy link

bb7674 commented Aug 13, 2023

die Anzeige Last Update sieht bei mir quasi gleich aus, der Screenshot wurde um 17:31 gemacht.
Ich habe die Vermutung dass es irgendwie was mit der Live Ansicht bei Enlighten zu tun hat, wenn man diese aktiviert läuft die immer 15 Minuten, dann muss man sie neu aktivieren. Ob das jetzt hier was mit dem abrufen der Daten mittels EVCC zu tun hat weiß ich nicht, glaube aber irgendwas mit den 15 Minuten und der Live Ansicht hat es zu tun.

image

naltatis pushed a commit that referenced this pull request Aug 13, 2023
* fix soc and power readings

* remove unspecified grid import energy

* remove cache

* wip
@JAK0721
Copy link

JAK0721 commented Aug 13, 2023

@bb7674, ich hatte mehrmals über ein Browser Refresh eine aktualisierung der Daten inkl. dem "last_update" erhalten.
Ich werde im Laufe der Woche den Raspberry bei meinen Freund in Betrieb nehmen. Dann werde ich sehen wie, das im lokalen Netz funktioniert. Mit evcc hat das nichts zu tun. Wenn, ist das Problem bei Enphase.
Ich kann bei meinem Freund noch bei den PV und Grid Daten auf den SolarEdge WR und den Volkszähler ausweichen. Die Batteriedaten wären nett für BufferSoC und PrioritySoC und auch generell für eine korrekt Darstellung.
Sollte das auch nicht vernünftig gehen, schreibe ich an den amerikanischen Enphase Support.

@JAK0721
Copy link

JAK0721 commented Aug 13, 2023

@bb7674, noch eine Frage bzgl. Deiner Anlage. Dein Gateway ist mit dem lokalen Netz verbunden? WLAN oder LAN?
Bei meinem Freund in der App steht Verbindungstyp Wlan (Aktiv): Meldet Daten alle 15 Minuten
Was steht da bei Dir?

@bb7674
Copy link

bb7674 commented Aug 13, 2023

@JAK0721: ich bin lokalen Netzwerk über LAN verbunden, und die Daten werden auch alle 15 Minuten gemeldet.

image

Wenn du bei deinem Freund bist frag ihn doch bitte mal ob die Zähler für den Bezug mit dem Zähler vom EVU übereinstimmt, nur so nebenher. Bei mir ist da ein Fehler von ca. 21 % drin.

Das mit dem auslesen der Daten hat nur bedingt was EVCC zu tun, ich habe es jetzt gerade eben getestet.
Solange der LIVE Monitor läuft von der Enlighten App aktualisiert sich auch EVCC, wenn die Zeit in dem LIVE Monitor bei Enlighten rum ist aktualisiert sich EVCC nicht mehr. Wenn ich dann den LIVE Monitor neu starte tut auch EVCC wieder, also hat es irgendwas mit den 15 Minuten zu tun die da immer ablaufen........

image

image

bei mir waren noch ca. 1,5 Minuten übrig bis die LIVE Ansicht in den "Ruhemodus" ging, zeitgleich auch EVCC.
Vielleicht hilft das weiter.

@bb7674
Copy link

bb7674 commented Aug 13, 2023

so jetzt die richtigen Screenshots, sorry

image

image

@JAK0721
Copy link

JAK0721 commented Aug 14, 2023

@bb7674, ich glaube das Problem existiert, so wie Du es beschrieben hast. https://support.enphase.com/s/question/0D53m00009B7fgXCAR/some-clarification-using-the-local-api

Eine Lösung scheint noch offen zu sein. Ich habe auch den enphase Kontakt diesbzgl. separat angeschrieben. Aber vielleicht macht es Sinn, sich an die Diskussion anzuschließen. Ggf. braucht man auch nur den 15min Triggerbefehl in die evcc Software einzubauen. Dieser scheint aber nicht dokumentiert zu sein.

@bb7674
Copy link

bb7674 commented Aug 14, 2023

@JAK0721, OK danke für das Feedback, wie man das nun beheben kann bzw. lösen kann da kann ich glaub nicht wirklich weiterhelfen.
An sowas wie den Triggerbefehl hatte ich auch schon gedacht, hab nur keine Ahnung ob sowas machbar ist, und wie schon erst recht nicht....dann aber vielleicht schon nach 10 Minuten, ich bin mit der LIVE Ansicht auch schon öfters früher rausgeflogen als die 15 Minuten

@JAK0721
Copy link

JAK0721 commented Aug 14, 2023

@bb7674, ich hatte gerade mit einem enphase Mitarbeiter über einen chat Kontakt. Was soll ich sagen. Das sieht schlecht aus. Er hat diese 15min Limit bestätigt und das es aktuell keinen Workaround gibt.

Ggf. könnte man den Trigger mittels einem Netzwerk sniffer wie Wireshark auslesen und dann durch evcc senden lassen. Jedes mal wenn ich auf den Button "Live-Status" klicke, startet der Counter mit 15:00 erneut.

@TomS2
Copy link

TomS2 commented Aug 16, 2023

ich teste momentan diesen Befehl hier wo ja weiter oben aufgeführt ist:
https://enlighten.enphaseenergy.com/pv/aws_sigv4/livestream.json?serial_num=123456789012
funktioniert bei mir seit ca. 90 Minuten wunderbar.......
werde morgen ab ca 17 Uhr nochmal den Versuch starten

Lösche mal bitte die Cookies Deines Browsers und versuche es danach noch einmal ;-)

@JAK0721
Copy link

JAK0721 commented Aug 17, 2023

@bb7674, wenn der Befehl das System zuverlässig am Laufen hält, wäre ein kleines Python- Scirpt auch einen Workaround. Das Python-Script kann dann einfach über einen Cronjob alle 10min aufgerufen werden. Wo läuft denn evcc bei Dir? Auf einem Raspberry Pi ?

@bb7674
Copy link

bb7674 commented Aug 17, 2023

Ja ist bei mir auf einem Raspberry PI installiert.
Erst muss es zuverlässig laufen. Es gibt ja für dem Google Browser ein Tool wo man den Link alle 10 Minuten oder so antriggern kann. Hoff ich zumindest mal dass das funktioniert, würde ich dann auch testen wenn ich es hinbekomme und dann natürlich auch ein paar Stunden laufen lassen.
Tu heute gegen Abend erstmal die Cookies löschen und dann mal sehen.....

@premultiply
Copy link
Member Author

cron + curl ?

@bb7674
Copy link

bb7674 commented Aug 17, 2023

hab als erstes alle Browserdaten gelöscht, somit auch die Cookies.
Dann im Browser "https://enlighten.enphaseenergy.com/pv/aws_sigv4/livestream.json?serial_num=123456789012" eingegeben mit meiner Seriennummer, so wie gestern.
Diese Meldung kam:
image
Habe es mehrfach versucht, ging nicht wirklich.
Habe dann versucht mit diesem Befehl "http://{{ .host }}/ivp/livedata/status" und der Eingabe des Token mir zu helfen, hat auch nicht geklappt.
Bin dann auf die Enphase APP gegangen und habe dort die Live Ansicht gestartet.
Ab diesem Zeitpunkt hat es auch mit damit geklappt:
"https://enlighten.enphaseenergy.com/pv/aws_sigv4/livestream.json?serial_num=123456789012"
Habe mir jetzt ein "AutoRefresh- Tool" für den Browser hinzugefügt und dem Timer auf 15 Minuten gestellt. Ich lass es jetzt einfach mal so laufen.....

@bb7674
Copy link

bb7674 commented Aug 17, 2023

update:
nach ca. 3 Stunden funzt alles noch wunderbar mit dem AutoRefresh Tool.
Ich lass jetzt noch ein wenig laufen und mach dann aus, den ersten "Langzeittest" mit dem Tool wird es vermutlich Samstag geben, oder vielleicht schon ab morgen gegen Abend quasi durch die Nacht.
Blöd war jetzt einfach nur bis das Ding mal gestartet war und funktioniert hat, wie lange das jetzt läuft ohne zicken zu machen keine Ahnung.....das zeigt vermutlich nur ein realer Test

@JAK0721
Copy link

JAK0721 commented Aug 18, 2023

@
bb7674, ich bin im enphase Support Forum auf folgende Seite gestoßen
https://support.enphase.com/s/question/0D53m000095LTohCAG/local-api-livedata-is-goes-stale

Wenn ich bisher die http://192.168.xxx.xxx/ivp/livedata/status aufgerufen habe, kam folgende Antwort

"connection": {
"mqtt_state": "connected",
"prov_state": "configured",
"auth_state": "ok",
"sc_stream": "disabled",
"sc_debug": "disabled"

In Windows habe ich dann mittels curl -f -k -H "Authorization:bearer {token}" -H "Content-Type:application/json" -d "{ \"enable\":1}" https://192.168.xxx.xxx/ivp/livedata/stream sc_stream": "enabled" setzen können.

Kannst Du das mal ausprobieren, ob dann die livedata abfrage dauerhaft funktioniert.

@JAK0721
Copy link

JAK0721 commented Aug 18, 2023

{token} mit Deinem Token ersetzen und natürlich die IP Deines Gateways eintragen

@bb7674
Copy link

bb7674 commented Aug 18, 2023

@JAK0721: schreib mit den Befehl den ich eingeben soll, ich versteh da grad nicht wirklich was ich tun soll.
Da wo ich den Token einsetzten soll schreib du bitte einfach token und da wo die IP hinkommt schreib einfach ip.....
dann teste ich sehr gerne, bin ja auch gewollt dass es funktioniert....
Ich hab keine Ahnung was du mit:
"curl -f -k -H "Authorization:bearer {token}" -H "Content-Type:application/json" -d "{"enable":1}"
meinst.
Und wo muss ich das dann eingeben

@bb7674
Copy link

bb7674 commented Aug 18, 2023

Sorry, schreib mir bitte den Befehl sollt es heissen

@JAK0721
Copy link

JAK0721 commented Aug 18, 2023

@bb7674
curl -f -k -H "Authorization:bearer {token}" -H "Content-Type:application/json" -d "{\"enable\":1}" https://192.168.xxx.xxx/ivp/livedata/stream

Kopiere Dir am besten den Befehl oben in den Windows Editor. Ersetze {token} mit Deinem Token und bei der IP Adresse 192.168.xxx.xxx natürlich die xxx.xxx durch die Adresse Deines Gateway. Dann Windows ausführen cmd eingeben und dann den mit Token und IP ergänzten Befehl einfach per copy / paste in Console eingeben

@JAK0721
Copy link

JAK0721 commented Aug 18, 2023

wie auch hier beschrieben https://support.enphase.com/s/question/0D53m00008sfiRcCAI/live-status-via-envoy-or-the-app-offline-feature-freezes

image

In dem Befehl ist allerdings ein Fehler. Es fehlt das Hochkomma hinter token>"

@bb7674
Copy link

bb7674 commented Aug 18, 2023

der Token muss in die Klammer rein? also die Klammer bleibt....?

@JAK0721
Copy link

JAK0721 commented Aug 18, 2023

nein, die Klammern weg. so hier...

image

@bb7674
Copy link

bb7674 commented Aug 18, 2023

curl: (22) The requested URL returned error: 400
so die Antwort....hab da bestimmt irgendwo einen fehler drin

@bb7674
Copy link

bb7674 commented Aug 18, 2023

C:\Users\Bernhard - Ute>curl -f -k -H "Authorization:bearer eyJraWQiOiI3ZDEwMDA1Z.................kWxwJpbcw" -H "Content-Type:application/json" -d "{"enable":1}" https://192.168.178.88/ivp/livedata/stream
curl: (22) The requested URL returned error: 400

das hab ich eingegeben....die ganzen Punkte beim Token hab ich nur zur Darstellung gemacht

@JAK0721
Copy link

JAK0721 commented Aug 18, 2023

es fehlen die backslashes bei "enable"

C:\Users\joerg>curl -f -k -H "Authorization:bearer eyJraWQiOiI...vCRIw" -H "Content-Type:application/json" -d "{\"enable\":1}" https://192.168.178.145/ivp/livedata/stream
{
"sc_stream": "enabled"
}

@bb7674
Copy link

bb7674 commented Aug 18, 2023

irgendwie spinnt aber auch grad die App von Enphase......obs damit was zu tun hat kann ich nicht sagen

@JAK0721
Copy link

JAK0721 commented Aug 18, 2023

bekommst Du via http://{{ .host }}/ivp/livedata/status Daten? Was steht bei Dir bei "sc_stream": "???",

@bb7674
Copy link

bb7674 commented Aug 18, 2023

"connection": {
"mqtt_state": "connected",
"prov_state": "configured",
"auth_state": "ok",
"sc_stream": "enabled",
"sc_debug": "disabled"

die APP tut wieder.....hatte da auch eben die LIVE Ansicht aktiv.....vielleicht darum auf "enabled"

@bb7674
Copy link

bb7674 commented Aug 18, 2023

kannst auch gerne irgendwie privat Kontakt aufnehmen zu mir.....weiß nur nicht wie.....und ob du das überhaupt willst

@JAK0721
Copy link

JAK0721 commented Aug 18, 2023

@bb7674, ja in meinem Post weiter oben vor 5 Tagen hatte ich auch enabled gesehen. Kann mir schon vorstellen dass das auf enabled gesetzt wird, wenn man über die App die LiveDaten Ansicht einschaltet.

@bb7674
Copy link

bb7674 commented Aug 18, 2023

dann kann ich quasi nur warten bis die 15 min rum sind.....dann sollt ja wieder disabled dastehen, oder nicht?

stellt sich aber noch die Frage warum das bei mir mit dem Befehl nicht klapp....

@bb7674
Copy link

bb7674 commented Aug 18, 2023

hab dir jetzt mal meine Mail Adresse geschickt

@bb7674
Copy link

bb7674 commented Aug 18, 2023

so die 15 Minuten sind rum:
jetzt ist es wieder auf "disabled"

"connection": {
    "mqtt_state": "connected",
    "prov_state": "configured",
    "auth_state": "ok",
    "sc_stream": "disabled",
    "sc_debug": "disabled"

@JAK0721
Copy link

JAK0721 commented Aug 19, 2023

@premultiply , bb7674 und ich haben beim Testen festgestellt, dass beim Aktivieren des "Live-Status" in der enphase app der 15min Timer nach dem Ablauf den "sc_stream" wieder auf "disabled" setzt und somit keine Datenaktualisierung mehr erfolgt.

Folgende Idee:
Bei der Abfrage der Daten mittels https://192.168.xxx.xxx/ivp/livedata/status den Status von "sc_stream" auswerten. Sollte "sc_stream": "disabled" sein, mittels curl -f -k -H "Authorization:bearer {token}" -H "Content-Type:application/json" -d "{\"enable\":1}" https://192.168.xxx.xxx/ivp/livedata/stream "sc_stream": "enable" setzen.
Bei einem Abfrage-Intervall von 5s wären die Daten max. 10s veraltet.

Ich habe versucht im Code herauszufinden, wie die enphase.yaml weiterverarbeitet wird, habe es aber nicht gefunden.
Gibt es eine grobe Erklärung wie die vielen Code ineinander greifen?

@bb7674
Copy link

bb7674 commented Aug 19, 2023

ich kann das bestätigen mit dem 15 Minuten Timer, hab es heute schon mehrfach so getestet und es verhält sich immer gleich.
Wenn man das mit evcc so auswerten kann und dann den Status auch wieder aktivieren kann wäre das eine Lösung wo nach meinem Verständnis nach klappt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devices Specific device support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix Enphase templates
5 participants