SMA EV-Charger

Begonnen von Kamik, 07 Dezember 2020, 22:05:02

Vorheriges Thema - Nächstes Thema

Kamik

Weißt du, wie ich deinen ersten Beitrag im Thread nach ganz oben schieben kann?

jual

Zitat von: Kamik am 14 Januar 2021, 22:56:44
Was man ggf. noch machen kann ist, dass der User verschlüsselt in Fhemweb angezeigt wird. Ich schaue mal ob ich finde womit man das machen kann. Z.B. im Harmony, oder Netatmo Modul.

Ja, die Verschlüsselung von User und Passwort wollte ich mir auch noch irgendwo abschauen und evtl. auch noch ein Funktion zum Ändern einbauen. Dann könnte man theoretisch beim Define auch ohne diese Angaben auskommen und muss sie dann entsprechend eintragen. Ich meine, dass es hier auch ähnliche Module gibt, die so arbeiten.

Bezüglich der Verschiebung von Beiträgen bin ich überfragt. Ich hatte auch schon überlegt, ob es ggf. Sinn macht einen neuen Beitrag "Neues Modul: ..." zu erstellen und die Beiträge miteinander zu verlinken.


Die Erkenntnis, dass die Ladung bereits beginnt, wenn man Dauer und Menge angibt, ist mir noch gar nicht aufgefallen. Springt dann der Lademodus auch um, wird also intern vom Charger gesetzt?

Ansonsten hatte ich ja ein paar Ideen für eine automatisierte Ladesteuerung nach dem Motto täglich bis X Uhr Menge Y laden oder weitere zeit- und SOC-gesteuerte Funktionen. Hier bin ich noch nicht sicher, ob man das wirklich alles ins Modul packen soll oder ob man es dem Benutzer überlässt - evtl. mit einem vordefinierten Template - eigene DOIFs zu schreiben.

Bei der Angabe zur Ladedauer bin ich auch noch hin- und her gerissen. Ich habe jetzt erst einmal den einfachsten Weg gewählt, in dem man einfach die Dauer angibt. Es besteht aber auch die Möglichkeit, direkt eine Zeit einzugeben. Dann wird die Dauer automatisch berechnet. Hier sehe ich nur das Problem, wie man diese als Benutzer am besten eingibt. Ein integriertes Widget, wie für Time gibt es leider nicht. Ich habe aber im Forum ein etwas komplexeres gefunden und müsste mal schauen, wie man das evtl. integrieren kann.

jual

#32
Nachdem ich gerade dabei war, meine Tablet-Oberfläche hinsichtlich der Steuerung der Wallbox anzupassen und dabei von meiner Frau den "Hinweis" bekam, was sie denn nun schon wieder neu ist, habe ich mir mal eine kleine Automatik zur Ladesteuerung überlegt und diese zunächst mit einem DOIF und einer kleinen Funktion umgesetzt.

Mit der automatischen Steuerung sollte es möglich sein, eine tägliche Strommenge bis zur gewünschten Abfahrtzeit zu laden. Hierzu habe ich für mich auch die Möglichkeit eingebaut, dass der SOC des Autos mit heran gezogen wird. Wer den aktuellen Ladestand des E-Autos nicht in FHEM integriert hat, kann noch eine andere Lösung wählen, die weiter unten als Anpassung kurz darstelle.

Die Idee beruht auf einer Ladestrategie, die wie folgt aussieht: "Wenn das E-Auto beim Anstecken der Wallbox eine definiert Untergrenze beim Ladestand erreicht hat, dann lade das Auto bis zur nächsten Abfahrtzeit mit einer Lademenge, die zu einer definierten Obergrenze führt".

Die Idee beruht darauf, dass meine Frau beispielsweise möglichst immer mindestens 30% Ladestand haben möchte. In diesem Fall soll das Auto dann beispielsweise auf 80% geladen werden und dies soll spätestens zur nächsten üblichen Abfahrzeit passieren. Mit dem DOIF definiert man nun die täglichen Abfahrzeiten (00:00 heisst: an dem Tag keine Abfahrzeit). Man setzt die jeweiligen Parameter und schon wird automatisch die entsprechende Ladung gesteuert und man muß nur noch eingreifen, wenn der Automatismus nicht passt.

Die Funktion ist noch nicht umfangreich getestet worden, sollte aber eigentlich keine gravierenden Mängel haben.

