SOC über OBD per WLAN auslesen um Wallbox zu steuern

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

Benutzeravatar
read
panoptikum hat geschrieben:49° Fahrenheit sind 9,44° C

Warum ein VW allerdings in Fahrenheit messen sollte entzieht sich meiner Kenntnisse.
.
Könnte es sein, dass die Werte in 0,25 ° - Schritten repräsentiert werden? '49' wären dann 12,25 °C und recht nah an den genannten 12 °.

Müsste man halt bei verschiedenen Temperaturen auslesen für ein Reverse-engineering :)
Gruß
Werner
Peugeot iOn Produktionsdatum 09/15 seit 01/16
Hyundai ioniq 5 RWD LR seit 11/21
Anzeige

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

Benutzeravatar
  • HisN
  • Beiträge: 98
  • Registriert: So 25. Okt 2020, 01:31
  • Hat sich bedankt: 58 Mal
  • Danke erhalten: 36 Mal
read
Guter Hinweis. Ist ja beim Soc genau das gleiche.

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

Benutzeravatar
  • HisN
  • Beiträge: 98
  • Registriert: So 25. Okt 2020, 01:31
  • Hat sich bedankt: 58 Mal
  • Danke erhalten: 36 Mal
read
OK. Ich habs.
Die richtige Syntax für den Sensor ist

[/Code]
- name: "E-UP SOC MQTT"
state_topic: "wican/xxxxxid/can/rx"
value_template: "{{ value_json.frame[0].data[4] }}"
[/Code]

Den Wert, den man da bekommt noch durch 2.55 teilen. Und man hat eine Soc-Anzeige.
Während das Auto lädt bleibt der wican übrigens die ganze Zeit online. Man kann also (minütlich) den Wert abfragen^^

Test-Anzeige:
Clipboard01.jpg
Clipboard01.jpg (4.93 KiB) 604 mal betrachtet

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

Benutzeravatar
  • HisN
  • Beiträge: 98
  • Registriert: So 25. Okt 2020, 01:31
  • Hat sich bedankt: 58 Mal
  • Danke erhalten: 36 Mal
read
Funktioniert jetzt wunderbar.

Sobald der Wagen in der Einfahrt gestartet wird und der wican sich im WLAN einloggt, wechselt der Status auf online und ich rufe 1x die Minute einen Wert hab, solange bis der Wagen aus dem WLAN Bereich rausfährt. Bei der Rückkehr das gleiche. Der Status geht auf online und ich bekommen1x die Minute einen Wert, solange bis das Auto runterfährt.
Während des Ladevorgangs geht der Wican auf auf Online, und ich bekomme minütlich Werte, solange bis der Ladevorgang gestoppt wird.

So zuverlässig hat das VW über die Cloud nicht hinbekommen :-)

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

Benutzeravatar
  • HisN
  • Beiträge: 98
  • Registriert: So 25. Okt 2020, 01:31
  • Hat sich bedankt: 58 Mal
  • Danke erhalten: 36 Mal
read
Am Kia funktioniert es jetzt auch. Aber ganz ehrlich. Ich weiß nicht wie ich auf die richtige Abfrage-Phrase gekommen bin. Trial and Error. Denn geblickt habe ich das ganze nicht wirklich.

Code: Alles auswählen

alias: MQTT Niro Soc Abfrage
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.niro_status_mqtt
    to: online
