Easee Home (Laderoboter / Wallbox) anbinden

Begonnen von Prof. Dr. Pia-Una Fög-Fay, 13 Februar 2022, 22:11:35

Vorheriges Thema - Nächstes Thema

Prof. Dr. Pia-Una Fög-Fay

Hallo...

Es gibt diese(n) Ease Homebox (Laderoboter / Wallbox):
https://easee.com/de/zuhause-laden/

Offensichtlich gibt es noch kein offizielles FHEM-Modul, welches diese über deren REST API angebunden wäre:
https://developer.easee.cloud/docs

Die Herrschaften von ioBroker haben das wohl schon integriert bekommen:
https://github.com/Newan/ioBroker.easee

Hat das schon wer mit FHEM irgendwie zum Rennen bekommen?

Grüße,
Pia

strategy

Hey Pia,

du darfst dich gerne an einem Beta Test beteiligen :-)

Ich habe angefangen ein entsprechendes Modul zu erstellen. Der Funktionsumfang ist leider noch nicht komplett aber schon brauchbar.
Doku ist leider noch nicht, da ich die in der Regel erst zum Abschluss mache.

Ich würde mich aber dennoch über ein Feedback freuen.
Das Modul findest du in meinem Github Repo:

  https://github.com/MrStrategy/easee

zur Definition kannst du den folgenden Ausdruck verwenden:

   define myWallbox EaseeWallbox <username> <password> [Interval]

Anschließend kannst du mit activateTimer die wichtigen Readings automatisch aktualisieren lassen...

Gruß,
Matthias



Dode

Hallo,

ich hab mir das Modul mal runter geladen und installiert.

Das sieht auf den ersten Blick super aus. Morgen soll wieder Sonne seinen. Dann wollte ich die Zoe mal laden und schauen was das Modul so her gibt.

Gruß
Markus

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

strategy

Hallo zusammen,

dank der freundlichen Unterstützung von CoolTux habe ich einige Verbesserungen am Modul vorgenommen.
Auch hab ich den Funktionsumfang noch ein wenig erweitert (u.a. historische Daten).
Allerdings habe ich auch das eine oder andere Reading umbenannt und die Struktur des Moduls gewechselt.

Daher empfehle ich Euch bei einem Update nicht nur ein Reload des Moduls sondern einen Neustart der FHEM Instanz.
Zumindest hat es bei mir sonst zu Problemen geführt...

Gruß,
Matthias

Dode

Hallo Matthias,

ich hab mir die neue Version runter geladen und in meine FHEM Installation verschoben.
Nach einem Reboot von Fhem ist die Wallbox nicht mehr vorhanden. Wenn ich die neu anlegen möchte kommt der Hinweis "Cannot load module EaseeWallbox"

define myWallbox EaseeWallbox [Benutzer] [PW] 60

Wenn ich die erste Version des Module einfüge kann ich die Wallbox wieder anlegen.

Gruß Dode

CoolTux

Schau mal bitte im Log nach was dort genau steht wenn Du versuchst das Device an zu legen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Dode

Zitat von: CoolTux am 22 März 2022, 08:23:29
Schau mal bitte im Log nach was dort genau steht wenn Du versuchst das Device an zu legen.

2022.03.22 08:29:13 1: reload: Error:Modul 98_EaseeWallbox deactivated:
Can't locate DateTime/Format/Strptime.pm in @INC (you may need to install the DateTime::Format::Strptime module) (@INC contains: ./FHEM/lib ./lib ./FHEM . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./FHEM/98_EaseeWallbox.pm line 12.
BEGIN failed--compilation aborted at ./FHEM/98_EaseeWallbox.pm line 12.

2022.03.22 08:29:13 0: Can't locate DateTime/Format/Strptime.pm in @INC (you may need to install the DateTime::Format::Strptime module) (@INC contains: ./FHEM/lib ./lib ./FHEM . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./FHEM/98_EaseeWallbox.pm line 12.
BEGIN failed--compilation aborted at ./FHEM/98_EaseeWallbox.pm line 12.

CoolTux

apt-get install libdatetime-format-strptime-perl
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Dode


Dode

Ich habe folgende Meldungen im Logfile.

2022.03.22 09:55:55 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:55:56 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:55:56 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:55:56 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:55:57 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:56:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:56:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:56:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:56:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:56:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:56:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:57:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:57:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:57:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:57:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:57:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:57:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:58:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:58:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:58:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:58:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:58:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:58:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:59:48 3: HTTPS error while requesting https://api.easee.cloud/api/chargers/EHXXXXXX/state - 429
2022.03.22 09:59:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:59:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:59:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:59:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:59:49 3: Received non-blocking data from EaseeWallbox regarding current session


2022.03.22 09:05:03 3: error while requesting https://api.easee.cloud/api/chargers/EHXXXXXX/site - read from https://api.easee.cloud:443 timed out
2022.03.22 09:05:03 3: error while requesting https://api.easee.cloud/api/chargers/EHXXXXXX/state - read from https://api.easee.cloud:443 timed out
2022.03.22 09:05:03 3: error while requesting https://api.easee.cloud/api/sessions/charger/EHXXXXXX/monthly - read from https://api.easee.cloud:443 timed out
2022.03.22 09:05:03 3: error while requesting https://api.easee.cloud/api/sessions/charger/EHXXXXXX/daily - read from https://api.easee.cloud:443 timed out
2022.03.22 09:05:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:05:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:05:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:05:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:05:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:05:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:06:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:06:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:06:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:06:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:06:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:06:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:07:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:07:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:07:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:07:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:07:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:07:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:08:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:08:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:08:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:08:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:08:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:08:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:09:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:09:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:09:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:09:48 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:09:49 3: Received non-blocking data from EaseeWallbox regarding current session
2022.03.22 09:09:49 3: Received non-blocking data from EaseeWallbox regarding current session

CoolTux

Das sind noch erweiterte Ausgaben da das Modul noch in Entwicklung ist. Wenn es Dich stört setzte verbose auf 2 bei dem Device.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

2022.03.22 09:05:03 3: error while requesting https://api.easee.cloud/api/chargers/EHXXXXXX/site - read from https://api.easee.cloud:443 timed out
2022.03.22 09:05:03 3: error while requesting https://api.easee.cloud/api/chargers/EHXXXXXX/state - read from https://api.easee.cloud:443 timed out
2022.03.22 09:05:03 3: error while requesting https://api.easee.cloud/api/sessions/charger/EHXXXXXX/monthly - read from https://api.easee.cloud:443 timed out
2022.03.22 09:05:03 3: error while requesting https://api.easee.cloud/api/sessions/charger/EHXXXXXX/daily - read from https://api.easee.cloud:443 timed out


Das hier ist Interessant. Ist Deine Internetverbindung eventuell träge?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Dode

Zitat von: CoolTux am 22 März 2022, 10:17:25
Das hier ist Interessant. Ist Deine Internetverbindung eventuell träge?

Nein. Mir sind keine Probleme aufgefallen. Ich werde das Logfile mal weiter im Auge gehalten.

xschmidt

Hallo Matthias,

Super, genau darauf hab ich gewartet! Hab das Modul gerade installiert und es läuft super. Sowohl Status als auch Start, Stop, Resume und toggel funktionieren tadellos. Einzige Herausforderung die ich noch habe ist die Anbindung der zweiten Wallbox. Da beide Boxen unter der gleichen site hängen bräuchten ich eigentlich ein Sub Modul Konstrukt ähnlich wie bei den    
HM-CC-RT-DN Homematic Heizkörper Reglern, Leider habe ich keinen blassen Schimmer wie man so etwas bauen kann, vielleicht hat Cooltux hier ja ne Idee. Ist aber nicht dringend, erstmal teste ich mit einer Box weiter.
LG Marco

CoolTux

Solange es eine eindeutige Unterscheidung gibt, so eine Art ID, ist das kein Problem.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

strategy

Hallo zusammen,

dank der vielen Tipps und Best Practices von CoolTux habe ich das Modul einem Update unterzogen.
Vieles ist Modul-intern und dient maßgeblich einer besseren Struktur und Qualität des Moduls.

Allerdings ergeben sich damit auch ein paar Changes die nach außen sichtbar sind und die Eigenschaften des Moduls ändern (Breaking Changes):


  • Das Update Interval konnte bisher über ein Set gesetzt werden. Das geschieht jetzt über ein Attribute.
  • Bisher wurden die Session Readings (session_xxx) gelöscht, wenn kein Fahrzeug angeschlossen ist. Jetzt werden die Readings in diesem Fall mit N/A beschrieben1
  • Die boolschen Werte waren bisher 0/1 codiert. Jetzt wird stattdessen true/false verwendet.
  • Das Logging habe ich auch überarbeitet

Bei Fragen oder Problemen meldet Euch gerne.

Gruß,
Matthias

strategy

Hallo Marco,

bzgl. deiner Frage:

Zitat von: xschmidt am 23 März 2022, 20:33:26
Einzige Herausforderung die ich noch habe ist die Anbindung der zweiten Wallbox. Da beide Boxen unter der gleichen site hängen bräuchten ich eigentlich ein Sub Modul Konstrukt...

stellt sich die Frage wie flexibel wir hier sein wollen.
Grundsätzlich kann es ja sowohl mehrere Sites als auch mehrere Charger geben:

Account
  - Site 1
    - Charger A
    - Charger B
  - Site 2
    - Charger C

Das obige Setup könnte auftreten, wenn du Hauptwohnsitz und Zweitwohnsitz mit einer Wallbox ausstattest und am Hauptwohnsitz zudem noch 2 Wallboxen installiert sind.
Dein Szenario habe ich so verstanden, dass es sich um obiges Beispiel aber ohne eine zweite Site handelt.

Da die Charger alle eine eindeutige ID haben, sollte es kein Problem sein beide zu erkennen. Mehrere Sites würde ich aber bis auf weiteres nicht unterstützen, denn das würde die Suche verkomplizieren. Ich würde dann zudem dazu tendieren 2 Instanzen des Moduls zu verwenden und die Charger ID bei der Definition mit anzulegen. Die Readings auf Site-ebene (maßgeblich die eingestellten Preise) würden dann von jedem der Module abgerufen. Aber die übrigen Daten sind ohnehin Charger spezifisch...


Gruß,
Matthias

xschmidt

Hallo Matthias,

genauso ist es in meinem Fall, beide Wallboxen hängen an der gleichen Site, die ID in die Definition zu übernehmen würde das Problem bereits lösen. Wie gesagt ist nicht dringend, die jetzige Lösung ist schon super!
Ich spiel nachher die neue Version ein und teste weiter.
Super Arbeit! Vielen Dank!
LG
Marco

xschmidt

Hi Matthias,

ein einfaches "drüberkopieren" hat mir mein FHEM übel genommen, ist danach abgestürzt. Hab jetzt mal die Fehlermeldungen aus dem log gezogen:
2022.03.27 12:44:53 1: PERL WARNING: Use of uninitialized value $retVal in concatenation (.) or string at ./FHEM/98_EaseeWallbox.pm line 245.
2022.03.27 12:44:54 1: PERL WARNING: Use of uninitialized value $number in numeric eq (==) at ./FHEM/98_EaseeWallbox.pm line 1294.
2022.03.27 12:45:16 1: RMDIR: ./restoreDir/save/2022-03-08
Modification of non-creatable array value attempted, subscript -6 at ./FHEM/98_EaseeWallbox.pm line 1044.

Bei mir startet FHEM noch, und erst sieht es so aus, als ob er alle Werte ziehen kann, kurz darauf stürzt es dann aber ab.
Ich mach die nächsten Test mal auf meiner Spielumgebung  :)
LG Marco

strategy

Hallo Marco,

ich hab mir das log und die Stelle im Code angeschaut.
Vermutlich hast du Deine Wallboxen noch keine 6 Monate im Betrieb?
Der Code war dahingehend fehlerhaft, dass Daten der letzten 6 Monate vorausgesetzt wurden, was natürlich nicht immer der Fall ist.
Ich habe das jetzt dahingehend geändert, dass die vorhandenen Monate angezeigt werden, jedoch maximal die letzten 6.