Das DOIF sieht wie folgt aus (myWallbox ist meine Wallbox und duKia ist ein Dummy, der meinen SOC enthält):

define diWallboxAutomatik DOIF ## Schaltzeiten werden geschaltet, wenn Ladung_Aktiv == on - damit kann also die gesamte Automatik deaktiviert werden
## Für jeden Tag muß eine Abfahrtzeit eingetragen werden (ToDo: Feiertage berücksichtigen?)
## Wenn für einen Tag keine Abfahrzeit definiert werden soll - also keine Zielzeit für eine Ladung definiert wird - dann die Zeit 00:00 eintragen
## Sobald der ermittelte SOC aus duKia unterhalb von SOC_Untergrenze liegt, wird ein Befehl an die Wallbox gesendet
## Die zu ladende Energie wird aus der Differenz von SOC_Untergrenze und SOC_Obergrenze ermittelt und mit MAX_Kapazitaet und dem Aufschlag für den Ladeverlust berechnet
## Lademenge = (SOC_Obergrenze - SOC_Untergrenze) / 100 * MAX_Kapazitaet * (100+Ladeverlust)/100
([?$SELF:Ladung_Aktiv, "off"] eq "on"
and [myWallbox:Status_Ladevorgang] eq "verbunden"
and ([myWallbox:Param_Betriebsart_Ladevorgang] eq "Optimiertes_Laden" or [myWallbox:Param_Betriebsart_Ladevorgang] eq "Ladestopp")
and [duKia:evBatterySoc] <= [$SELF:SOC_Untergrenze])
   ({WallboxAutomatik("$SELF","myWallbox")})


Dann noch das readingList für die notwendigen Readings
attr diWallboxAutomatik readingList Ladung_Aktiv Reset Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag SOC_Untergrenze SOC_Obergrenze Max_Kapazitaet Ladeverlust

Und noch ein User Reading, welches die Lademenge berechnet:
attr diWallboxAutomatik userReadings Lademenge {ceil((ReadingsVal("diKiaLadung","SOC_Obergrenze", "80") - ReadingsVal("duKia","evBatterySoc", "20"))
* ReadingsVal("diKiaLadung","Max_Kapazitaet", "64") / 100
* (1 + ReadingsVal("diKiaLadung","Ladeverlust", "10") / 100))}


Die nachfolgende Funktion muss dann in 99_myutils

# setzt eine Ladezeit und eine Lademenge zur Ladung mit der SMA Wallbox
# bei den Abfahrzeiten in den Wochentagen wird 00:00 als besondere Zeit für "an diesem Tag keine Abfahrzeit" definiert
#
# Übergabeparameter:
# 1: Device-Name des DOIF in dem die Zeiten definiert sind
#   2: Device-Name der Wallbox
#
# Im DOIF-Device notwendige Readings
#   Ladeverlust
#   SOC_Obergrenze
#   SOC_Untergrenze
#   Max_Kapazitaet
# Namen für jeden Wochentag (Montag, Dienstag,...)
#
sub WallboxAutomatik($$)
{
    my ($Timer, $Wallbox) = @_;

my @wochentage = ("Sonntag","Montag", "Dienstag", "Mittwoch", "Donnerstag","Freitag","Samstag");
my ($sec,$min,$hour,$mday,$mon,$year,$heute,$yday,$isdst) = localtime();
my $ladedauer = 0;
my $lademenge = ReadingsVal("$Timer","Lademenge", "0");

# nächste Abfahrzeit ermitteln, beginnend beim aktuellen Wochentag
for ( my $wtag = $heute; $wtag <= 13 and $ladedauer <= 0 and $lademenge > 0; $wtag++ )
{
my $akttag = $wtag > 6 ? $wtag - 7 : $wtag;
my $uhrzeit = ReadingsVal("$Timer",$wochentage[$akttag], "00:00");
my ($stunde, $minute) = split(":", $uhrzeit);

if ($uhrzeit ne "00:00")
{
# ladedauer ist heute + anzahltage in zukunft * 24 - differenz aus abfahrt und aktueller Uhrzeit
$ladedauer = (86400 * ($wtag - $heute) + (($stunde * 60 + $minute) - ($hour * 60 + $min)) * 60) / 60;
}
}

if($ladedauer >= 0)
{
fhem ("set $Wallbox Param_Dauer_Ladevorgang $ladedauer");
fhem ("set $Wallbox Param_Energiemenge_Ladevorgang $lademenge");
}

Log3 $Timer, 3, "$Timer -> Schaltzeit für $Wallbox:".localtime(time()+$ladedauer*60)." mit Lademenge:".$lademenge." Dauer in Minuten:".$ladedauer;
}



Wer diese Automatik nutzen möchte, aber keinen verfügbaren SOC hat, der könnte eine Lademänge vorgeben, die er immer zu den definierten Abfahrtzeiten laden möchte. Also beispielsweise immer 15kWh, weil dies der übliche tägliche Verbrauch ist.

Dazu löscht man das UserReading "Lademenge" und packt dieses noch in das Setlist Attribut. So kann die Lademenge nun auch von Hand eingestellt werden. Weiterhin muss man im DOIF die Und-Bedingung and [duKia:evBatterySoc] <= [$SELF:SOC_Untergrenze] entfernen.

Nun wird das DOIF jedes mal angestossen, wenn das Kabel eingesteckt wird. Ich hoffe, dass ich keine zu groben Schnitzer eingebaut habe und werde die Funktionen natürlich auch bei mir noch weiter testen.

Kamik

Hi Jual,

ich habe mir so etwas auch schonmal erstellt, bevor der EVCharger da war. Kann ggf. auch noch verwendet oder angepasst werden.
Ich versuche nächste Woche nochmal etwas zu testen. Ich habe hier noch die Ladezeit in Sekunden ausgerechnet.
Am ende erfolgt eine Ausgabe, die ich dann noch umschreiben würde, dass gewisse set Befehle erfolgen. Aber ich denke im Ansatz ähnlich wie bei dir.


sub eGolfSMA()
{
my $targetmin = 50;
my $targetdiff = 0;
my $verbrauch = ReadingsVal("CarNet","rtsViewModel_longTermData_averageElectricConsumption","25");
my $restreichweite = ReadingsVal("CarNet","vehicleStatusData_batteryRange","0");
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
my $kwhdefizit = 0;
my $tladen = 0;
my $abfahrzeit = 0;

switch ($wday) {
case 0 {$targetmin = 80} # Sonntag
case 1 {$targetmin = 100} # Montag
case 2 {$targetmin = 50} # Dienstag
case 3 {$targetmin = 50} # Mittwoch
case 4 {$targetmin = 50} # Donnerstag
case 5 {$targetmin = 150} # Freitag
case 6 {$targetmin = 100} # Samstag
else   {$targetmin = 50} # Sonst...
   };
   
   #Berechnung der Parameter
   if ($restreichweite <= $targetmin)
   {
    $targetdiff = $targetmin - $restreichweite;
$kwhdefizit = $verbrauch / 100 * $targetdiff;
$tladen = $kwhdefizit / 7.2 * 3600;
$abfahrzeit = 24 - $hour + 4;

#Ausgabe
fhem(" set TeleBot message eGolf über SMA Energy App programmieren
\nZielzeit = $abfahrzeit Stunden
\nLadeziel = $kwhdefizit kWh
\nRestreichweite = $restreichweite km
\nZielreichweite = $targetmin km
\nDifferenz = $targetdiff km
\nkwh Defizit = $kwhdefizit kWh
\nManuelle Ladezeit = $tladen Sekunden");
   }else
   { # debugging
    #fhem(" set TeleBot message eGolf hat genug Reichweite
# \n Restreichweite = $restreichweite km
# \n Zielreichweite = $targetmin km
# \n Differenz = $targetdiff km
# \n kwh Defizit = $kwhdefizit kwh
# \n Manuelle Ladezeit = $tladen Sekunden");
   }
}


jual

Übers Wochenende konnte ich nochmal ein paar kleinere Tests machen und bin auch gerade dabei, die Infos und eine Steuerung über FTUI zu realisieren.

Beim Testen ist mir dann aufgefallen, dass der Lademodus sich wohl tatsächlich immer dann auf "Laden mit Vorgabe" ändert, wenn man eine Lademenge und eine Ladedauer angegeben hat. Das wäre soweit aus meiner Sicht in Ordnung. Eventuell könnte man aber auch über FHEM das Ganze so steuern, dass das Senden an die Wallbox erst dann stattfindet, wenn man selbst den Lademodus umschaltet. Dann müsste ich aber wahrscheinlich zusätzliche Readings vorsehen, denn diese würden ja immer durch die Info der Wallbox überschrieben.

Weiterhin ist mir ein kleiner Bug in meiner Umsetzung bzw. ein Verhalten der Wallbox aufgefallen, welches ich zeitnah ändern werde. Heute hatte ich festgestellt, dass die Lademenge, die meiner Frau manuell ermittelt und mittels App an die Box geschickt hat, eigentlich etwas zu wenig war. Ich habe dann über meine Steuerung die Menge einfach etwa erhöht. Das klappt auch, führt aber dazu, dass in diesem Moment die Zeit auf den Wert gestellt wird, der ursprünglich eingestellt wurde. Die Wallbox scheint sich in diesem Fall immer nach der angegeben Dauer zu richten. Im konkreten Fall bedeutete dies, dass die Ladung nicht in drei Stunden sondern erst am nächsten Tag fertig gewesen wäre.

Anscheinend erwartet die Box immer die gleichzeitige Änderung beider Werte. Das müsste ich also nochmal entsprechend anpassen.

Kamik

Hi,

Also zu deinem neuen Punkt ist mir schon mal etwas aufgefallen was vielleicht helfen kann.
Solange das Fahrzeug eingestöpselt ist wird die Lademenge summiert.
Du kannst bspw. Drei mal je 1kwh Laden. Dabei musst du die Lademenge immer zu der vorherigen addieren, solange das Auto angestöpselt ist.
1. Mal Ladeziel 1kwh ladezeit= 20 Minuten um 1kwh zu laden
2. Mal Ladeziel 2kwh ladezeit= 20 Minuten um 1kwh zu laden
3. Mal Ladeziel 3kwh ladezeit= 20 Minuten um 1kwh zu laden

Ich habe das mal zum testen benutzt, wie oft ich starten kann bis mein Auto nicht mehr auf das Starten reagiert.

Vielleicht hilft das bei deinen Ansatz

jual

Ich habe im zweiten Beitrag eine neue Version hinterlegt. Dort ist auch ein changelog zu finden.

Als nächste plane ich einmal die Steuerung bei der Anpassung des Lademenge während eine Ladevorgangs. Hier besteht aktuell das Problem, dass bei Änderung der Menge einfach die ursprüngliche Zeitdauer nochmals genutzt wird. Dies führt dazu, dass der Ladevorgang entsprechend verlängert wird. Wenn man also zunächst eine Ladung mit 20kw und einer Dauer von 480 Minuten definiert hat, dann wird bei einer Änderung der Lademenge zum Beispiel auf 30kw ab dem Zeitpunkt der Änderung auch die Zeitdauer wieder auf 480 Minuten gesetzt. Umsetzung ist schon in Arbeit, komme gerade aber nicht zum Testen ;-).

Darüber hinaus möchte ich auch für die set-Funktion noch Experten-Level definieren. Im Prinzip so, wie ich es jetzt bei den Readings gemacht habe. Hierzu würde ich aus aktueller Sicht tatsächlich ein neues Attribut "setting-level" anlegen. Dann ist man mit der Steuerung noch etwas flexibler. Wer möchte kann dann die Readings im Expertenmodus sehen aber bei der set-Funktion den basic-level beibehalten.

Weiterhin habe ich mir die Frage gestellt, ob ich ein zusätzliches Abfrageintervall einfügen sollte. Wenn kein Auto angeschlossen ist, muss man ja nicht zwingend ständig die Box abfragen. Dürfte zwar eigentlich kein Problem sein, könnte aber evtl. die Last bei dem einen oder anderen etwas reduzieren. Einziges Problem hierbei ist, dass man nicht erkennt, wenn der Stecker angeschlossen wird. Würde man das Abfrageintervall zu hoch setzen, dann dauert es entsprechend lange, bis man feststellt, dass man wieder das Intervall für "verbunden" nutzen soll. Vielleicht wäre ein Intervall, welches maximal bis 15 Minuten gesetzt werden kann eine Alternative?

Kamik

Hi,

