Prerequisites:
Unlocked BYD Infotainment (able to Sideload)
DIplus app Installed (迪加服务 )
Car connected to WiFi, and reachable by HA
Add a Sensor:
platform: rest
resource: http://BYD_CAR_IP:8988/api/getVal?name=%E7%94%B5%E9%87%8F%E7%99%BE%E5%88%86%E6%AF%94&status=true
device_class: battery
name: BYD_CAR_BATTERY
value_template: “{{ value_json.val | round(2) }}”
state_class: measurement
unit_of_measurement: “%”
You need to replace BYD_CAR_IP with your CAR address
After restart, HA will now see the battery level as Sensor
For additional sensors, here the link to the API
1 Like
kounelii
(kounelii)
November 9, 2025, 7:27pm
2
Sounds much, but can you please write details as to how to add the sensor to ha?
In configuration yaml? Somewhere else? From gui is possible?
Thanks
@Lestat75 are you in or outside China? I know there are some limitations on DIplus outside China… does this work?
rsoares
(Raphael)
December 18, 2025, 10:29am
4
Funciona no Brasil, BYD SEAL DLINK 3.0
iorifly
(Renato Barbosa)
January 21, 2026, 3:50pm
6
I have a question. When will Home Assistant (HA) read the battery level? Only when it’s on Wi-Fi? Only when it’s turned on? I really want to have access to the battery level to do some automations…
Here is an example for a BYD Seal, I have removed some irrelevant sensors, some things are probably still not right, needs some work, but this should get you started.
Change the IP to match your car’s IP, just make sure you set a static IP for the car in your router.
Paste into your “sensor:” section in your configuration.yaml
sensor:
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=电源状态&status=true
device_class: battery
name: Power State
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=车速&status=true
device_class: speed
name: Speed
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "km/h"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=里程&status=true
device_class: distance
name: Mileage
value_template: "{{ value_json.val | float / 10}}"
state_class: measurement
unit_of_measurement: "km"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=刹车深度&status=true
device_class: enum
name: Brake Pedal
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "%"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=加速踏板深度&status=true
device_class: enum
name: Accelerator Pedal
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "%"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=前电机转速&status=true
device_class: speed
name: Front Motor Speed
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "rpm"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=后电机转速&status=true
device_class: speed
name: Rear Motor Speed
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "rpm"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=发动机功率&status=true
device_class: power
name: Engine Power
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "kW"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=前电机扭矩&status=true
device_class: torque
name: Front Motor Torque
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "Nm"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=充电枪插枪状态&status=true
name: Charger Insertion Status
value_template: "{{ value_json.val | round(2) }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=百公里电耗&status=true
device_class: energy
name: 100 km of Energy Consumption
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "kWh/100 km"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=最高电池温度&status=true
device_class: temperature
name: Maximum Battery Temp
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "°C"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=平均电池温度&status=true
device_class: temperature
name: Average Battery Temp
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "°C"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=最低电池温度&status=true
device_class: temperature
name: Minimum Battery Temp
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "°C"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=最高电池电压&status=true
device_class: voltage
name: Maximum Battery Voltage
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "V"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=最低电池电压&status=true
device_class: voltage
name: Minimum Battery Voltage
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "V"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=上次雨刮时间&status=true
device_class: timestamp
name: Rained Last.
value_template: "{{ as_timestamp(value_json.val) | timestamp_local() }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=天气&status=true
name: Weather
value_template: "{{ value_json.val | round(2) }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=主驾驶安全带状态&status=true
name: Driver Seat Belt Status
value_template: "{{ value_json.val | round(2) }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=远程锁车状态&status=true
name: Lock Status
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=车内温度&status=true
device_class: temperature
name: Cabin Temp
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: "°C"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=车外温度&status=true
device_class: temperature
name: Outside Temp
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: "°C"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=主驾驶空调温度&status=true
device_class: temperature
name: Driver A/C Temp
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: "°C"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=温度单位&status=true
device_class: enum
name: Temperature Units
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=电池容量&status=true
device_class: energy_storage
name: Battery Capacity
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "kWh"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=方向盘转角&status=true
device_class: angle
name: Steering Wheel Angle
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement_angle
unit_of_measurement: "°"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=方向盘转速&status=true
device_class: speed
name: Steering Wheel Speed
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: "rpm"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=总电耗&status=true
device_class: energy
name: Total Energy Consumption
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: "kWh"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=电量百分比&status=true
device_class: battery
name: Battery State of Charge
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: "%"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=左后车窗打开百分比&status=true
device_class: percentage
name: Window Rear Left
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: "%"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=右后车窗打开百分比&status=true
device_class: percentage
name: Window Rear Right
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: "%"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=整车运行模式&status=true
name: Drive Mode
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=月&status=true
device_class: enum
name: Month
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=日&status=true
device_class: enum
name: Day
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=时&status=true
device_class: enum
name: Hour
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=分&status=true
device_class: enum
name: Minute
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=副驾安全带警告&status=true
device_class: enum
name: Driver's Seat Belt Warning
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=二排左安全带&status=true
device_class: enum
name: 2nd Row Left Seat Belt
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=二排右安全带&status=true
device_class: enum
name: 2nd Row Right Seat Belt
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=二排中安全带&status=true
device_class: enum
name: 2nd row Seat Belt Warning
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=空调状态&status=true
device_class: enum
name: A/C Powered
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=风量档位&status=true
device_class: enum
name: Fan Speed
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=空调循环方式&status=true
name: A/C Air Intake
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=空调出风模式&status=true
name: A/C Air Mode
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=主驾车门&status=true
name: Driver Door.
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=副驾车门&status=true
device_class: enum
name: Passenger door
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=左后车门&status=true
device_class: enum
name: Front Left Door.
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=右后车门&status=true
device_class: enum
name: Rear Right Door.
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=引擎盖&status=true
name: Frunk
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=后备箱门&status=true
name: Boot
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=油箱盖&status=true
name: Charging Hatch
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=自动驻车&status=true
name: Automated Parking
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=ACC巡航状态&status=true
name: ACC Status
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=左后接近告警&status=true
name: Close to the alarm.
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=右后接近告警&status=true
name: Right close to the alarm.
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=车道保持状态&status=true
name: Driveway remains in place
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=左后车门锁&status=true
name: Door Lock Rear Left
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=副驾车门锁&status=true
name: Door Lock Passenger
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=右后车门锁&status=true
name: Door Lock Rear Right
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=后备箱门锁&status=true
name: Door Lock Boot
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=左后儿童锁&status=true
name: Child Lock Rear Left
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=右后儿童锁&status=true
name: Child Lock Rear Right
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=小灯&status=true
name: Small Lights
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=近光灯&status=true
name: Low-Beams
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=远光灯&status=true
name: High-Beams
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=前雾灯&status=true
name: Parkers
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=后雾灯&status=true
name: Rear Fog Lights
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=脚照灯&status=true
name: Footlights
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=日行灯&status=true
name: Daylight
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=双闪&status=true
name: Double Flash
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=全景状态&status=true
name: Panorama state
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=配置UI版本&status=true
name: Configuring the UI version
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=哨兵状态&status=true
name: Sentry status
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=熄火录像配置开关&status=true
name: Turnout video configuration switch
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=熄火哨兵报警&status=true
name: Fireout sentry to the police
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=WIFI状态&status=true
name: State of WIFI
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=蓝牙状态&status=true
name: Bluetooth status
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=蓝牙信号强度&status=true
device_class: signal_strength
name: Bluetooth signal strength
value_template: "{{ value_json.val }}"
state_class: measurement
unit_of_measurement: "dBm"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=无线ADB开关&status=true
name: Wireless ADB switch
value_template: "{{ value_json.val }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=AI识别人可信度&status=true
device_class: enum
name: AI recognizes human credibility
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=AI识别车可信度&status=true
device_class: enum
name: AI recognizes the credibility of the car
value_template: "{{ value_json.val | round(2) }}"
state_class: measurement
unit_of_measurement: ""
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=上次哨兵触发时间&status=true
device_class: timestamp
name: Last Sentry trigger time
value_template: "{{ as_timestamp(value_json.val) | timestamp_local() }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=上次哨兵触发画面&status=true
name: Last Sentry trigger screen
value_template: "{{ value_json.val | round(2) }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=上次录像文件开始时间&status=true
device_class: timestamp
name: Last Video File Start Time
value_template: "{{ as_timestamp(value_json.val) | timestamp_local() }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=上次录像文件结束时间&status=true
device_class: timestamp
name: Last Video File End Time
value_template: "{{ as_timestamp(value_json.val) | timestamp_local() }}"
- platform: rest
resource: http://192.168.1.52:8988/api/getVal?name=上次录像路径&status=true
name: The Last Video Path.
value_template: "{{ value_json.val | round(2) }}"
State strings are in chinese, i think these can be translated by converting known states to set english names with dictionary template, something like this perhaps:
{% set wetter = {'sunny': 'Sonnig',
'windy': 'Windig',
'windy-variant': 'Stürmisch',
'clear-night': 'Klare Nacht',
'partlycloudy': 'Tw. bewölkt',
'cloudy': 'Bewölkt',
'overcast': 'Bedeckt',
'fog': 'Neblig',
'hail': 'Hagelig',
'lightning': 'Gewittrig',
'lightning-rainy': '?',
'pouring': 'Starkregen',
'rainy': 'Regnerisch',
'snowy-rainy': 'Schneeregen',
'snowy': 'Schnee'} %}
{% set bedingungen = trigger.to_state.state %}