NEWS
Easee Wallbox mit iobroker
-
@stonemaan ne dafür muss ich erst Sites und alles implementieren. Mega Aufriss
-
@stonemaan sagte in Easee Wallbox mit iobroker:
@Newan, die circuit dynamic current ist in der 1.0.0 noch nicht drin, oder?
Lesend nun verfügbar, einfach 1.0.0 nochmal installieren. Änderbar noch nicht, aber prüf doch mal über die App ob wirklich die Werte angepasst werden?
Und danke fürs Schnitzel, war sehr lecker
-
@newan ich habe es getestet. Das Dynamic Circuit Limit wird nicht geändert, wenn man es in der App verstellt. ABER: das MaxCircuitLimit (Siehe Screenshot wo 11A steht - aus HASS). Sorry, scheinbar scheint die Info aus dem Forum nicht ganz zu stimmen..
Ist dieser Wert schreibend implementierter?
-
@stonemaan war der selbe aufwand, aber sollte nun gehen. Habe es eben mit einem Tesla getestet. Da ging es problemlos!
Version 1.0.1
-
@newan funktioniert einwandfrei Besten Dank!! nun steht dem PV Überschussladen nichts mehr im Weg
-
@stonemaan perfekt. Dann würde ich in einer der nächsten Versionen die anderen werte wieder aus config nehmen und unter Status einsortieren.
-
-
FYI: Hab mal bei easee angefragt, warum die dynamicChargerCurrent nicht funktioniert. Sie arbeiten am fix dafür. @Newan, du kannst sie also also bei "config"drin lassen.
-
@stonemaan Top danke
-
@newan Hallo, ich wieder. Nachdem das mit dem bluelink so super geklappt hat wollte ich mich nun an die Easee machen. Ich versuche gerade den Adapter zu installieren. Trotz Fehlermeldung wird er "irgendwie" installiert.
$ ./iobroker install easee NPM version: 6.14.10npm install iobroker.easee@0.1.2 --loglevel error --prefix "/opt/iobroker" (System call) npm ERR! code ETARGET npm ERR! notarget No matching version found for iobroker.easee@0.1.2. npm ERR! notarget In most cases you or one of your dependencies are requesting npm ERR! notarget a package version that doesn't exist. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-04-02T13_04_12_488Z-debug.log ERROR: host.iobroker-vm Cannot install iobroker.easee@0.1.2: 1 ERROR: process exited with code 25
Instanz anlegen schlägt dann aber fehl .
Command execution: $ ./iobroker add easee --host iobroker-vm Done with error: host.iobroker-vm Cannot install iobroker.easee@0.1.2: 1
$ ./iobroker add easee --host iobroker-vm NPM version: 6.14.10 npm install iobroker.easee@0.1.2 --loglevel error --prefix "/opt/iobroker" (System call) npm ERR! code ETARGET npm ERR! notarget No matching version found for iobroker.easee@0.1.2.npm ERR! notarget In most cases you or one of your dependencies are requestingnpm ERR! notarget a package version that doesn't exist.npm ERR! A complete log of this run can be found in:npm ERR! /home/iobroker/.npm/_logs/2021-04-02T13_08_25_467Z-debug.log ERROR: host.iobroker-vm Cannot install iobroker.easee@0.1.2: 1 ERROR: process exited with code 25
Nachtrag: hab gerade gesehen dass die Version 0.1.2 ist. In Github steht 1.0.1 . Angeboten in der ioBroker Info wurde die 0.1.2 als "new" !? Ich nehm mal die von Github
Klappt auch nicht
Command execution: $ ./iobroker url "https://github.com/Newan/ioBroker.easee.git" --debug Done with error: /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:2674 res.forEach(aliveState => { ^TypeError: Cannot read property 'forEach' of undefined at Immediate. (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:2674:21) at processImmediate (internal/timers.js:463:21)
-
@aiouh installiere mal vom github. Die neuste stable wurde noch nicht übernommen
-
@newan hab ich versucht, siehe letzte Box vom vorherigen Post. Vielleicht machen die Reste derersten verunglückten Installation Probleme. Kann ich die Reste irgendwie manuell loswerden?
-
@newan Reboot vom ioBroker Server hat geholfen :o). Ich konnte zwar die Fragmente vom 0.1.2 nicht löschen, das Drüber Installieren vom Github hat jetzt aber geklappt. Alles gut soweit.
-
-
Ich hab mir den Adapter auch mal installiert.
Funktioniert auf Anhieb. Danke @Newan
Habe noch eine Frage dazu. Kann ja über den Adapter mit dem PhasenMode zwischen 1er Phase, 3 Phasen oder (2) automatischem Modus wählen. Kann ich der Easee auch sagen wenn sie 2 Phasen verwenden soll?
Oder stehe ich gerade auf dem Schlauch und es ist nicht notwendig zum "genauen" Einstellen der Ladestärke?
-
@kun Schau hier mal 2-3 Beiträge weiter oben. Man begrenzt eher die Ampere als die Phasen.
-
@newan Das stimmt und habe ich verstanden.
Aber wenn ich 3 Phasen mit 1A begrenze habe ich 690W. Wenn ich 1Phase mit 1A nehme habe ich 230W. Da fehlt mir der 460W Schritt ja eigentlich. (Zahlen jetzt nur Beispielhaft)Dachte nur so, wenn man die Phasen begrenzen kann, warum fehlt die Einstellung fürs 2 phasige Laden..
Bekomme eh "nur" nen E-UP, der beherrscht kein 3 phasiges AC Laden, da ist bei 2phasig Schluss.
Trotzdem vielen Dank, sobald ich ein E-Auto zum testen habe kann ich mich an ein Script machen.
-
@kun Ich kann nur das angeben was Easee macht. Schreib denen eine Mail und wir bekommen das Ergebnis in den Adapter!
-
@newan Alles gut
Ist nur fürs Verständnis. Ich bin froh das du dir die Mühe machst und uns einen Adapter gebaut hast
-
Nutze den Adapter um die Easee über ioBroker in die openWB zu bekommen. Mit der Hoffnung, die Easee dann darüber zum Überschussladen nutzen zu können. Über MQTT die Werte Richtung openWB schicken geht. Die openWB gibt eine "Stromvorgabe" in A zur Anpassung der Ladeleistung zurück. Das war es aber auch schon.
@stonemaan Wenn ich es richtig verstehe, dann muss ich diese an den Easee Adapter via
circuitMaxCurrentP1 an alle drei Phasen weitergeben. dynamicChargerCurrent scheint im Moment nicht zu funktionieren, oder?Gefühlt fasst zu einfach..
Was noch fehlt ist die 1/3 Phasenumschaltung.
hier mal das script. Gebe einfach nur die Werte weiter:
// Anbindung ############ // openWB/lp/1/AConfigured - Stromvorgabe in A on({id: "mqtt.1.openWB.lp.1.AConfigured", change: 'any'}, (obj) => { console.log("OpenWB setzt Stromvorgabe A: "+getState("mqtt.1.openWB.lp.1.AConfigured").val); //setState('easee.0.XXXXX.config.dynamicChargerCurrent',getState("mqtt.1.openWB.lp.1.AConfigured").val); setState('easee.0.XXXXX.config.circuitMaxCurrentP1',getState("mqtt.1.openWB.lp.1.AConfigured").val); setState('easee.0.XXXXX.config.circuitMaxCurrentP2',getState("mqtt.1.openWB.lp.1.AConfigured").val); setState('easee.0.XXXXX.config.circuitMaxCurrentP3',getState("mqtt.1.openWB.lp.1.AConfigured").val); }); // Fahrzeug angesteckt an openWB schicken // openWB/set/lp/1/plugStat - Status, ob ein Fahrzeug angesteckt ist, nur 0 (nein) oder 1 (ja) on({id: "tesla-motors.0.chargeState.charging_state", change: 'any'}, (obj) => { console.log("OpenWB Fahrzeug gesteckt schicken: "+getState("tesla-motors.0.chargeState.charging_state").val); switch (getState("tesla-motors.0.chargeState.charging_state").val) { case "Stopped": sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/plugStat', message: 1}); break; case "Charging": sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/plugStat', message: 1}); break; default: sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/plugStat', message: 0}); break; } }); // Fahrzeug wird gerade geladen an openWB schicken // openWB/set/lp/1/chargeStat on({id: "easee.0.XXXXX.status.outputCurrent", change: 'any'}, (obj) => { console.log("OpenWB Fahrzeug lädt schicken: "+getState("easee.0.XXXXX.status.outputCurrent").val); if (getState("easee.0.XXXXX.status.outputCurrent").val>0) { sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/chargeStat', message: 1}); } else { sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/chargeStat', message: 0}); } }); // ############################## // Ladeleistungmodul ############ /* Optional zusätzlich: openWB/set/lp/1/VPhase1 Spannung Phase 1, float, Punkt als Trenner, nur positiv openWB/set/lp/1/VPhase2 Spannung Phase 2, float, Punkt als Trenner, nur positiv openWB/set/lp/1/VPhase3 Spannung Phase 3, float, Punkt als Trenner, nur positiv openWB/set/lp/1/HzFrequenz Netzfrequenz, float, Punkt als Trenner, nur positiv */ // Ladeleistung in Watt an OpenWB senden // openWB/set/lp/1/W Ladeleistung in Watt, int, positiv on({id: "easee.0.XXXXX.status.totalPower", change: 'any'}, (obj) => { console.log("OpenWB Ladeleistung in Watt: "+parseInt(getState("easee.0.XXXXX.status.totalPower").val)); sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/W', message: parseInt(getState("easee.0.XXXXX.status.totalPower").val*1000)}); }); // Zählerstand in Watt an OpenWB senden // openWB/set/lp/1/kWhCounter Zählerstand in kWh, float, Punkt als Trenner, nur positiv on({id: "easee.0.XXXXX.status.lifetimeEnergy", change: 'any'}, (obj) => { console.log("OpenWB Zählerstand in Watt: "+getState("easee.0.XXXXX.status.lifetimeEnergy").val); sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/kWhCounter', message: parseFloat(getState("easee.0.XXXXX.status.lifetimeEnergy").val)}); }); // Strom Phase 1 an OpenWB senden // openWB/set/lp/1/APhase1 Strom Phase 1, float, Punkt als Trenner, nur positiv on({id: "easee.0.XXXXX.status.inCurrentT3", change: 'any'}, (obj) => { console.log("OpenWB Strom Phase 1 an OpenWB senden: "+getState("easee.0.XXXXX.status.inCurrentT3").val); sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/APhase1', message: parseFloat(getState("easee.0.XXXXX.status.inCurrentT3").val)}); }); // Strom Phase 2 an OpenWB senden // openWB/set/lp/1/APhase2 Strom Phase 2, float, Punkt als Trenner, nur positiv on({id: "easee.0.XXXXX.status.inCurrentT4", change: 'any'}, (obj) => { console.log("OpenWB Strom Phase 2 an OpenWB senden: "+getState("easee.0.XXXXX.status.inCurrentT4").val); sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/APhase2', message: parseFloat(getState("easee.0.XXXXX.status.inCurrentT4").val)}); }); // Strom Phase 3 an OpenWB senden // openWB/set/lp/1/APhase3 Strom Phase 3, float, Punkt als Trenner, nur positiv on({id: "easee.0.XXXXX.status.inCurrentT5", change: 'any'}, (obj) => { console.log("OpenWB Strom Phase 3 an OpenWB senden: "+getState("easee.0.XXXXX.status.inCurrentT5").val); sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/APhase3', message: parseFloat(getState("easee.0.XXXXX.status.inCurrentT5").val)}); }); // ###################### // SOC Modul ############ // SoC an OpenWB senden on({id: "tesla-motors.0.chargeState.battery_level", change: 'any'}, (obj) => { console.log("OpenWB SoC schreiben: "+getState("tesla-motors.0.chargeState.battery_level").val); sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/%Soc', message: getState("tesla-motors.0.chargeState.battery_level").val}); });