für die Intervalländerung habe ich bereits ein Doif. Ich denke dass man das auch beim Anwender belassen sollte. Grundsätzlich könnte man herausfinden welcher interval noch gut ist und nicht zu lang. Und welcher kürzester interval möglich ist.  Ich habe neben den unten gezeigten doif auch noch eine intervaländerung wenn alle Bedingungen zum Laden erfüllt wären,  aber noch nicht geladen wird. Das mache ich damit ich das Auto von extern wecke.

Auch würde interessieren ob sich etwas an einem der Zustände ändert wenn das Auto nicht geladen werden kann,  weil das Auto nicht mehr antwortet. Das habe ich noch nicht testen können. Aber ich denke dass hier auch viel Zeit vergeht bis eine Meldung kommt. Besser wäre von sma ein bit, welches alle erfüllten Bedingungen zum Laden anzeigen würde.

defmod di_Abfrage_EVCharger DOIF ([EVCharger:Status_Ladevorgang] eq "nicht verbunden")\
(setreading di_Abfrage_EVCharger Vorgang getrennt)\
(attr EVCharger interval 300)\
(set TeleBot message EVCharger wurde getrennt)\
DOELSEIF ([EVCharger:Status_Ladevorgang] eq "verbunden"\
and [di_Abfrage_EVCharger:Vorgang] eq "laden")\
(setreading di_Abfrage_EVCharger Vorgang verbunden)\
(set TeleBot message EVCharger Ladung beendet)\
(attr EVCharger interval 120)\
DOELSEIF ([EVCharger:Status_Ladevorgang] eq "verbunden"\
and [di_Abfrage_EVCharger:Vorgang] ne "laden")\
(setreading di_Abfrage_EVCharger Vorgang verbunden)\
(set TeleBot message EVCharger wurde verbunden)\
(attr EVCharger interval 120)\
({system("python3 /home/pi/volkswagen-carnet-client/my-car.py -c mqtt")})\
DOELSEIF ([EVCharger:Status_Ladevorgang] eq "Ladevorgang aktiv")\
(setreading di_Abfrage_EVCharger Vorgang laden)\
(attr EVCharger interval 30)\
(set TeleBot message EVCharger Ladevorgang aktiv)
attr di_Abfrage_EVCharger room Garage
attr di_Abfrage_EVCharger wait 0,130,0:0,0,180:0,0,0:0,0,0

Kamik

Hi Jual,

habe heute deine neue Version eingespielt und werde ab heute testen.

Mein EV-Charger hat am Wochenende ein Update erhalten . Version ist nun die .28.R
Laut PV Forum soll hier eine Verbesserung bei einschlafenden Fahrzeugen behoben sein. Und in der Tat lief es am Wochenende sehr gut bei mir. Ich hatte am
Freitag 5 Starts ohne Probleme
Samstag 2 Starts ohne Probleme
Sonntag 10 Starts ohne Probleme. Beim 11. Mal musste ich nachhelfen
dann nochmal 5 Starts ohne Probleme.
Alles ohne das Auto abzustöpseln.

Ich komme mit den Readings aus detail-level 0 ganz gut klar. Lediglich die Schnellabschaltung fehlt mir hier, die ich vorher in ein Filelog geschrieben habe. Ich wollte einfach nur mal wissen, ob es irgendwann mal zu dieser Abschaltung kommt. Vielleicht kannst du dieses Reading noch in das level 0 verschieben?

Ich schreibe auch alle Zustände in das Filelog, aber bislang hat sich nur der Zustand_Ladevorgang geändert, auf den ich auch reagiere. Ich hatte gehofft hier etwas über das Einschlafverhalten des Autos zu erkennen.

Danke für deine Arbeit!

jual

Zitat von: Kamik am 31 Januar 2021, 20:41:39
Ich komme mit den Readings aus detail-level 0 ganz gut klar. Lediglich die Schnellabschaltung fehlt mir hier, die ich vorher in ein Filelog geschrieben habe. Ich wollte einfach nur mal wissen, ob es irgendwann mal zu dieser Abschaltung kommt. Vielleicht kannst du dieses Reading noch in das level 0 verschieben?

Ich schreibe auch alle Zustände in das Filelog, aber bislang hat sich nur der Zustand_Ladevorgang geändert, auf den ich auch reagiere. Ich hatte gehofft hier etwas über das Einschlafverhalten des Autos zu erkennen.