Kannst du das geänderte Modul bitte nochmal testen?

Danke
Matthias

strategy

Hallo Marco,

basierend auf diesem Scenario habe ich eine Umsetzung vorbereitet:

Zitat von: xschmidt am 27 März 2022, 10:59:10
genauso ist es in meinem Fall, beide Wallboxen hängen an der gleichen Site, die ID in die Definition zu übernehmen würde das Problem bereits lösen. Wie gesagt ist nicht dringend, die jetzige Lösung ist schon super!

Ich kann das ja selbst nur bedingt testen, da ich nur eine Box habe, aber ich bin zuversichtlich das der Code so funktioniert.

Die Testversion liegt in einem eigenen Branch im Repository:

https://github.com/MrStrategy/easee/tree/multiple_boxes_by_chargerid

Wenn alles läuft wir erwartet bringe ich das feature mit in den main branch...

Ich habe der Definition einfach einen weiteren Parameter angefügt.
Damit musst du aktuell leider auch immer einen Interval setzen, denke das ist zu Testzwecken aber zu verkraften...
Die neue Definition muss dann wie folgt aussehen:

define <name> EaseeWallbox <username> <password> [interval] [chargerID]

Die ChargerID findest du in der App -> Einstellungen Laderoboter -> Über

Ich freu mich auf Feedback,
Matthias

xschmidt

Hallo Matthias,

super, hab es gerade installiert und läuft erstmal mit beiden Boxen, bisher ohne Abstürze! Ich lass das auf der Spielumgebung mal bis heute Abend laufen und gebe dann Bescheid ob es noch Fehler gab, bisher gibt es nur nach dem FHEM Start die zwei Warnungen für nicht intitialisierte Variablen:
2022.03.28 11:38:24 1: PERL WARNING: Use of uninitialized value $retVal in concatenation (.) or string at ./FHEM/98_EaseeWallbox.pm line 246.
2022.03.28 11:38:21 1: PERL WARNING: Use of uninitialized value $number in numeric eq (==) at ./FHEM/98_EaseeWallbox.pm line 1333.


Denke aber das ist nicht kritisch.
Super Job, vielen Dank!

LG
Marco

strategy

Hallo Marco,

gerne doch.

Leider kommen die beiden Fehler bei mir im Log nicht. Aber ich hab mir die Stellen im Code angeschaut und Anpassungen vorgenommen.
Du darfst gerne nochmal testen...

Gruß,
Matthias

xschmidt

Sieht gut aus, die Fehler erscheinen nicht mehr im Log. Als nächstes würde ich mir noch die Verbrauchsdaten zu Gemüte führen - die Werte dort kann ich noch nicht nachvollziehen, aber da brauch ich erstmal a bissle Ruhe :-)
Ich melde mich heute Abend!

LG
Marco

Feller

Hallo,

ich teste auch gerade das Modul. In meiner easee-App habe ich unter "Einstellungen Laderoboter/Über" kein Feld "ID". Ist damit die Seriennummer gemeint?

Wenn ich testweise

define Wallbox_1 EaseeWallbox <userid> <password> 60 <seriennummer>

eingebe, kommen nach kurzer Zeit im Log folgende Fehlermeldungen:

2022.04.04 11:57:13 1: HTTPS error while requesting https://api.easee.cloud/api/accounts/chargers - 401
2022.04.04 11:57:36 1: Error on EaseeWallbox_WriteToCloudAPI. Missing charger_id. Please ensure basic data is available.


Danke für das Modul und eure Hilfe.


LG
Feller

strategy

Zitat von: Feller am 04 April 2022, 12:14:04
Wenn ich testweise

define Wallbox_1 EaseeWallbox <userid> <password> 60 <seriennummer>

eingebe, kommen nach kurzer Zeit im Log folgende Fehlermeldungen:

2022.04.04 11:57:13 1: HTTPS error while requesting https://api.easee.cloud/api/accounts/chargers - 401
2022.04.04 11:57:36 1: Error on EaseeWallbox_WriteToCloudAPI. Missing charger_id. Please ensure basic data is available.




Hallo Feller,

du benutzt aber die Version aus dem Branch im Git und nicht aus dem Hauptzweig, oder?
Also https://github.com/MrStrategy/easee/tree/multiple_boxes_by_chargerid
Denn bisher habe ich die Versionen noch nicht zusammengeführt.

Du hast übrigens recht, das Feld heißt Seriennummer und nicht ID und da steht ein 8-stelliger alphanumerischer Wert drin.

Wenn du das Modul so definierst wie in deinem Beispiel sollte es klappen.
Danach gibt es ein Internal mit der Kennzeichnung FIXED_CHARGER_ID. Diese wird dann bei allen Service Calls verwendet.
Ein Beispiel findest du im Screenshot.

Wenn das nicht weiterhilft, sende mir mal bitte einen Screenshot deines Modulbildschirms bzw. ein list.
Password und ggf. Email magst du gerne aus-x-en...

Gruß,
Matthias









MiWe58

Hallo,
ich versuche gerade, das Easee Modul zu installieren.
Leider habe auch die die oben beschriebenen Probleme

"Cannot load module EaseeWallbox"

Gemäß dieses Beitrags habe ich dann auf dem RasPi versucht, die folgende Bibliothek zu installieren

"sudo apt-get install libdatetime-format-strptime-perl"

Dabei bekomme ich allerdings Fehlermeldungen: (Auszug)

"E: Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/libl/liblist-allutils-perl/liblist-allutils-perl_0.09-1_all.deb  404  Not Found [IP: 2a00:1098:0:80:1000:75:0:3 80]"

Liegt der Fehler bei mir oder was kann ich tun?
Ich bin nicht gerade der Linux-Profi.

Vielen Dank für die Unterstützung

Gruß
Michael
Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser

davedeluxe

Hi,

was genau es mit dem Fehler bei deinem apt aufsich hat kann ich dir nicht sagen, sollte normalerweise problemlos funktionieren. ggf. hilft vorher ein "sudo apt update"
Beim Installieren des Moduls bekam ich den gleichen Fehler, hast du einen Wert für Intervall eingegeben? Des Weiteren musst du deine Mailadresse als Username verwenden, nicht deine Telefonnummer o.ä.

