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: Add token-based authentication (firmware D7.x.xxx) and grid #8146 #8247

Merged
merged 7 commits into from
Jun 6, 2023
Merged

Conversation

salz3n
Copy link
Contributor

@salz3n salz3n commented Jun 1, 2023

Fix #8146

Ab Firmware D7.x.xxx braucht man einen Token um auf die lokale API vom Enphase Envoy zuzugreifen. Da es vorher auch ohne Token geht, habe ich den Parameter optional gemacht.

Erfolgreich getestet mit Firmware D7.6.125. Bei Problemen mit früheren D7-Firmwares sollte am besten der Installateur oder Enphase erstmal ein aktuelles Update in den Envoy-S einspielen.

Zusätzlich habe ich auch noch den grid hinzugefügt. battery kann ich leider mangels eigener Batterie nicht implementieren.

@premultiply
Copy link
Member

Ist net-consumption vorzeichenbehaftet?

Consumption klingt erstmal nach Verbrauch und das ist in der Regel falsch.

@salz3n
Copy link
Contributor Author

salz3n commented Jun 1, 2023

@premultiply Es gibt in der Enphase API zwei Werte für consumption

  • total-consumption
  • net-consumption

In der UI vom Enphase wird der Wert total-consumption als Verbrauch dargestellt. Und net-consumption ist der Wert direkt am Hausanschluss.

In meinem aktuellen Fall sind die beiden Werte:

  • PV production: 4243
  • Grid net-consumption: -3995

Dadurch ergibt sich ein Hausverbrauch von 248 - und dieser Wert wird in der API auch bei total-consumption dargestellt. Und die -3995 sind die Einspeisung.

Ich hoffe, dass das somit für evcc korrekt sein müsste, wenn ich für grid den net-consumption nutze.

@premultiply
Copy link
Member

Ok, dann sollte das passen.
Bin da nur immer etwas vorsichtig weil nicht jedem der Unterschied zwischen "Hausverbrauch" (völlig irrelevant) und "Netzbezug/Einspeisung" (einzig relevanter Wert) so bewusst ist.

@premultiply
Copy link
Member

make docs ausführen.

@salz3n
Copy link
Contributor Author

salz3n commented Jun 1, 2023

@premultiply

Danke für den Tipp. Wenn ich make docs ausführe, dann bekomme ich folgenden Fehler:

$ make docs
go generate github.com/evcc-io/evcc/util/templates/...
util/templates/class.go:13: running "enumer": exec: "enumer": executable file not found in $PATH

Und in der template/docs/meter/enphase_0.yaml wird immer mein Kommentar überschrieben:

-      token: # Ab Envoy Firmware D7.x.xxx notwendig. Token ist ein Jahr gültig. Anleitung (Obtaining a token via web UI): https://enphase.com/download/accessing-iq-gateway-local-apis-or-local-ui-token-based-authentication
+      token: # Optional

Diesen Kommentar würde ich gerne in den Docs behalten, damit ein User lesen kann, wie man den Token generiert. Kannst Du mir hier noch mal bitte weiterhelfen? Danke!

@premultiply
Copy link
Member

Das muss alles in das Template.
Die Doku wird durch make docs daraus generiert.

@andig andig added the devices Specific device support label Jun 1, 2023
@andig
Copy link
Member

andig commented Jun 4, 2023

Ping @salz3n

make install docs

bitte Kommentar bzgl. Energy beachten

@andig andig marked this pull request as draft June 4, 2023 18:42
@salz3n
Copy link
Contributor Author

salz3n commented Jun 5, 2023

@premultiply Danke für den Hinweis mit der Energie. Das ist bei mir untergegangen. Ich habe den Wert wieder eingebaut - und zusätzlich noch ein Timeout-Parameter.

Es gehen nun vier API-Calls (Energie + Power für Grid & PV) an die selbe Schnittstelle. Eigentlich müsste man das noch irgendwie umbauen, damit es nur einen einzigen API-Call gibt. Das wäre aber "nur" Performance-Optimierung. Wenn ich in naher Zukunft etwas Zeit finde, dann würde ich mal schauen, ob man das irgendwie besser implementieren kann. Gibt es eventuell schon ein Template, an dem ich mich orientieren könnte?

@premultiply
Copy link
Member

Ich glaub das wird schon ohnehin automatisch gecached und auch sonst nur geholt wenn es benötigt wird.

@andig
Copy link
Member

andig commented Jun 5, 2023

Leider nein, aber das sollte uns nicht stören- hier geht es ja um ein lokales Api.

@andig
Copy link
Member

andig commented Jun 5, 2023

Top. Dann rein damit?

@premultiply premultiply marked this pull request as ready for review June 5, 2023 12:54
@bgrigoriu
Copy link
Contributor

@salz3n Can you forward me your working configuration file for enphase ? I am trying to understand it in more detail

@andig
Copy link
Member

andig commented Jun 6, 2023

Bitte nochmal ein

make docs

@andig andig merged commit 31aa841 into evcc-io:master Jun 6, 2023
@bgrigoriu
Copy link
Contributor

Hi,
You will eventually say I am dumb but as a newbie I am not at all acquited with linux/git and so on I did not suceed to setup the Enphase. Can you help with a step-by-step stupid like series of commands .

@salz3n
Copy link
Contributor Author

salz3n commented Jun 7, 2023

@bgrigoriu

Just wait until the Enphase template is included in the upcoming release of evcc. Should take only a couple of days until the guys from evcc publish the new release I guess. Then you can use the general documentation here:

https://docs.evcc.io/docs/installation/linux
and later
https://docs.evcc.io/docs/devices/meters/ (search for Enphase)

@andig
Copy link
Member

andig commented Jun 7, 2023

ITS ALREADY PART OF THE NIGHTLY RELEASE.

@bgrigoriu
Copy link
Contributor

bgrigoriu commented Jun 7, 2023 via email

@bgrigoriu
Copy link
Contributor

Sorry for not being able to install it.
Can you give me more details/help ? It still install the config fiel for the 5.X firmware.

@bb7674
Copy link

bb7674 commented Jun 11, 2023

Hallo zusammen, ich habe die Version D7.6.125.
Leider funktioniert bei mir EVCC nicht, Fehlermeldung: invalid Token
Ist es möglich dass mich jemand bei der Konfiguration von EVCC behilflich ist, über Teams oder ähnliches...
Meine PC Kenntnisse sind für solche Tätigkeiten dann doch zu gering.
Würde mich dann selbstverständlich auch entsprechend bedanken.
Jetzt hoffe ich dass ich hier jemand ansprechen konnte der sich mit mir in Verbindung setzt.

@salz3n
Copy link
Contributor Author

salz3n commented Jun 12, 2023

@bb7674 Am besten teilst Du mal deine Config-Datei (evcc.yaml) und die Ausgabe vom Log folgendermaßen:

Show evcc log output by running with evcc --log debug. The evcc service MUST be stopped before running this command.

Ich kann die Fehlermeldung "invalid Token" leider so nicht nachstellen.

@andig
Copy link
Member

andig commented Jun 12, 2023

Macht bitte ein neues Thema. Das hat mit diesem PR nix zu tun.

@evcc-io evcc-io locked as resolved and limited conversation to collaborators Jun 12, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
devices Specific device support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enphase Envoy with token-based authentication
5 participants