Ok, das Reading Schnellabschaltung nehme ich gerne in Level 0 auf. Am WE habe ich das Modul noch ein Stück weiter entwickelt. Nun können auch alle editierbaren Parameter mittels SET gesetzt werden. Wie erwähnt, habe ich hier zusätzlich einen setting-level eingeführt. Weiterhin habe ich eine Anpassung beim Ändern der Lademenge während eines Ladevorgangs vorgenommen. Nun wird immer die ursprüngliche Ende-Zeit übernommen.

Eigentlich wollte ich die Doku auch entsprechend ergänzen, bin aber noch nicht dazu gekommen. Daher habe ich das Modul mit den Anpassungen auch noch nicht wieder hoch geladen.

Bezüglich weiterer Infos habe ich mir überlegt, ob es evtl. noch von Interesse ist, die Dauer (oder Start-/Ende) des letzten Ladevorgangs sowie der Lademenge auszuweisen.

Ansonsten dürfte das Modul mit den letzten Änderungen schon einen finalen Stand haben. Weitere Ideen für zusätzliche  Funktionalitäten hätte ich im Moment auch nicht mehr.

jual

Heute habe ich den aktuellen Stand des Moduls hochgeladen. Ist wieder im zweiten Beitrag zu finden, genauso, wie die Beschreibung der Änderungen.

Damit dürfte das Modul aus meiner Sicht den finalen Zustand erreicht haben. Zusätzliche Anforderungen sowie Bugs - die bestimmt noch vorhanden sind - nehme ich gerne auf.

Viel Spaß bei der Nutzung.

fabtie

Hi Jual,

danke für dass tolle Modul. 
Seit Kurzem bin ich auch Besitzer eines EV-Chargers und habe ihn nun soweit eingerichtet und in FHEM integriert.  :D

Es funktioniert bisher alles gut, bis auf den Status_Ladevorgang.
Hier deckt sich der Status in FHEM z.T. nicht mit dem auf der WebUI des Chargers. Dort steht manchmal "schlafend", aber in FHEM wird mir "verbunden" angezeigt.
In Antwort #11 ist der Status Ladevorgang mit 200112 --> "schlafend" erwähnt. Aber sonst konnte ich hier irgendwie nichts weiter finden. Wie ich herausfinden kann welchen Wert der Charger bei "verbunden" oder "schalfend" sendet weiß ich leider nicht. Sonst würde ich gerne helfen.

Grüße
Fabian

FHEM auf RPi3|HM-CUL und piVCCU, 20x HM-IP | ZigBee/HUE über conbeeII-Stick, 17x ZigBee

jual

ZitatHier deckt sich der Status in FHEM z.T. nicht mit dem auf der WebUI des Chargers. Dort steht manchmal "schlafend", aber in FHEM wird mir "verbunden" angezeigt.

Freut mich, dass das Modul funktioniert. Bezüglich des Status schau ich nochmal nach, ob ich den Wert identifizieren kann. Habe das Modul schon längere Zeit nicht mehr angepackt, weil sonst alles ganz gut funktioniert und ich meinen Charger so selten im Einsatz habe. Kann jetzt in meiner Firma laden und bin sowieso mehr im HomeOffice ;-).

jual

@fabtie

Wenn du den Verbose Level auf 5 setzt, dann kannst du im Logfile alle Daten sehen, die vom Charger geladen werden. Der Status 200112 müsste eigentlich für "verbunden" stehen. Es könnte sein, dass der Status für "schlafend" den Wert 200114.

Idealerweise setzt änderst du den Verbose-Level wenn dein Charger den Status "schlafend" anzeigt. Bei Level 5 werden ansonsten reichlich Daten ins Log geschrieben, insbesondere kurzen Aktualisierungsintervallen.

fabtie

Hi Jural,
danke für die Rückmeldung.

Wenn ich auf Verbose = 5 gestellt habe finde ich nur den Wert 200112:
"values":[{"time":"2021-05-17T20:11:51.395Z","value":200112}]}
Den Wert 200114 finde ich im Logfile nicht.

Allerdings habe ich am WE festgestellt, dass auf der WebUI vom Charger wohl immer "schlafend" steht, wenn nicht gerade geladen wird. Von daher ist "verbunden" ja nicht unbedingt falsch.

Grüße Fabian
FHEM auf RPi3|HM-CUL und piVCCU, 20x HM-IP | ZigBee/HUE über conbeeII-Stick, 17x ZigBee