Das war zumindest die Lösung bei mir...

Grüße, Dave

CGR

Hallo,

vielen Dank für das Modul. Es läuft seit einiger Zeit problemlos und ich kann den Ladevorgang starten, anhalten und stoppen.

Nun möchte ich gerne versuchen, den Ladevorgang an die Leistung unserer PV-Anlage anzupassen. Wenn ich es richtig verstehe, kann ich die Ladeleistung der Wallbox über ,,dynamicCurrent" steuern. Der zugehörige Wert taucht auch in den Readings auf, allerdings gibt es keinen zugehörigen Set-Befehl. Wäre es möglich, den Befehl einzubauen?

Vielen Dank!

Gruß
Christian

Dode

Hallo Christian,

ich habe die Steuerung der Wallbox über https://www.clever-pv.com/ gelöst.
Vielleicht ist das auch etwas für dich.

Viele Grüße
Markus

Wazzil

Hallo Matthias,

ich bin zufällig auf dein Modul gestossen und nutze es jetzt seit ein paar Monaten mit unserer frisch installierten easee Wallbox :-)
Erste Versuche mit Überschussladen funktionieren sehr gut. Zwar nur über ein Pausieren des Ladevorgangs, aber das reicht mir vorerst einmal.
Allerdings fehlt mir im Moment schlichtweg die Info, ob ein Fahrzeug mit der Wallbox verbunden ist. Natürlich kann ich das aus anderen Infos ableiten, aber für das smarte Laden wäre die Info enorm wichtig. Kannst du das bitte noch nachrüsten, wenn das möglich ist?
Und, wenn du Tester brauchst, sag Bescheid.

Gruß
Marcus

strategy

Zitat von: CGR am 07 August 2022, 08:14:58
Hallo,

vielen Dank für das Modul. Es läuft seit einiger Zeit problemlos und ich kann den Ladevorgang starten, anhalten und stoppen.

Nun möchte ich gerne versuchen, den Ladevorgang an die Leistung unserer PV-Anlage anzupassen. Wenn ich es richtig verstehe, kann ich die Ladeleistung der Wallbox über ,,dynamicCurrent" steuern. Der zugehörige Wert taucht auch in den Readings auf, allerdings gibt es keinen zugehörigen Set-Befehl. Wäre es möglich, den Befehl einzubauen?

Vielen Dank!

Gruß
Christian

Hallo Christian,

in der API gibt es eine Möglichkeit den Dynamic Current zu setzen.
Allerdings muss man dann einen Wert für jede Phase setzen und zudem eine Time to Live...


curl --request POST \
     --url https://api.easee.cloud/api/sites/siteId/circuits/circuitId/dynamicCurrent \
     --header 'Content-Type: application/*+json' \
     --data '
{
     "phase1": 0,
     "phase2": 0,
     "phase3": 0,
     "timeToLive": 0
}
'



Geht das in die Richtung die Du Dir vorstellst?

Gruß,
Matthias

CGR

Hallo Matthias,

danke für die schnelle Rückmeldung. Genau das meinte ich.  :)

@Markus: Danke auch für die Idee. Ich möchte aber nach Möglichkeit von einer weiteren Cloud absehen. Außerdem scheint unser Wechselrichter nicht unterstützt zu sein.

Viele Grüße
Christian

strategy

Zitat von: Wazzil am 07 August 2022, 14:02:19
Hallo Matthias,

ich bin zufällig auf dein Modul gestossen und nutze es jetzt seit ein paar Monaten mit unserer frisch installierten easee Wallbox :-)
Erste Versuche mit Überschussladen funktionieren sehr gut. Zwar nur über ein Pausieren des Ladevorgangs, aber das reicht mir vorerst einmal.
Allerdings fehlt mir im Moment schlichtweg die Info, ob ein Fahrzeug mit der Wallbox verbunden ist. Natürlich kann ich das aus anderen Infos ableiten, aber für das smarte Laden wäre die Info enorm wichtig. Kannst du das bitte noch nachrüsten, wenn das möglich ist?
Und, wenn du Tester brauchst, sag Bescheid.

Gruß
Marcus

Hallo Marcus,

ich habe die Bezeichnungen 1 zu 1 aus der API übernommen.
Es gibt ein Reading 'reasonForNoCurrent'. Wenn dort der Wert 'SecondaryUnitNotRequestingCurrent' steht, ist das Fahrzeug verbunden, fordert aber keine Ladung an.
Das haben zumindest meine bisherigen Beobachtungen ergeben...

Gruß,
Matthias

strategy

Zitat von: CGR am 07 August 2022, 19:29:25

Genau das meinte ich.  :)


Hallo Christian,

dann werde ich mir in der kommenden Woche mal anschauen wie man den Befehl umsetzen kann.

Gruß,
Matthias

Wazzil

Hallo Matthias,

danke für die Info. Ich hatte angenommen, das es über die API auch eine Info gibt, ob ein Fahrzeug angeschlossen ist oder nicht, aber ich konnte bisher nichts dazu finden. Im Webinterface wird die Info als solche angezeigt.

Mit dem Reading 'reasonForNoCurrent' komme ich nicht so richtig klar, ich habe mal mein Log danach durchforstet und bin mir nicht sicher, wie ich daraus ableiten kann, ob ein Fahrzeug verbunden ist.
Auch wird nicht für jeden 'reasonCodeForNoCurrent' auch ein 'reasonForNoCurrent' ausgegeben. Das ist etwas verwirrend, da das Reading nicht neu gesetzt wird, sondern den Wert des letzten Codes beibehält. Bei mir trifft das für die Codes 26 und 79 zu.
Und, wenn das Reading den Wert 'SecondaryUnitNotRequestingCurrent' (Code 50) hat, ist bei mir kein Fahrzeug verbunden. Gleichzeitig ist in dem Zustand aber auch das Reading 'operationMode' auf 'Standby'. Vermutlich werde ich mir das daher aus 'operationMode' ableiten.

Gruß
Marcus

strategy

Zitat von: Wazzil am 08 August 2022, 14:35:13
Hallo Matthias,

