FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Det20 am 24 Oktober 2022, 21:37:44

Titel: Wallbe Ladesäule
Beitrag von: Det20 am 24 Oktober 2022, 21:37:44
Hallo,

ich bin gerade etwas am verzweifeln beim abrufen einer Wallbe Ladesäule. Bei älteren Versionen konnte man den aktuellen Status über den Parameter /daten abrufen, also zB "http://192.168.1.60/daten". Seit dem letzten Update ist das leider nicht mehr möglich, es wird ein Login benötigt. Ich habe das ein wenig nachverfolgt, es läuft so ab:

- Aufruf von "/daten"
- redirect auf login-seite, im HEAD scheint ein Cookie übergeben zu werden (schon beim laden von login ist ein "Cookie:" generiert)
- man loggt sich ein
- danach kann man /daten aufrufen, Cookie muss übergeben werden

Ohne Login landet man leider immer wieder auf der Login Seite, das Kennwort ist aber bekannt.

Mein Problem ist nun: Wie kann ich von einer HTTP Seite den HEAD-er auslesen, in dem sich der Cookie befindet? Ich würde es nun so versuchen, zunächst die Login-Seite aufzurufen um den Cookie abzugreifen und diesen dann im HEAD-er von "/daten" zusammen mit den Kennwort zu übermitteln. Oder kann ich irgendwie ein login simulieren und den Cookie abgreifen?

Ich habe versucht mich durch diverse Module, die sowas im Ansatz machen, zu kämpfen, bin aber gescheitert. Vielleicht hat jemand eine Idee oder Lösung?

[Update]
Verrückt, die erzeugen einen Cookie per JavaScript und da das clientseitig ausgeführt werden muss, wird es logischerweise nicht ausgeführt und entsprechend kein Cookie erzeugt.
Titel: Antw:Wallbe Ladesäule
Beitrag von: Turtle am 19 November 2022, 06:29:01
Hallo,

hast du es schon geschafft die Wallbox einzubinden?
Ich habe eine Wallbe Eco 2.0s und benutze diese aktuell mit EVCC. Eine Direkte Lösung mit FHEM würde mir aber besser gefallen!
EVCC liest die Daten über Modbus TCP.
Titel: Antw:Wallbe Ladesäule
Beitrag von: Det20 am 19 November 2022, 08:43:18
Ich habe es mit einem schmutzigen workaround hinbekommen. Ein Windows Client loggt sich in die wallbox ein, liest dann den auth-Code (cookie) aus und übermittelt den alle 15 minuten an fhem. Fhem nimmt den und ruft damit die Daten ab. Wirklich unschön, aber läuft. Problem ist dass nur ein Client den cookie bekommt, der mit Javascript umgehen kann. Habe keine andere Möglichkeit gefunden
Titel: Antw:Wallbe Ladesäule
Beitrag von: Turtle am 19 November 2022, 21:18:06
Ich habe es geschafft die Wallbox ist jetzt mit Modbus TCP in FHEM.
defmod Wallbe ModbusAttr 255 60 192.168.188.53:502 TCP
attr Wallbe icon wallbox
attr Wallbe obj-c00400-len 1
attr Wallbe obj-c00400-map 0:Aus, 1:Ein
attr Wallbe obj-c00400-max 1
attr Wallbe obj-c00400-min 0
attr Wallbe obj-c00400-poll 1
attr Wallbe obj-c00400-reading Lade_Freigabe
attr Wallbe obj-c00400-unpack n
attr Wallbe obj-h00100-len 1
attr Wallbe obj-h00100-map 65:Ladestation frei, B:Ladestation belegt, C:Ladestation belegt, D:Ladestation belegt, E:Störung, F:Störung
attr Wallbe obj-h00100-poll 1
attr Wallbe obj-h00100-reading Device_status
attr Wallbe obj-h00100-unpack n
attr Wallbe obj-h00120-len 1
attr Wallbe obj-h00120-poll 1
attr Wallbe obj-h00120-reading Ladeleistung
attr Wallbe obj-h00120-unpack n
attr Wallbe obj-h00528-expr $val
attr Wallbe obj-h00528-hint slider,60,10,160
attr Wallbe obj-h00528-len 1
attr Wallbe obj-h00528-max 160
attr Wallbe obj-h00528-min 60
attr Wallbe obj-h00528-poll 1
attr Wallbe obj-h00528-reading Ladestrom_Vorgabe
attr Wallbe obj-h00528-unpack n
attr Wallbe room Photovoltaik
attr Wallbe webCmd Ladestrom_Vorgabe
attr Wallbe widgetOverride Ladestrom_Vorgabe:slider,60,10,160


