Neues Modul - 70_KEBA.pm zur Steuerung Keba KeContect P20

Begonnen von marcus42, 29 November 2015, 12:38:12

Vorheriges Thema - Nächstes Thema

marcus42

Hallo zusammen,

leider habe ich im Board "Ankündigungen" keine Schreibrechte, daher erstelle ich ersteinmal hier einen neuen Thread.

Ich habe ein Modul erstellt, um die KEBA KeContact P20 Wallbox mit Ethernet-Option auslesen/steuern zu können.
Diese Wallbox dient dazu E-Autos aufzuladen.

Die Box sendet bei Statusänderungen UDP Broadcasts und kann auch über UDP gesteuert werden.
Desweiteren können mit dem Modul fast alle der zur Verfügung stehenden Parameter der Box ausgelesen werden.

Denkbar sind mit diesem Modul z.B. strompreisabhängige Ladevorgänge
oder (sobald Befehl 'curr' implementiert ist) die Steuerung des Ladestroms in Abhängigkeit von der aktuellen Leistung der Photovoltaik-Anlage um den Netzbezug zu minimieren.

Das Modul benötigt die Perl JSON Implementierung. Bitte prüft ob ihr die installiert habt.

Die Definition des Moduls erfolgt z.B. mit:

  define wallbox KEBA 192.168.2.43 7090 60

mit 7090 = Port für Verbindung und 60 = Refresh-Intervall in Sekunden

Aktueller Status der Implementierung (27.02.2020):

   Die Grundlegende Funktionen sind bereits implementiert

   - Empfangen der Broadcasts der Wallbox

   - Auslesen der Wallbox mit den GET Befehlen (jeweils ohne weitere Parameter)
   
     info
     update
   
   - Steuern der Wallbox mit den SET Befehlen
   
     enableState 1 - Laden ist enabled
     enableState 0 - Laden ist disabled
     current <value> - Setzen der Stromstaerke in mA (16000 = 16A)
    
Offene ToDos - wird erledigt wenn ich mal wieder Zeit & Lust habe :-) :

     Noch nicht implementierte Befehle: z.B. failsafe
   
    Klartextübersetzung der Statusmeldungen gemäß UDP Programmers Guide von Keba
   
    Hilfetext im Modul vervollständigen ;-)
   
Details zur Schnittstelle können der angehängten Schnittstellenbeschreibung von Keba entnommen werden.

Vielleicht gibt es ja noch jemanden, der etwas mit dem Modul anfangen kann.

Die jeweils aktuelle Version des Moduls habe ich hier abgelegt:
https://github.com/mschlappa/fhem

VG
Marcus
   

schussi

Hallo, vielen Dank für dieses Modul!! Leider bekomme ich es nicht so recht zum laufen. Habe JSON installiert und die pm-Datei auf den Raspi kopiert. Beim Start kann dann aber das Modul nicht initallisiert werden. Diese Fehlermeldung kommt dann:

2016.07.10 10:13:18 1: reload: Error:Modul 70_KEBA deactivated:
Unrecognized character \xC2; marked by <-- HERE after appa/fhem <-- HERE near column 56 at ./FHEM/70_KEBA.pm line 27, <$fh> line 586.

2016.07.10 10:13:18 0: Unrecognized character \xC2; marked by <-- HERE after appa/fhem <-- HERE near column 56 at ./FHEM/70_KEBA.pm line 27, <$fh> line 586.

Kann hier jemand helfen?

vg
Stefan

pharmy

#2
Hallo zusammen,

auch von mir zuerst mal herzlichen Dank für das Moldul! Aber ich habe leider das
gleiche Problem! JSON-Perl ist die aktuellste Version. Bist Du mit dem Problem
schon weiter gekommen?


2016.09.29 08:51:49 4: WEBtablet_192.X.X.X_60404 POST /fhem&fw_id=451&cmd=define+wallbox+KEBA+192.X.X.X+7090; BUFLEN:0
2016.09.29 08:51:49 1: reload: Error:Modul 70_KEBA deactivated:
Unrecognized character \xC2; marked by <-- HERE after appa/fhem <-- HERE near column 56 at ./FHEM/70_KEBA.pm line 26.

2016.09.29 08:51:49 0: Unrecognized character \xC2; marked by <-- HERE after appa/fhem <-- HERE near column 56 at ./FHEM/70_KEBA.pm line 26.

2016.09.29 08:51:49 4: name: /fhem&fw_id=451&cmd=define+wallbox+KEBA+192.X.X.X+7090 / RL:1633 / text/html; charset=UTF-8 / Content-Encoding: gzip


Viele Grüße,
Heiko

Zitat von: schussi am 10 Juli 2016, 10:23:46
Diese Fehlermeldung kommt dann:

2016.07.10 10:13:18 1: reload: Error:Modul 70_KEBA deactivated:
Unrecognized character \xC2; marked by <-- HERE after appa/fhem <-- HERE near column 56 at ./FHEM/70_KEBA.pm line 27, <$fh> line 586.

2016.07.10 10:13:18 0: Unrecognized character \xC2; marked by <-- HERE after appa/fhem <-- HERE near column 56 at ./FHEM/70_KEBA.pm line 27, <$fh> line 586.


marcus42

Hallo,

hast Du das File mal angeschaut?

Kann es sein, dass es nicht sauber runtergeladen wurde?

In Zeile 27 sollen Zeichen a la "appa/fhem" zu finden sein. Das sieht nach dem Ende der URL vom runterladen aus.

Hast Du mal ein wget https://raw.githubusercontent.com/mschlappa/fhem/master/70_KEBA.pm

versucht?

VG Marcus

schussi

Hallo, genau das war das Problem. Nachdem ich die Datei richtig heruntergeladen habe hat es einwandfrei funktioniert. Danke für deine Hilfe!! Ich hatte schon damit begonnen mir eine eigene Software zur Steuerung und Visualisierung der Ladeleistung zu schreiben, aber die Integration in dem FHEM Server finde ich deutlich eleganter. Ist es ev. möglich den Verlauf der Ladeleistung in einem Graphen der letzten 24h darzustellen? Damit könnte man den Ladevorgang noch schöner überwachen.

Gruß
Stefan

Sneak-L8

Hallo zusammen,

wollte den Adapter auch mal für meine KeContact P30 installieren. Aber unter FHEM 5.8 erhalte ich folgenden Fehler:
Experimental keys on scalar is now forbidden at ./FHEM/70_KEBA.pm line 216.
Type of arg 1 to keys must be hash or array (not private variable) at ./FHEM/70_KEBA.pm line 216, near "$decoded)"


Ist das Module mit der aktuellen FHEM-Version nicht mehr kompatibel? Oder habe ich da was falsch gemacht?

Viele Grüße
Sneak-L8

Sneak-L8

So, ich glaub ich konnte es selbst fixen.
In Zeile 216 fehlt vor dem $decoded ein %-Zeichen, also
foreach my $key (keys %$decoded){
anstelle von
foreach my $key (keys $decoded){

Hätte auch das GIT-Repository aktualisiert, hab aber leider keinen Zugriff.
@marcus42 könnte ich (User Sneak-L8, auch bei git) Zugriff bekommen?

Viele Grüße
Sneak-L8

marcus42

Hallo Sneak-L8,

ich war längere Zeit nicht mehr online, daher habe ich Deinen Beitrag irgendwie nicht mitbekommen.

Sorry dafür.

Danke für den Tipp mit dem Fehler!

Möchtest Du noch Zugriff haben? Du bist aber schon auf ioBroker umgestiegen oder?

VG
Marcus

Sneak-L8

Hallo Marcus,

kein Problem. Ja, ich hab mich jetzt für ioBroker entschieden, weil ich Dir Pearl-Erweiterungen nicht installieren konnte, die für manche Adapter benötigt wurden.
Und zwischenzeitlich klappt das Laden in Abhängigkeit vom PV-Überschuss super damit.

Aber vielleicht kannst Du das Zeichen selbst im git ändern, damit andere nicht auch in die Falle tappen.

Viele Grüße
Sneak-L8

marcus42


schon passiert: https://github.com/mschlappa/fhem/commit/0978b7ba541643d405b8cba251d19b03510b56aa

Ich schau mir mal das ioBroker Modul an. Vielleicht kann ich mir da ja was abgucken  ;)
Ab September haben wir auch endlich eine PV Anlage und ich benötige ebenfalls die PV Überschuss-Steuerung.

VG
Marcus


pharmy

#11
Hallo zusammen,

seit dem heutigen (manuellen) Update der 70_KEBA.pm kommt immer die Fehlermeldung "Cannot load module KEBA". Habe jetzt lange mit einer älteren Version gearbeitet, jetzt läuft die Verbindung zur Box aber nicht mehr. Kann es vielleicht daran liegen, dass ich 2 Kebas im Netz habe?

CoolTux

Da würde ich auch nicht laufen wollen als Modu
Zitat
+  foreach my $key (keys %$decoded){
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

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

pharmy

Zitat von: CoolTux am 19 Juli 2018, 13:32:33
Und wenn dann bitte


foreach my $key (keys %{$decoded}){


Super, so klappt es zumindest wieder mit einer Box. Bei der Definition der 2. Box hängt fhem sich dann allerdings wieder auf.