(Big)TOM, MQTT und Homeassistant
- SaschaB
-
- Autor
- Fresh Boarder
-
- Beiträge: 12
- Dank erhalten: 27
ich bräuchte mal Hilfe beim Tom und der Integration in Homeassistant.
Ich will den SOC in Homeassistant einlesen, um ihn dann an EVCC weiter zu senden.
Dazu habe ich mir im HA in der configuration.yaml einen MQTT Sensor angelegt.
- unique_id: twizy
name: "Twizy SoC"
state_topic: "ToM/TopicJson"
unit_of_measurement: "%"
value_template: "{{ value_json.SOC }}"
qos: 0
Das ganze funktioniert grundsätzlich auch. Mein Ladegerät scheint wohl irgendwann getauscht worden zu sein, ich sehe alle 35 Minuten das der Wert aktualisiert wird, also ein Twizy Ladegerät der neueren Generation, was alle 40 Minuten die 12V Batterie nachlädt.
Der Inhalt des kompletten JSON Topic sieht dann als Beispiel so aus:
{ "XXX": "255", "SOC": "97.8", "SOH": "100", "B-T": "", "M-T": "", "Tun": "", "kWh": "5.9", "Amp": "-0", "RPM": "", "Nm ": "", "FW ": "", "C01": "4.11", "C02": "4.11", "C03": "4.11", "C04": "4.11", "C05": "4.11", "C06": "4.11", "C07": "4.11", "C08": "4.11", "C09": "4.11", "C10": "4.12", "C11": "4.12", "C12": "4.11", "C13": "4.11", "C14": "4.12", "Pac": "57.50", "T01": "25", "T02": "25", "T03": "24", "T04": "24", "T05": "24", "T06": "25", "T07": "25", "Reg": "", "CLK": "", "FLP": "", "220": "", "CSt": "", "tAY": "", "B12": "", "PN1": "", "PN2": "", "KmT": "0.0", "KmR": "", "KmH": "", "SeT": "", "tKT": "", "tKR": "", "tTM": "", "tKW": "", "t10": "", "t01": "", "tMN": "", "tKH": "", "kW ": "-0.02", "CEt": "", "CdK": "", "C-T": "30", "CKw": "", "Min": "", "T-T": "", "Acc": "", "AnX": "", "AnY": "", "AnZ": "" }
Wenn ich allerdings nun den Twizy an die Wallbox anschließe, und das TOM eingeschaltet ist, bekommt mein Sensor in Homeassistant keine aktuellen Werte mehr. Im MQTT Explorer auf dem PC, oder auch im Mosquitto im Homeassistant sehe ich aber, das die Werte vom TOM weiterhin korrekt gesendet werden. Als Beispiel sieht der Inhalt des Topics dann so aus:
{ "XXX": "255", "SOC": "68.3", "SOH": "100", "B-T": "34.29", "M-T": "", "Tun": "", "kWh": "4.1", "Amp": "32", "RPM": "", "Nm ": "", "FW ": "", "C01": "4.01", "C02": "3.99", "C03": "4.00", "C04": "4.00", "C05": "4.00", "C06": "4.00", "C07": "4.00", "C08": "4.00", "C09": "4.01", "C10": "4.01", "C11": "4.01", "C12": "4.00", "C13": "4.00", "C14": "4.01", "Pac": "56.00", "T01": "35", "T02": "34", "T03": "34", "T04": "34", "T05": "34", "T06": "34", "T07": "35", "Reg": "", "CLK": " ", "FLP": "0", "220": "1", "CSt": "1", "tAY": "", "B12": "13.81", "PN1": "1", "PN2": "0", "KmT": "18103.5", "KmR": "42", "KmH": "0.0", "SeT": "", "tKT": "", "tKR": "", "tTM": "", "tKW": "", "t10": "", "t01": "", "tMN": "", "tKH": "", "kW ": "2.05", "CEt": "59", "CdK": "0.1", "C-T": "43", "CKw": "2.05", "Min": " 270", "T-T": "41.65", "Acc": "-0.04", "AnX": "0.39", "AnY": "-0.17", "AnZ": "-45.59" }
Mein Sensor in Homeassistant bleibt aber weiterhin auf dem Wert der zuletzt übertragen wurde, bevor die Ladung gestartet wurde. Nachdem die Ladung beendet ist, bekomme ich den aktuellen Wert wieder, sobald das TOM beim Laden der 12V startet.
Ich sehe einfach nicht, wo der Fehler liegen soll! Die Struktur des Topics hat sich doch nicht geändert?
Habt ihr eine Idee?
Gruß Sascha
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- arg-was-weiss-denn-ich
-
- Fresh Boarder
-
- Beiträge: 49
- Dank erhalten: 46
Sone faellt mir nichts ein, sorry.
Twizy 80/85kkm 2013
ToDo List:
- Bremsen Hinten
- Handschuhfachschloss Riegel
- Frontmaske Befestigungen
- Motor -> Getriebe thingy
- Akkus warten auf die TC box

Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- SaschaB
-
- Autor
- Fresh Boarder
-
- Beiträge: 12
- Dank erhalten: 27
Aber das ist/war es nicht. Hab es schon mit und ohne versucht. Auch wenn ich das qos weglasse bleibt das Verhalten gleich
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Delvecchio
-
- Pro Boarder
-
- Fabio java
- Beiträge: 687
- Dank erhalten: 1142
I hope they will read this topic and give you some tips.
If you receive the payload with other app, it should be a problem of HA configuration.
ToM side, the code function which sends the payload during charging or driving is the same.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Delvecchio
-
- Pro Boarder
-
- Fabio java
- Beiträge: 687
- Dank erhalten: 1142
May be the second overflows.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ulli-et-Tom
-
- Platinum Boarder
-
- Beiträge: 2533
- Dank erhalten: 1839
Delvecchio schrieb: If I'm not wrong, Ulli-et-Tom and PriusTwizy already integrated their ToMs in Home assistant.
I hope they will read this topic and give you some tips.
Yes

Ich nutze allerdings das OVMS als Integartion.
Aktuell sieht es bei uns so aus:
Und hier der Code:
command_line :
- sensor:
scan_interval: 60
name: car_charging-twizylino
unique_id: "car_charging_twizyXXXXXX"
command: |-
username='XXXXXX'; password='XXXXXX'; vehicleid='XXXXXX'; ip='https://ovms.dexters-web.de:6869';\
c=$(curl -X GET -sc - "$ip/api/cookie?username=$username&password=$password" -o /dev/null);\
echo "${c}" | curl -X GET -sb - "$ip/api/status/$vehicleid"
value_template: "{{ value_json.chargestate }}"
json_attributes:
- soc
- soh
- vehicle12v_current
- chargepower
- chargekwh
- temperature_cabin
- temperature_battery
- charging
- charge_estimate
- chargeduration
- estimatedrange
- chargetype
- speed
- odometer
- sensor:
scan_interval: 60
name: charge_info_twizylino
unique_id: "charge_info_twizyXXXXX"
command: |-
username='XXXXXXX'; password='XXXXXX'; vehicleid='XXXXXXX'; ip='https://ovms.dexters-web.de:6869';\
c=$(curl -X GET -sc - "$ip/api/cookie?username=$username&password=$password" -o /dev/null);\
echo "${c}" | curl -X GET -sb - "$ip/api/charge/$vehicleid"
value_template: "{{ value_json.chargepower }}"
json_attributes:
- linevoltage
- battvoltage
- chargecurrent
- chargepower
- chargetype
- chargestate
- soc
- units
- idealrange
- estimatedrange
- mode
- chargelimit
- chargeduration
- chargeb4
- chargekwh
- chargesubstate
- chargetimermode
- chargestarttime
- chargetimerstale
- cac100
- soh
- charge_etr_full
- charge_etr_limit
- charge_limit_range
- charge_limit_soc
- cooldown_active
- cooldown_tbattery
- cooldown_timelimit
- charge_estimate
- charge_etr_range
- charge_etr_soc
- idealrange_max
- cp_dooropen
- pilotpresent
- charging
- caron
- temperature_pem
- temperature_motor
- temperature_battery
- temperature_charger
- temperature_ambient
- temperature_cabin
- carawake
- staletemps
- staleambient
- charging_12v
- vehicle12v
- vehicle12v_ref
- vehicle12v_current
- sensor:
scan_interval: 60
name: car_location-twizylino
unique_id: "car_location_twizyXXXXX"
command: |-
username='XXXXXX'; password='XXXXXXX'; vehicleid='XXXXXXX'; ip='https://ovms.dexters-web.de:6869';\
c=$(curl -X GET -sc - "$ip/api/cookie?username=$username&password=$password" -o /dev/null);\
echo "${c}" | curl -X GET -sb - "$ip/api/location/$vehicleid"
value_template: "{{ value_json.location }}"
json_attributes:
- altitude
- direction
- drivemode
- energyrecd
- energyused
- gpslock
- invefficiency
- invpower
- latitude
- longitude
- power
- speed
- stalegps
- tripmeter
LG Tom
Twizylino 08-2012 I ToM I OVMS V3 I V:145/70R13 I H:145/80R13 I Alu I TfL I Zusatzlager I 10,5kWh Akku
Twizy(Hummel) Cargo 08-2015 I ToM I OVMS V3 I V:145/70R13 I H:145/80R13 I Alu I TfLI Zusatzlager I 10,5kWh Akku
tcb-info[at]web.de
Threema: MJRBDTEE
RTT2022 Nr.18
RTT2025 Nr.?? (gab es Nummern?)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- arg-was-weiss-denn-ich
-
- Fresh Boarder
-
- Beiträge: 49
- Dank erhalten: 46

Since MQTT messages be up to 256MB I do not think it's a size issue
I'm assume you're using the HA MQTT Addon Mosquitto broker, it has logs, but I do not think you find anything there, because you said the MQTT Explorer shows the payload correctly.
Maybe in the HA logs? homeassistant.local:8123/config/logs ?
and this is just my OCD pls use the code tag to post code

nice:
- formated: code
like: yaml
Twizy 80/85kkm 2013
ToDo List:
- Bremsen Hinten
- Handschuhfachschloss Riegel
- Frontmaske Befestigungen
- Motor -> Getriebe thingy
- Akkus warten auf die TC box

Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- SaschaB
-
- Autor
- Fresh Boarder
-
- Beiträge: 12
- Dank erhalten: 27
Super, hab tatsächlich was in den homeassistant logs gefunden. Scheint was mit der Zeichenformatierung zu sein? Ich verstehe es nicht wirklich.
Can't decode payload b'{ "XXX": "255", "SOC": "100.0", "SOH": "100", "B-T": "27.57", "M-T": "", "Tun": "", "kWh": "6.0", "Amp": "1", "RPM": "", "Nm ": "", "FW ": "", "C01": "4.13", "C02": "4.12", "C03": "4.12", "C04": "4.12", "C05": "4.12", "C06": "4.12", "C07": "4.12", "C08": "4.13", "C09": "4.13", "C10": "4.14", "C11": "4.14", "C12": "4.13", "C13": "4.12", "C14": "4.14", "Pac": "57.70", "T01": "29", "T02": "28", "T03": "27", "T04": "27", "T05": "27", "T06": "27", "T07": "28", "Reg": "", "CLK": "\xb2\xe0", "FLP": "0", "220": "1", "CSt": "0", "tAY": "", "B12": "13.88", "PN1": "1", "PN2": "0", "KmT": "18130.3", "KmR": "255", "KmH": "0.0", "SeT": "", "tKT": "", "tKR": "", "tTM": "", "tKW": "", "t10": "", "t01": "", "tMN": "", "tKH": "", "kW ": "0.05", "CEt": "120", "CdK": "0.1", "C-T": "42", "CKw": "0.05", "Min": " 363", "T-T": "36.42", "Acc": "-0.06", "AnX": "0.29", "AnY": "-0.28", "AnZ": "-75.41" }' on ToM/TopicJson with encoding utf-8 (for <Job None HassJobType.Callback functools.partial(<bound method MqttEntity._message_callback of <entity sensor.twizy_soc=97.9>>, <bound method MqttSensor._state_message_received of <entity sensor.twizy_soc=97.9>>, {'_expired', '_attr_native_value', '_attr_last_reset'})>)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Delvecchio
-
- Pro Boarder
-
- Fabio java
- Beiträge: 687
- Dank erhalten: 1142
I don't like this!SaschaB schrieb: "CLK": "\xb2\xe0",
It shouldn't be in that way. I'll give a look to the code.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Delvecchio
-
- Pro Boarder
-
- Fabio java
- Beiträge: 687
- Dank erhalten: 1142
I simply forced CLK to be null each time, just to be sure this is the cause of the problem with HA.
Dieser Beitrag enthält einen Anhang.
Bitte anmelden (oder registrieren) um ihn zu sehen.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- SaschaB
-
- Autor
- Fresh Boarder
-
- Beiträge: 12
- Dank erhalten: 27
Great, Thanks! That was the problem. Now it work fine when charging
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Delvecchio
-
- Pro Boarder
-
- Fabio java
- Beiträge: 687
- Dank erhalten: 1142
Clock isn't available/updated during trickle charging.
I'll think about a better solution, but for now I keep this.
Can you check if in normal state (not trickle charging) the values following to CLK are valorized?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.