Ist noch nicht ganz fertig für "attr Wallbe obj-h00100-map" hab ich noch nicht alle Werte getestet aber der Rest funktioniert.
Titel: Antw:Wallbe Ladesäule
Beitrag von: Det20 am 19 November 2022, 22:14:50
Super, versuche ich mal. Halte mich bitte auf dem laufenden
Titel: Antw:Wallbe Ladesäule
Beitrag von: Det20 am 20 November 2022, 11:57:55
Mega, das funktioniert ja toll, danke. Bist du mit der Anbindung schon durch und kannst mir ev mehr geben?
Was ist denn noch möglich? Ich benötige zB die Information über die Chipkarte, die gerade gestempelt hat. Geht das?

Eine Sache noch: Die maximale Ladestärke wird ja immer mit 10 multipliziert. Kannst dein Beispiel so ändern, dass ich nicht "160" auswählen muss sondern (16); und er intern 160 schreibt?
Titel: Antw:Wallbe Ladesäule
Beitrag von: Turtle am 20 November 2022, 12:30:08
Meine Definition sieht momentan so aus. Das mit den 160 ist schon geändert defmod Wallbe ModbusAttr 255 60 192.168.188.53:502 TCP
attr Wallbe icon wallbox
attr Wallbe obj-c00400-len 1
attr Wallbe obj-c00400-map 0:Aus, 1:Ein
attr Wallbe obj-c00400-max 1
attr Wallbe obj-c00400-min 0
attr Wallbe obj-c00400-poll 1
attr Wallbe obj-c00400-reading Lade_Freigabe
attr Wallbe obj-c00400-set 1
attr Wallbe obj-c00400-unpack n
attr Wallbe obj-h00102-expr ($val / 60)/60
attr Wallbe obj-h00102-len 2
attr Wallbe obj-h00102-poll 1
attr Wallbe obj-h00102-reading Ladezeit_Minuten
attr Wallbe obj-h00102-unpack n
attr Wallbe obj-h00300-expr $val / 10
attr Wallbe obj-h00300-len 1
attr Wallbe obj-h00300-poll 1
attr Wallbe obj-h00300-reading Ladeleistung
attr Wallbe obj-h00300-unpack n
attr Wallbe obj-h00528-expr $val / 10
attr Wallbe obj-h00528-hint slider,6,1,16
attr Wallbe obj-h00528-len 1
attr Wallbe obj-h00528-max 16
attr Wallbe obj-h00528-min 6
attr Wallbe obj-h00528-poll 1
attr Wallbe obj-h00528-reading Ladestrom_Vorgabe
attr Wallbe obj-h00528-set 1
attr Wallbe obj-h00528-setexpr $val * 10
attr Wallbe obj-h00528-unpack n
attr Wallbe obj-i00100-len 1
attr Wallbe obj-i00100-map 65:Ladestation frei, 66:Ladekabel angeschlossen, 67:Autorisierung erfolgt, 68:Fahrzeug lädt, 69:Störung, 70:Störung
attr Wallbe obj-i00100-poll 1
attr Wallbe obj-i00100-reading Device_status
attr Wallbe obj-i00100-unpack n
attr Wallbe obj-i00107-len 1
attr Wallbe obj-i00107-map 1:Kabelabweisung 13A und 20A, 2:Kabelabweisung 13 A, 3:Ungültiger PP-Wert, 4: Ungültiger CP-Wert, 5:Status F wegen fehlender Verfügbarkeit der Ladestation,6:Verriegelung, 7:Entriegelung, 8:LD ist während Verriegelung weggefallen, 9:Überstromabschaltung, 10:Kommunikationsproblem Ladesteuerung - Messgerät bei aktivierter Überstromabschaltung, 11:Status D, Fahrzeug abgewiesen, 12:Schützfehler erkannt, 13: Fahrzeugseitig keine Diode im Control Pilot Kreis, 14:DC Fehlerstrom detektiert
attr Wallbe obj-i00107-poll 1
attr Wallbe obj-i00107-reading Error
attr Wallbe obj-i00107-unpack n
attr Wallbe room Photovoltaik
attr Wallbe stateFormat {sprintf("Status: %s, Fehler Status: %s, Lade_Leistung %.1f Ampere",ReadingsVal($name,"Device_status",0), ReadingsVal($name,"Error",0), ReadingsVal($name,"Lade_Freigabe",0))}
attr Wallbe webCmd Ladestrom_Vorgabe:Lade_Freigabe


es ist noch viel mehr möglich (je nach Wallbox) die Adressen für die Abfrage kannst du aus den PDF Dokumenten von meinem ersten Post entnehmen.

Für die Ladefreigabe über FHEM muss der DIP Schalter 10 aktiviert sein!
Titel: Antw:Wallbe Ladesäule
Beitrag von: Det20 am 20 November 2022, 13:19:24
Ist das geil .... DANKE!
Titel: Antw:Wallbe Ladesäule
Beitrag von: Turtle am 20 November 2022, 14:30:37
Gerne, wenn ich noch Änderungen mache, oder Fehler finde melde ich mich.
Titel: Antw:Wallbe Ladesäule
Beitrag von: Det20 am 21 November 2022, 12:01:56
Erweitere gerade deine Vorschläge, komme aber hier und da nicht weiter. Laut Doku soll die IP in "315" gespeichert sein, 4x16 bit.
Wenn ich aber


attr Wallbe_mod obj-h00315-len 4
attr Wallbe_mod obj-h00315-poll 1
attr Wallbe_mod obj-h00315-reading IP
attr Wallbe_mod obj-h00315-unpack c


definiere, dann kommt nur der erste Teil, also "192". Wie konvertiere ich denn die 4 Bytes in die korrekte IP?

Bei "RFID Card Reader Card Data" (ab 606 für 16x16 Bits, Typ Character) kommt garnichts, obwohl der Card-Reader die letzte Karte gespeichert hat.
Kannst mir da ev auf die Sprünge helfen?
Titel: Antw:Wallbe Ladesäule
Beitrag von: Turtle am 21 November 2022, 16:39:34
Vielleicht musst du alle Adressen einzeln angeben und dann mit einem userReading zusammenfassen.

z.B.
attr Wallbe_mod obj-h00315-poll 1
attr Wallbe_mod obj-h00315-reading IP1
attr Wallbe_mod obj-h00315-unpack n
attr Wallbe_mod obj-h00316-poll 1
attr Wallbe_mod obj-h00316-reading IP2
attr Wallbe_mod obj-h00316-unpack n
attr Wallbe_mod obj-h00317-poll 1
attr Wallbe_mod obj-h00317-reading IP3
attr Wallbe_mod obj-h00317-unpack n
attr Wallbe_mod obj-h00318-poll 1
attr Wallbe_mod obj-h00318-reading IP4
attr Wallbe_mod obj-h00318-unpack n
attr Wallbe_mod userReadings IP {" ".ReadingsVal("Wallbe_mod","IP1","").".".ReadingsVal("Wallbe_mod","IP2","").".".ReadingsVal("Wallbe_mod","IP3","").".".ReadingsVal("Wallbe_mod","IP4","")}


Titel: Antw:Wallbe Ladesäule
Beitrag von: Det20 am 21 November 2022, 16:41:22
Bingo.  :)
Titel: Aw: Wallbe Ladesäule
Beitrag von: Det20 am 22 März 2023, 10:59:21
Falls es die Coil-Register bei dir gibt, hier noch die Option, den Controler neu zu booten. Und den Ladevorgang zu verhindern (zum Beispiel Urlaubsmodus oder so):

attr Wallbe_mod obj-c00402-allowWrite 1
attr Wallbe_mod obj-c00402-hint 0,1
attr Wallbe_mod obj-c00402-len 1
attr Wallbe_mod obj-c00402-max 1
attr Wallbe_mod obj-c00402-min 0
attr Wallbe_mod obj-c00402-poll 1
attr Wallbe_mod obj-c00402-reading Device_Enabled
attr Wallbe_mod obj-c00402-set 1
attr Wallbe_mod obj-c00402-unpack n

attr Wallbe_mod obj-c00413-allowWrite 1
attr Wallbe_mod obj-c00413-hint 0,1
attr Wallbe_mod obj-c00413-len 1
attr Wallbe_mod obj-c00413-max 1
attr Wallbe_mod obj-c00413-min 0
attr Wallbe_mod obj-c00413-poll 1
attr Wallbe_mod obj-c00413-reading Device_Reset
attr Wallbe_mod obj-c00413-set 1
attr Wallbe_mod obj-c00413-unpack n