danke für die Info. Ich hatte angenommen, das es über die API auch eine Info gibt, ob ein Fahrzeug angeschlossen ist oder nicht, aber ich konnte bisher nichts dazu finden. Im Webinterface wird die Info als solche angezeigt.

Mit dem Reading 'reasonForNoCurrent' komme ich nicht so richtig klar, ich habe mal mein Log danach durchforstet und bin mir nicht sicher, wie ich daraus ableiten kann, ob ein Fahrzeug verbunden ist.
Auch wird nicht für jeden 'reasonCodeForNoCurrent' auch ein 'reasonForNoCurrent' ausgegeben. Das ist etwas verwirrend, da das Reading nicht neu gesetzt wird, sondern den Wert des letzten Codes beibehält. Bei mir trifft das für die Codes 26 und 79 zu.
Und, wenn das Reading den Wert 'SecondaryUnitNotRequestingCurrent' (Code 50) hat, ist bei mir kein Fahrzeug verbunden. Gleichzeitig ist in dem Zustand aber auch das Reading 'operationMode' auf 'Standby'. Vermutlich werde ich mir das daher aus 'operationMode' ableiten.

Gruß
Marcus

Hallo Marcus,

die Info in der App kenne ich und es gab auch schon mal die Frage wie man diese Info per API bekommen kann. Aber leider gab es keine Antwort darauf.

Was das Reading angeht habe ich dir eine falsche Info gegeben. Anbei hänge ich die Übersicht an, die von den Easee Developern veröffentlicht worden ist.
Das die Readings bei manchen Werten nicht aktualisiert werden ist mein Fehler. Der Code ist unbekannt und wird in meiner Nachschlagetabelle nicht gefunden. Ich werde es ändern, dass das Reading dann entsprechend gelöscht wird.

Hier die Übersicht der veröffentlichen Codes mit Anmerkungen. Scheinbar handelt es sich um den OCPP 1.4 Standard und gibt an anderer Stelle mehr Dokumentation...

{
    public enum ReasonForNoCurrent
    {
        OK = 0, // charger is allocated current
        MaxCircuitCurrentTooLow = 1,
        MaxDynamicCircuitCurrentTooLow = 2,
        MaxDynamicOfflineFallbackCircuitCurrentTooLow = 3,
        CircuitFuseTooLow = 4,
        WaitingInQueue = 5,
        WaitingInFully = 6, // charged queue (charger assumes one of: EV uses delayed charging, EV charging complete)
        IllegalGridType = 7,
        PrimaryUnitHasNotReceivedCurrentRequestFromSecondaryUnit = 8,
        SecondaryUnitNotRequestingCurrent = 50, // no car connected...
        MaxChargerCurrentTooLow = 51,
        MaxDynamicChargerCurrentTooLow = 52,
        ChargerDisabled = 53,
        PendingScheduledCharging = 54,
        PendingAuthorization = 55,
        ChargerInErrorState = 56,
        Undefined = 100,
    }
}


Wazzil

Hallo Matthias,

danke! ich schau mir das mal an.
Mein Problem ist im Moment, das ich den Ladevorgang nur pausieren kann. Wenn nicht genug Saft von der PV Anlage kommt, halte ich den Ladevorgang an, wenn wieder Überschuss da ist, dann wird der Vorgang fortgesetzt. Das funktioniert zwar ganz gut, allerdings wird der Ladevorgang manchmal einfach beendet.

Allerdings fände ich den Ansatz von Christian deutlich smarter, wenn ich die Ladung an den Überschuss anpassen könnte, wäre das deutlich effektiver.
Wobei sich mir hier spontan die Frage stellt, ob man mit den falschen Einstellungen nicht eventuell den Akku beschädigen könnte.

Und kurz zu Markus Vorschlag bezüglich clever-pv: es geht ja nicht darum den Dienst zu nutzen, das macht für mich erst einmal auch keinen Sinn. Aber es wäre vermutlich nicht uninteressant sich einmal anzuschauen, wie das dort gelöst ist. Soweit ich das sehen konnte, wird dort auch die REST API von easee verwendet. Also ließe sich die dortige Regelung vermutlich 1:1 auf fhem übertragen oder sehe ich das falsch.

Gruß
Marcus

europe

Hi!
Ich hab auch die Easee Wallbox. Bekomme aber das modul nicht zum laufen.
Ich habe die Version für eine Wallbox verwendet.

Die FHEM Installation ist frisch
Folgendes habe ich getan:

sudo apt-get install libjson-perl
sudo wget https://raw.githubusercontent.com/MrStrategy/easee/main/98_EaseeWallbox.pm
sudo wget https://raw.githubusercontent.com/fhem/GPUtils/devel/GPUtils.pm
chown -R fhem:dialout /opt/fhem
sudo systemctl restart fhem

Aufruf:
define myWallbox EaseeWallbox meinname@meinemail.de MeinPasswort 60

Das Log sag folgendes:
2022.09.24 07:38:36 0: Not enough arguments for main::InternalTimer at ./FHEM/98_EaseeWallbox.pm line 361, near "$hash )
      "
Not enough arguments for main::InternalTimer at ./FHEM/98_EaseeWallbox.pm line 421, near "$hash )"
Too many arguments for main::RemoveInternalTimer at ./FHEM/98_EaseeWallbox.pm line 513, near ""FHEM::EaseeWallbox::UpdateDueToTimer" )"
Not enough arguments for main::InternalTimer at ./FHEM/98_EaseeWallbox.pm line 516, near "$hash )"
Too many arguments for main::RemoveInternalTimer at ./FHEM/98_EaseeWallbox.pm line 522, near ""FHEM::EaseeWallbox::UpdateDueToTimer" )"
Not enough arguments for main::InternalTimer at ./FHEM/98_EaseeWallbox.pm line 525, near "$hash )"
Not enough arguments for main::InternalTimer at ./FHEM/98_EaseeWallbox.pm line 557, near "$hash )"


Habt ihr eine Idee woran es liegt?

europe


europe

Nachdem ich mir selbst helfen konnte hab ich jetzt hab ich doch ein Problem.

Ich habe in einer Site 2 Wallboxen laufen. Ich bin zwischenzeitlich auf Version multiple boxes umgestiegen.

define wallboxLinks EaseeWallbox <ich@meineMail.de> <MeinPasswort> 60 <Seriennummer1>
define wallboxRechts EaseeWallbox <ich@meineMail.de> <MeinPasswort> 60 <Seriennummer2>

Was mir auffällt ist, obwohl ich die richtigen 8 stelligen Nummern angegeben habe, das mir immer nur eine Box angezeigt wird. Die Fixed charger id ist unterschiedlich bei den angelegten wallboxLinks/wallboxRechts entsprechend der Boxen.

In den darunter liegenden readings ist immer nur die eine Box mit einer Seriennummer aufgeführt. Ist das so richtig?



skinny norris

Hallo,
ich habe eine Frage:
Meine Wallbox erzeugt kein Event wenn das laden beginnt. Kann ich das irgendwo einstellen / konfigurieren ?
Vielen dank fürs programmieren des Moduls.
Ole

CGR

Hallo,

heute hat die Easee-Cloud Schwierigkeiten. Offenbar führt das zu Problemen mit dem Modul, denn mein FHEM stürzte mit schöner Regelmäßigkeit alle 60 Sekunden ab, bis ich das EaseeCloud-Device gelöscht habe.

Freundlicherweise hat FHEM folgende Fehlermeldungen notiert:

2022.10.30 12:56:12 1: PERL WARNING: "my" variable @a masks earlier declaration in same scope at ./FHEM/98_EaseeWallbox.pm line 1016, <$fh> line 490.
2022.10.30 12:56:12 3: EaseeWallbox_Define myWallbox: called
2022.10.30 12:56:13 2: EaseeWallbox_Define myWallbox: Starting timer with interval 60
2022.10.30 12:56:26 1: PERL WARNING: Use of uninitialized value $retVal in concatenation (.) or string at ./FHEM/98_EaseeWallbox.pm line 246.
2022.10.30 12:56:26 1: PERL WARNING: Use of uninitialized value $number in numeric eq (==) at ./FHEM/98_EaseeWallbox.pm line 1312.
Your datetime does not match your pattern. at ./FHEM/98_EaseeWallbox.pm line 1304.


Vielleicht hilft das weiter, um für zukünftige Probleme mit der Easee-Cloud vorzusorgen?

Danke und viele Grüße
Christian

CGR

Zitat von: strategy am 07 August 2022, 14:17:53
Hallo Christian,

in der API gibt es eine Möglichkeit den Dynamic Current zu setzen.
Allerdings muss man dann einen Wert für jede Phase setzen und zudem eine Time to Live...


curl --request POST \
     --url https://api.easee.cloud/api/sites/siteId/circuits/circuitId/dynamicCurrent \
     --header 'Content-Type: application/*+json' \
     --data '
{
     "phase1": 0,
     "phase2": 0,
     "phase3": 0,
     "timeToLive": 0
}
'



Geht das in die Richtung die Du Dir vorstellst?

Gruß,
Matthias

Hallo Matthias,
mir würde es reichen, wenn man eine für alle drei Phasen gleiche Stromstärke setzen könnte und die timeToLive immer auf 0 stehen bleibt. Vielleicht ist es mit nur einem Parameter einfacher umzusetzen?
Danke und viele Grüße
Christian

CGR

Zitat von: CGR am 30 Oktober 2022, 13:09:35
Hallo,

heute hat die Easee-Cloud Schwierigkeiten. Offenbar führt das zu Problemen mit dem Modul, denn mein FHEM stürzte mit schöner Regelmäßigkeit alle 60 Sekunden ab, bis ich das EaseeCloud-Device gelöscht habe.

Freundlicherweise hat FHEM folgende Fehlermeldungen notiert:

2022.10.30 12:56:12 1: PERL WARNING: "my" variable @a masks earlier declaration in same scope at ./FHEM/98_EaseeWallbox.pm line 1016, <$fh> line 490.
2022.10.30 12:56:12 3: EaseeWallbox_Define myWallbox: called
2022.10.30 12:56:13 2: EaseeWallbox_Define myWallbox: Starting timer with interval 60
2022.10.30 12:56:26 1: PERL WARNING: Use of uninitialized value $retVal in concatenation (.) or string at ./FHEM/98_EaseeWallbox.pm line 246.
2022.10.30 12:56:26 1: PERL WARNING: Use of uninitialized value $number in numeric eq (==) at ./FHEM/98_EaseeWallbox.pm line 1312.
Your datetime does not match your pattern. at ./FHEM/98_EaseeWallbox.pm line 1304.


Vielleicht hilft das weiter, um für zukünftige Probleme mit der Easee-Cloud vorzusorgen?

Danke und viele Grüße
Christian

Hallo nochmal,

falls außer mir noch jemand dieses Modul benutzt und es ebenfalls immer für einen FHEM-Absturz sorgt: bei mir war die Absturzursache die Zeile, die die Fehlermeldung


Your datetime does not match your pattern. at ./FHEM/98_EaseeWallbox.pm line 1304.


hervorgerufen hat.
Es läuft nun wieder, nachdem ich in Zeile 1302 von 98_EaseeWallbox.pm das "%z" am Ende des Patterns gelöscht habe, so dass die Zeile nun lautet:


pattern  => '%Y-%m-%dT%H:%M:%S'


Vielleicht hilft es jemandem.

Viele Grüße
Christian

SimonHipp

Ich habe das Problem auch, sobald das Modul eingebunden ist, steht FHEM komplett und staret alle paar Minuten neu.
Hat hierfür jemand bereits eine Lösung, auch per belegt 100% CPU-Last.

Danke und Grüße
FHEM 6.0 auf AMD Ryzen 5 MICRO PC (NUC) mit VDSL 100/40Mbit/s

SimonHipp

Nach der oben genannten Korrektur des Moduls, hat sich jetzt mein FHEM soweit beruhigt, jedoch nun immer der folgende Fehler:
Error on EaseeWallbox_WriteToCloudAPI. Missing charger_id. Please ensure basic data is available.

Grüße
Simon
FHEM 6.0 auf AMD Ryzen 5 MICRO PC (NUC) mit VDSL 100/40Mbit/s

CGR


SimonHipp

Zitat von: CGR am 04 November 2022, 18:03:18
Das Reading ,,charger_id" existiert aber?
Jep, das ist da enthält auch einen Wert.
Das mit den 100% Auslastung hing nicht am Modul, sondern an einem Update vom Ubuntu, ist nun wieder wech.
Danke!
FHEM 6.0 auf AMD Ryzen 5 MICRO PC (NUC) mit VDSL 100/40Mbit/s

Sirel

Hallo zusammen,
seit ich das Modul bei mir installiert habbe, startet sich der PI regelmäßig neu.

Im Log erhalte ich folgende Fehlermeldungen:


022.12.18 23:19:00 1: PERL WARNING: Use of uninitialized value $retVal in concatenation (.) or string at ./FHEM/98_EaseeWallbox.pm line 246.
2022.12.18 23:19:01 1: PERL WARNING: Use of uninitialized value $number in numeric eq (==) at ./FHEM/98_EaseeWallbox.pm line 1312.


davor hatte ich noch diesen Fehler:
2022.12.18 23:18:52 1: PERL WARNING: "my" variable @a masks earlier declaration in same scope at ./FHEM/98_EaseeWallbox.pm line 1016, <$fh> line 78.

Ich habe beide Varianten (mit und ohne Seriennummer) probiert, bei haben das gleiche Fehlerbild.

Kann jemand damit etwas anfangen und mir sagen, wie ich das beheben kann?

Vielen Dank und Grüße,
Max

CGR

Hallo Max,

die Perl-Warnungen sind meiner Vermutung nach nicht weiter schlimm. Hast Du auch eine solche Meldung im Log?

Your datetime does not match your pattern. at ./FHEM/98_EaseeWallbox.pm line 1304.

Dann hilft evtl. mein Hinweis weiter oben.

Viele Grüße
Christian

strategy

Hallo zusammen,

Sorry das ich so lange abgetaucht gewesen bin. Aber ich hatte sehr viel um die Ohren und wenn dann doch mal ein wenig Zeit da war gehört die der Familie :-)

Scheinbar hat Easee die API ein wenig verändert und die Genauigkeit der gelieferten Uhrzeitwerte reduziert.
Stellt an sich kein Problem dar, denn beim Charger braucht wohl keiner die Millisekunden. Aber das hat tatsächlich ein Problem beim Parsen nach sich gezogen. Ich habe den Code jetzt entsprechend angepasst und damit sollte das Modul auch wieder normal funktionieren.

Zudem habe ich einige kleinere Fehler beim Logging mit einem hohen Verbose Level behoben, sodass jetzt auch wieder eine saubere Diagnose möglich sein sollte.

Auch habe ich nach einigen Feedback jetzt die Variante für mehrere Charger in den Standard überführt. Leider kann ich die Variante nicht testen, daher bin ich an der Stelle immer auf Eure Hilfe angewiesen.

@Christian:
Deine Anforderung steht als nächstes auf meinem Zettel...

@Europe:
Kannst du bitte die neue Version installieren und mir ggf. Auszüge mit verbose = 5 als PN schicken.
Ich kann das wie gesagt leider nicht nachstellen...

Gruß,
Matthias


strategy

@Christian:

Ich habe jetzt das Thema *Dynamic Current* eingebaut. Findet sich im Github Repository.
Über das normale Update (manuell oder zyklisch) wird jetzt zum einen ein neues Reading circuit_id angelegt und dann readings:


dynamicCurrent_phase1
dynamicCurrent_phase2
dynamicCurrent_phase3


Alle Werte werden mit dem zyklischen Update aktualisiert...

Wenn du jetzt einen Wert setzen möchtest, kannst du das über set dynamicCurrent machen.
Dabei musst du die 3 Phasen setzen und kannst darüber hinaus die TTL setzen. TTL ist sonst 0.


set myWallbox dynamicCurrent <phase1:double> <phase2:double> <phase3:double> (<TTL:integer>)
set myWallbox dynamicCurrent 5.5 8 20
set myWallbox dynamicCurrent 5.5 8 20 15


Ich habe damit gerade ein wenig rumgespielt, aber da mein Auto geladen war, war nicht viel mit ausprobieren.
Aber wenn du in der Mobile App auf die Ampere Anzeige klickst, wird dir das Dynamische Limit angezeigt. Und ich meine auch die Ladeleistung wurde angepasst, was aber bei jeder Änderung eine Unterbrechung des Ladevorgangs zur Folge hatte.

Ich freu mich auf deinen Bericht und alle Verbesserungsideen...

Gruß,
Matthias

CGR

Guten Morgen Matthias,

das hört sich super an, ein vorgezogenes Weihnachtsgeschenk! Danke! :)

Ich werde es bei nächster Gelegenheit ausprobieren und dann eine Rückmeldung geben. Es kann aber sein, dass das erst im neuen Jahr klappt.

Dankenochmal und viele Grüße
Christian

CGR

Hallo nochmal,
soweit ich das sehe, funktioniert es wie gewünscht. Danke, Matthias!
Jetzt brauche ich nur etwas mehr Sonne.
Viele Grüße
Christian

strategy

Die Sonne würde ich auch nehmen.
Produziert bei mir zwar keinen Strom aber ist gut fürs Gemüt :-)

Ich habe eine Änderung an der Implementierung vorgenommen (Breaking Change) und hätte gerne ein Feedback von Euch.
Nachdem demnächst meine Preisgarantie auf Strom ausläuft beschäftige ich mich gerade intensiver (soweit man bei der limitierten Zeit von Intensiv sprechen kann) mit meinen Verbräuchen. Dazu gehört in nicht unerheblichem Maß das Auto.
Dazu baue ich derzeit eine Statistik aller messbaren Verbraucher und bin über eine spannende Erkenntnis gestolpert.

Und zwar gibt es in der aktuellen Implementierung des Moduls ja zwei Serien von Readings für die Verbrauchswerte:
daily_xx_power
daily_xx_cost
monthly_xx_power
monthly_xx_cost
die meiner Erwartung nach jeweils die Werte der des aktuellen sowie der vergangenen Tage bzw. Monate liefern sollten. Bei meinen bisherigen Prüfungen hatte ich auch immer das Gefühl die Werte würden stimmen, allerdings habe ich auch täglich geladen.
Bei genauem hinschauen ist mir nun folgendes aufgefallen:

  • Die Werte sind nicht für alle vorangegangenen Tage. Wurde einen Tag nicht geladen, wird dieser in der API auch nicht zurückgegeben und die Anzeige in FHEM ist entsprechend verschoben. Habe ich z.B. gestern nicht geladen findet sich im Reading mit der -1 nicht etwa eine Null, sondern der Wert von vorgestern. Die Daten sind also nicht konsistent.
  • Die aktuelle Session wird in der Statistik gar nicht berücksichtigt. Sprich wenn ich mein Auto angeschlossen und vollständig geladen habe, der Stecker aber noch im Fahrzeug steckt wird dieser komplette Verbrauch in den entsprechenden Readings nicht berücksichtigt. Es fehlt also etwas
[li]Beim ziehen des Steckers wird die Session beendet und der Verbrauch wird sichtbar. Allerdings wird der Verbrauch immer dem aktuellen Tag gutgeschrieben. Wenn ich also das Fahrzeug abends anstecke und über nacht lade, wird der komplette Verbrauch dem Folgetag zugeschlagen, auch wenn ein Großteil oder alles bereits am Vortag verbraucht worden ist. Das bringt meine Statistiken arg durcheinander, vor allem wenn man es mit dem eigenen Stromzähler abgleicht. Dieses Phänomen ist übrigens auch in der Easee App auf dem Iphone zu beobachten.
[/li][/list]

Daher habe ich jetzt die API auf eine andere Schnittstelle umgestellt. Diese basiert auf dem internen Stromzähler der Easee Box. Die Box meldet stündlich den aktuellen Zählerstand und auf der Basis lässt sich dann ein echter Verbrauch ermitteln. Aus meiner Sicht sind diese Daten deutlich genauer, bzw. passen besser zu meinem Anwendungsfall. Da die aktuelle Session erst nach abkoppeln des Fahrzeugs erfolgt sind die Daten meiner Meinung nach auch aktueller auch wenn nur stündlich eine Aktualisierung erfolgt.

Im GitHub habe ich im Branch session_history die Services ausgetauscht wie oben beschrieben. Ich teste diese Implementierung auch gerade selbst.
Würde mich freuen wenn Ihr mir ein Feedback zu der Idee geben würdet und auch ein Feedback zur Funktion.

Gruß,
Matthias

Mitch

Hallo,

kann man mit dem Modul auch eine Ladung frei geben und sperren?
Gibt es eine Doku dazu?

Vielen Dank!
FHEM im Proxmox Container

CGR


Mitch

#59
Naja, halt frei schalten, wie z.B. mit dem RFID Chip. Autorisieren.

Ich mache das aktuell mit einem Go-eCharger so, dass wenn ich Zuhause bin, die Wallbox automatisch auf Laden geht, ich also immer das Auto anstecken kann.
Wenn ich nicht zu Hause bin, ist keine Ladung möglich.
FHEM im Proxmox Container

MiWe58

Wie ist der Status des Moduls aktuell bzw. geplant?

Seit einigen Wochen habe ich nun eine PV-Anlage und einen Easee Laderoboter. Den Laderoboter würde nun gerne in die Fhem Installation integrieren.
Im Commandref ist bereits ein Hinweis auf das Modul. Jedoch fehlt ein Link auf die Beschreibung.

Hierzu meine Frage, ob in absehbarer Zeit etwas "offizielles" zu erwarten ist?
Gibt es eine zusammenfassende Dokumentation zu dem aktuell verfügbaren Stand des Moduls und der Installation / Bedienung?

Schöne Grüße
Michael
Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser

strategy

Hallo Michael,

aktuell habe ich leider sehr wenig Zeit mich um meine FHEM Installation und das Modul zu kümmern.
Ich muss aber zugeben, dass ich mir gar nicht mehr so bewusst war, dass es keine Dokumentation zum Modul gibt.

Ich werde versuchen in den nächsten Wochen mal den Status Quo im Rahmen der normalen Modul-Dokumentation zu beschreiben und auch den main-branch zu aktualisieren...

Soweit ich den aktuellen Stand zusammenfassen kann gilt aber:
- Bitte nutz den Branch "session_history"
- Es wird aktuell nur eine Wallbox unterstützt. Viel mehr kann ich auch nicht testen ;-)
- Maßgeblich werden über die Easee API die Einstellungen und Funktionen der App abgebildet. Die finden sich in den Set-Befehlen
- Ansonsten gibt es hauptsächlich Statistik-Readings über Verbrauchswerte
- Ich habe mal versuchsweise Möglichkeiten zur dynamischen Anpassung der Ladeleistung implementiert um die Ladeleistung an eine Solaranlage anzupassen. Das kann ich mangels Solaranlage aber nicht testen. Dazu müsstest du diesen Thread hier lesen.

Gruß,
Matthias

MiWe58

#62
Hallo Matthias,
vielen Dank für die Zusammenfassung.

Ich habe die 98_EaseeWallbox.PM von GitHub kopiert

Das Modul habe ich nun eingerichtet.
define Easee_Charger EaseeWallbox Loginxxx PWxxx 60 Seriennr

Als Readings erhalte ich
- lastResponse ERROR: HTTP Code 401
- state reachable

sonst keine weiteren Readings, es ist aber auch kein Auto angeschlossen.

Logfile-Eintrag:
2024.04.01 15:57:02.819 1: Error on EaseeWallbox_WriteToCloudAPI. Missing charger_id. Please ensure basic data is available.

Die ID wurde angegeben:
Bei der Parametereingabe der DEF im Fhem wird mir hinter dem Intervall die Seriennummer immer wieder "gelöscht", so dass diese in der Fhem DEF nicht mehr angezeigt wird.

Kannst Du hier weiterhelfen?

Gruß
Michael
Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser