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

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