condition: []
action:
  - repeat:
      count: 240
      sequence:
        - condition: state
          entity_id: sensor.niro_status_mqtt
          state: online
        - service: mqtt.publish
          data:
            qos: 0
            retain: false
            payload: >-
              {"bus":"0","type":"tx","frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[2,1,91,170,170,170,170,170]}]}
            topic: wican/meinewicanID/can/tx
        - delay:
            hours: 0
            minutes: 1
            seconds: 0
            milliseconds: 0
mode: single

Ich mach das jetzt folgendermaßen: Ich prüfe den Status. Sobald der auf "Online" wechselt, frage ich 4h lang jede Minute den Soc ab, sofern Online erhalten bleibt. (Die 4h brauche ich eigentlich nur, wenn der Wagen geladen wird, normalerweise reicht ja eine Abfrage beim Losfahren und eine beim Ankommen) Ansonsten melden jetzt UP und E-Niro ihren SOC ohne Cloud.
I like
Zwischenablage01.jpg

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

Benutzeravatar
  • HisN
  • Beiträge: 98
  • Registriert: So 25. Okt 2020, 01:31
  • Hat sich bedankt: 58 Mal
  • Danke erhalten: 36 Mal
read
OK, der Hersteller vom Wican hat jetzt auch verraten, wie sein Weg ist die richtigen Phrasen herauszubekommen.
Wican ins Auto stecken, die App Carscanner aufs Handy laden, Carscanner per Wifi mit dem Wican verbinden (der hat ja ne eigene IP, Port ist 23).
Dann in der Carscanner-App das eigene Auto auswählen, Sensoren auswählen, und dann den einen Sensor dauerhaft abfragen lassen, den man haben möchte.
Dann sieht man im MQTT-Channel "CAN" TX und RX die Abfrage-Phrase und die Antwort-Phrase und kann damit weiter arbeiten. Kann man z.b. bequem über den MQTT-Explorer vom Home-Assistant loggen.

Muss nem Dummen ja auch erst mal gesagt werden. Hätte mir viel Frickelei gespart. So ist das ja relativ einfach.

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

Benutzeravatar
read
Klingt nach telnet… werde mir das Teil wohl auch mal kaufen. Wird bei Hyundai wahrscheinlich genauso wie bei Kia funktionieren.
Tibber: https://invite.tibber.com/zuv6giv9.
Du erhältst 100% Ökostrom und kannst jederzeit mit einer Frist von 2 Wochen kündigen. Probiere es aus und wir erhalten beide 50 € Bonus für den Tibber-Store.

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

Benutzeravatar
  • HisN
  • Beiträge: 98
  • Registriert: So 25. Okt 2020, 01:31
  • Hat sich bedankt: 58 Mal
  • Danke erhalten: 36 Mal
read
HisN hat geschrieben: Am Kia funktioniert es jetzt auch. Aber ganz ehrlich. Ich weiß nicht wie ich auf die richtige Abfrage-Phrase gekommen bin. Trial and Error. Denn geblickt habe ich das ganze nicht wirklich.

Code: Alles auswählen

alias: MQTT Niro Soc Abfrage
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.niro_status_mqtt
    to: online
condition: []
action:
  - repeat:
      count: 240
      sequence:
        - condition: state
          entity_id: sensor.niro_status_mqtt
          state: online
        - service: mqtt.publish
          data:
            qos: 0
            retain: false
            payload: >-
              {"bus":"0","type":"tx","frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[2,1,91,170,170,170,170,170]}]}
            topic: wican/meinewicanID/can/tx
        - delay:
            hours: 0
            minutes: 1
            seconds: 0
            milliseconds: 0
mode: single

Ich mach das jetzt folgendermaßen: Ich prüfe den Status. Sobald der auf "Online" wechselt, frage ich 4h lang jede Minute den Soc ab, sofern Online erhalten bleibt. (Die 4h brauche ich eigentlich nur, wenn der Wagen geladen wird, normalerweise reicht ja eine Abfrage beim Losfahren und eine beim Ankommen) Ansonsten melden jetzt UP und E-Niro ihren SOC ohne Cloud.
I like


Leider muss ich mir korrigieren. Beim Kia ist es komplizierter und es hat jetzt wirklich 2 Tage und viel Hilfe vom WiCan-Programmierer/Erfinder/Support (OMG ist der Geduldig) gebraucht, um es hinzubekommen.

a) Es ist mindestens die Firmware 2.92 nötig. Erst die bekommt den richtigen Filter hin.
b) Ich hab mein Home-Assistant Script verfeinert.

Aber hier jetzt alle Schritte.

1. Das HA-Script.

Code: Alles auswählen

alias: MQTT Niro Soc Abfrage
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.niro_status_mqtt
    to: online
condition: []
action:
  - repeat:
      sequence:
        - condition: state
          entity_id: sensor.niro_status_mqtt
          state: online
        - service: mqtt.publish
          data:
            qos: 0
            retain: false
            topic: wican/meineID/can/tx
            payload: >-
              {"bus":"0","type":"tx","frame":[{"id":2020,"dlc":8,"rtr":false,"extd":false,"data":[3,34,1,1,170,170,170,170]}]}
        - delay:
            hours: 0
            minutes: 0
            seconds: 0
            milliseconds: 200
        - service: mqtt.publish
          data:
            qos: 0
            retain: false
            topic: wican/meineID/can/tx
            payload: >-
              {"bus":"0","type":"tx","frame":[{"id":2020,"dlc":8,"rtr":false,"extd":false,"data":[48,0,10,170,170,170,170,170]}]}
        - delay:
            hours: 0
            minutes: 1
            seconds: 0
            milliseconds: 0
      until:
        - condition: state
          entity_id: sensor.niro_status_mqtt
          state: offline
mode: single

Ich prüfe also den MQTT-Chanel Status vom Wican, und sobald er sich auf "online" ändert, läuft das Script so lange bis er wieder "offline" wird.
Dann darf ich in den tx-Channel vom Wican
{"bus":"0","type":"tx","frame":[{"id":2020,"dlc":8,"rtr":false,"extd":false,"data":[3,34,1,1,170,170,170,170]}]}
{"bus":"0","type":"tx","frame":[{"id":2020,"dlc":8,"rtr":false,"extd":false,"data":[48,0,10,170,170,170,170,170]}]}

Die beiden Frames schicken. Darauf Antwortet mir der Kia mit den Frames 33-40 der ID 2028.

{"bus":"0","type":"rx","ts":20657,"frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[33,255,86,16,118,1,74,3]}]}
{"bus":"0","type":"rx","ts":20667,"frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[34,254,231,14,19,15,14,15]}]}
{"bus":"0","type":"rx","ts":20677,"frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[35,14,15,15,0,0,13,183]}]}
{"bus":"0","type":"rx","ts":20687,"frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[36,20,183,69,0,0,131,0]}]}
{"bus":"0","type":"rx","ts":20697,"frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[37,3,113,198,0,3,108,15]}]}
{"bus":"0","type":"rx","ts":20707,"frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[38,0,1,67,226,0,1,55]}]}
{"bus":"0","type":"rx","ts":20717,"frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[39,181,0,110,216,254,9,1]}]}
{"bus":"0","type":"rx","ts":20727,"frame":[{"id":2028,"dlc":8,"rtr":false,"extd":false,"data":[40,104,0,0,0,0,3,232]}]}


Ich brauche aber nur den Frame33 das 2. Bit. Dort ist vom Kia der SOC kodiert. Beim UP war es ja Wert/2.55. Beim Kia ist es Wert/2, hier also 86/2
Ich kann das aber mit meinem Sensor im HA nicht aussortieren. Also muss man im Wican einen Filter setzen.
Der sieht so aus:
Screenshot 2024-02-23 at 00-23-42 WiCAN.png
Screenshot 2024-02-23 at 00-23-42 WiCAN.png (11.36 KiB) 415 mal betrachtet
Dort kann man auch schon die Berechnungsformel (V/2) einsetzen, so dass man das nicht nachträglich im HA machen muss. Auch kompliziertere Formeln wie Bit1/255 + Bit2/10 sind möglich.

Und erst jetzt bekomme ich anstatt der 7 Frames nur noch diesen einen Wert und kann den als Sensor in HA eintragen.
Der Sensor sieht dann folgendermaßen aus:

Code: Alles auswählen


    - name: "Niro SOC MQTT"
      state_topic: "wican/meineid/can/rx"
      value_template: "{{ value_json.BMS_SOC|float(0) }}"
      icon: mdi:battery
      unit_of_measurement: "%"
      
 
Sollte ich mehrere Bits aus dem 7 Frames brauchen, kann ich mir mehrere Filter anlegen. Kia kodiert da das halbe BMS drinne.

Naja. Es geht "jubel".

Screenshot 2024-02-23 at 00-29-19 Autos – Home Assistant.png
Screenshot 2024-02-23 at 00-29-19 Autos – Home Assistant.png (11.27 KiB) 413 mal betrachtet
Und jetzt schaue ich mal, wie ich das an EVCC übergebe.

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

Benutzeravatar
read
Vielleicht geht die Frage zu weit, aber kann der wican auch Befehle senden? Heizung/Klima an via obd? Ladestart/stop? Sitzheizung an/aus? Akkuheizung an/aus? V2L an/aus?

Ein Wert wäre auch toll…und zwar Akkutemperatur. Ich finde im ev6 die Info über den Zustand miserabel. Da fährste zum HPC im Frühling und im Display steht für gefühlte Ewigkeiten 40kW wo auch 238 kW stehen könnten. Trotz 10 min Preheat… bald fahr ich gleich zum 22 kW DC Lader bei Elli.
LEAF 75000 km <15 kWh Rest Akku-Schäm Dich Nissan....Hand-Made egolf Dresden...Ahk liegt bereit...EV6 FailICCU=noch 0 AWD LR AHK WPnutzlos…Citroen AMI Getriebedefekt 1300km-nie wieder Stellantis = Citroen D:Km=6500

Re: SOC über OBD per WLAN auslesen um Wallbox zu steuern

koaschten
  • Beiträge: 1255
  • Registriert: Di 21. Jan 2020, 16:25
  • Wohnort: NW von HH
  • Hat sich bedankt: 282 Mal
  • Danke erhalten: 501 Mal
read
@HisN Das kann EVCC doch selbst über die KIA Api? https://docs.evcc.io/docs/devices/vehicles#kia-bluelink

Ansonsten müsstest du ein "Custom" Auto anlegen, wo du halt als SOC Sensor den MQTT Sensor einbindest. Wie in https://docs.evcc.io/docs/guides/faq beschrieben.
EV6 GT
Anzeige
AntwortenAntworten

Zurück zu „Private Lade-Infrastruktur“

Gehe zu Profile
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag