EVSE Wifi Wallbox

Begonnen von MegaData, 03 August 2021, 16:14:30

Vorheriges Thema - Nächstes Thema

MegaData

Hallo zusammen,

ich habe mir eine EVSE Wifi Wallbox gegönnt und würde die gern über FHEM steuern. Über einen http-Aufruf bekomme ich folgende Parameter geliefert:

{"type":"parameters","list":[{"vehicleState":1,"evseState":false,"maxCurrent":16,"actualCurrent":16,"actualPower":0,"duration":5000,"alwaysActive":false,"lastActionUser":"Unknown","lastActionUID":"55cb9c2","energy":0,"mileage":0,"meterReading":0,"currentP1":0,"currentP2":0,"currentP3":0,"voltageP1":237.3318,"voltageP2":236.5364,"voltageP3":236.4499,"useMeter":true,"RFIDUID":"055cb9c2"}]}

Das könnte ich mit HTTPMOD doch nun alle paar Sekunden abrufen und dementsprechend steuern ? Wie bekomme ich denn die einzelnen Werte schicki ausgelesen und dargestellt, was muss ich mit den Reg-Expressions veranstalten ? Ich habe davon... nicht wirklich Ahnung. Habe mich am Tankstellen-Preis-Grabbing orientiert und bin nicht weit gekommen :-O

Danke für jeden Hinweis :)

MadMax-FHEM

Sieht doch nach json aus...
...dann doch einfach mal das Attribut extractAllJason auf "1" setzen und sehen...

Oder jsonmod nehmen...

help jsonmod

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MegaData

 :o :o :o
so einfach geht das ??? wow... danke !

MadMax-FHEM

Zitat von: MegaData am 03 August 2021, 17:30:04
:o :o :o
so einfach geht das ??? wow... danke !

Wenn man einfach "nur" alle Daten will und sie schon im json-Format kommen: ja 8)

Wenn du etwas nicht willst oder anders willst, dann musst du nat. doch "Hand anlegen"... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

optimizer

Hi MegaData,
das sieht mir nach SimpleEVSE Wallbox aus. Dafür suche ich auch gerade eine Lösung.
Es wäre schön, wenn du deine Lösung/device kurz vorstellen könntest.

Gruß
optimizer

betateilchen

Nach über vier Jahren so einen Thread ausgraben, macht meistens wenig Sinn.

Die Lösung steht doch im zweiten Beitrag:
Ein JsonMod device anlegen, das die Daten von der Wallbox abruft und den json-Input verarbeitet.

https://commandref.fhem.de/#JsonMod

Im einfachsten Fall:

define wallbox JsonMod http://<die url der wallbox, die die Daten liefert>
attr wallbox readingList complete()

Wenn das grundsätzlich funktioniert, kann man die readingList bei Bedarf "verfeinern".
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

optimizer

Mit JsonMod habe ich leider keine Erfahrung  :-[
Dein Vorschlag führt zur Fehlermeldung: "API_LAST_MSG: http://evse-wifi: malformed or unsupported URL"
Vielleicht, weil zuerst die Eingabe des Passworts nötig ist.

Die Doku der API liegt unter https://github.com/CurtRod/SimpleEVSE-WiFi?tab=readme-ov-file#http-api

betateilchen

Naja, wäre halt schön gewesen, Du hättest das komplette JsonMod-device mal als list gepostet, damit man sieht, was Du wirklich probiert hast.

Von der Angabe eines Passworts zum Aufruf der API kann ich in der von Dir verlinkten Doku nichts finden.

Laut Doku müsste es so funktionieren:

define wallbox JsonMod http://<hier die IP der Wallbox in Deinem Netzwerk angeben>/getParameters
attr wallbox readingList complete()

Das sollte Dir bereits Daten liefern.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

optimizer

Mit "getParameters" wird etwas zurückgeliefert :-) - Danke

Internals:
   API_LAST_MSG 200
   API_LAST_RES 1767540882.66191
   CFGFN     
   DEF        http://evse-wifi/getParameters
   FUUID      695a747b-f33f-1d1e-3c7a-467efe43a899ad9d
   NAME       TestWB
   NEXT       2026-01-04 17:00:00
   NR         169
   SOURCE     http://evse-wifi/getParameters (200)
   STATE      ???
   SVN        28481 2024-02-05 22:14:33 UTC
   TYPE       JsonMod
   eventCount 12
   .attraggr:
   .attrminint:
   CONFIG:
     IN_REQUEST 0
     SOURCE     http://evse-wifi/getParameters
     SECRET:
   READINGS:
     2026-01-04 16:34:42   .computedReadings list.0.actualCurrent,list.0.currentP3,list.0.maxCurrent,list.0.lastActionUser,list.0.currentP2,list.0.meterReading,list.0.energy,list.0.actualPower,list.0.currentP1,list.0.lastActionUID,list.0.vehicleState,list.0.useMeter,list.0.duration,list.0.alwaysActive,list.0.mileage,list.0.evseState,type
     2026-01-04 16:34:42   list.0.actualCurrent 0
     2026-01-04 16:34:42   list.0.actualPower 0
     2026-01-04 16:34:42   list.0.alwaysActive 0
     2026-01-04 16:34:42   list.0.currentP1 0
     2026-01-04 16:34:42   list.0.currentP2 0
     2026-01-04 16:34:42   list.0.currentP3 0
     2026-01-04 16:34:42   list.0.duration 0
     2026-01-04 16:34:42   list.0.energy   0
     2026-01-04 16:34:42   list.0.evseState 0
     2026-01-04 16:34:42   list.0.lastActionUID
     2026-01-04 16:34:42   list.0.lastActionUser
     2026-01-04 16:34:42   list.0.maxCurrent 0
     2026-01-04 16:34:42   list.0.meterReading 0
     2026-01-04 16:34:42   list.0.mileage  0
     2026-01-04 16:34:42   list.0.useMeter 0
     2026-01-04 16:34:42   list.0.vehicleState 0
     2026-01-04 16:34:42   type            parameters
Attributes:
   readingList complete()

Kann ich das gleiche device auch zum Setzen von max.Current (z.B. http://evse-wifi/setCurrent?current=8) verwenden?

Dann muss ich den ESP8266 nur noch mit der Wallbox verdrahten.

betateilchen

JsonMod ist nicht zum Setzen von Werten vorgesehen.

Du kannst das Setzen entweder mit HTTPMOD oder mit einem cmdalias umsetzen.
Hängt ein bisschen davon ab, wieviele unterschiedliche Befehle zum Setzen Du schicken möchtest.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!