From 964d59e0c390715a03a567f74a7c0a4cb4274a5f Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Tue, 17 Feb 2026 04:02:31 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E5=90=8E=E9=9D=A2?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20level=20=E4=BB=A5=E5=8F=8A=E9=A2=9C?= =?UTF-8?q?=E8=89=B2=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 车型后面增加 level 以及颜色显示 --- custom_components/wuling/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/custom_components/wuling/__init__.py b/custom_components/wuling/__init__.py index 2641f5b..761757b 100644 --- a/custom_components/wuling/__init__.py +++ b/custom_components/wuling/__init__.py @@ -388,7 +388,9 @@ def vin_sort(self): def model(self): name = self.car_info.get('carTypeName', '') model = self.car_info.get('model', '') - return f'{name} {model}'.strip() + level = self.car_info.get('level', '') + colorName = self.car_info.get('colorName', '') + return f'{name} {model} {level} {colorName}'.strip() async def update_from_service(self, call: ServiceCall): data = call.data @@ -612,4 +614,4 @@ def update(self): @callback def _handle_coordinator_update(self) -> None: - self.update() \ No newline at end of file + self.update() From 12dca88ba12bc57a2d5f0e92ee2441ac1a8793ba Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Tue, 17 Feb 2026 11:42:10 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B9=B3=E5=9D=87?= =?UTF-8?q?=E9=80=9F=E5=BA=A6=E4=BC=A0=E6=84=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加平均速度传感器 --- custom_components/wuling/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/custom_components/wuling/__init__.py b/custom_components/wuling/__init__.py index 761757b..a4e93aa 100644 --- a/custom_components/wuling/__init__.py +++ b/custom_components/wuling/__init__.py @@ -23,6 +23,7 @@ UnitOfElectricCurrent, UnitOfTime, UnitOfPower, + UnitOfSpeed, ) from homeassistant.config_entries import ConfigEntry from homeassistant.helpers.entity import DeviceInfo @@ -171,6 +172,12 @@ def __init__(self, hass: HomeAssistant, entry: ConfigEntry): 'device_class': SensorDeviceClass.DISTANCE, 'unit_of_measurement': UnitOfLength.KILOMETERS, }), + NumberSensorConv('veh_Spd_AvgDrvn', prop='carStatus.vehSpdAvgDrvn').with_option({ + 'icon': 'mdi:speedometer', + 'state_class': SensorStateClass.MEASUREMENT, + 'device_class':SensorDeviceClass.SPEED, + 'unit_of_measurement': UnitOfSpeed.KILOMETERS_PER_HOUR, + }), NumberSensorConv('oil_level', prop='carStatus.leftFuel').with_option({ 'icon': 'mdi:water-percent', 'state_class': SensorStateClass.MEASUREMENT, From 7f0e7839aedbda47a227e5101e2b8cd06d907786 Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Tue, 17 Feb 2026 11:46:09 +0800 Subject: [PATCH 03/10] =?UTF-8?q?Add=20=E5=B9=B3=E5=9D=87=E8=BD=A6?= =?UTF-8?q?=E9=80=9F=20translation=20to=20en.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom_components/wuling/translations/en.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/custom_components/wuling/translations/en.json b/custom_components/wuling/translations/en.json index 7380c2d..bcd53cf 100644 --- a/custom_components/wuling/translations/en.json +++ b/custom_components/wuling/translations/en.json @@ -42,6 +42,10 @@ "total_mileage": { "name": "总里程" }, + "veh_Spd_AvgDrvn": { + "name": "平均车速", + "unit": "km/h" + }, "left_mileage": { "name": "纯电续航" }, From a39d6ef0d78033b04002fa8365efa5738aea782c Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Tue, 17 Feb 2026 11:51:03 +0800 Subject: [PATCH 04/10] =?UTF-8?q?Add=20=E7=94=B5=E6=B1=A0=E5=8D=95?= =?UTF-8?q?=E4=BD=93=E6=9C=80=E9=AB=98=E6=9C=80=E4=BD=8E=E6=B8=A9=E5=BA=A6?= =?UTF-8?q?=20translations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom_components/wuling/translations/en.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/custom_components/wuling/translations/en.json b/custom_components/wuling/translations/en.json index bcd53cf..5ab356e 100644 --- a/custom_components/wuling/translations/en.json +++ b/custom_components/wuling/translations/en.json @@ -65,6 +65,12 @@ "battery_temp": { "name": "电池温度" }, + "battery_temp_min": { + "name": "电池单体最低温度" + }, + "battery_temp_max": { + "name": "电池单体最高温度" + }, "battery_voltage": { "name": "电池电压" }, From fb07e7cac471c845558b5f2bbd06cfd0ce88a955 Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Tue, 17 Feb 2026 11:54:37 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=B5=E6=B1=A0?= =?UTF-8?q?=E5=8D=95=E4=BD=93=E6=9C=80=E9=AB=98=E6=9C=80=E4=BD=8E=E6=B8=A9?= =?UTF-8?q?=E5=BA=A6=E4=BC=A0=E6=84=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom_components/wuling/__init__.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/custom_components/wuling/__init__.py b/custom_components/wuling/__init__.py index a4e93aa..748a706 100644 --- a/custom_components/wuling/__init__.py +++ b/custom_components/wuling/__init__.py @@ -189,6 +189,18 @@ def __init__(self, hass: HomeAssistant, entry: ConfigEntry): 'entity_category': EntityCategory.DIAGNOSTIC, 'unit_of_measurement': UnitOfTemperature.CELSIUS, }), + NumberSensorConv('battery_temp_min', prop='carStatus.batMinTemp').with_option({ + 'state_class': SensorStateClass.MEASUREMENT, + 'device_class': SensorDeviceClass.TEMPERATURE, + 'entity_category': EntityCategory.DIAGNOSTIC, + 'unit_of_measurement': UnitOfTemperature.CELSIUS, + }), + NumberSensorConv('battery_temp_max', prop='carStatus.batMaxTemp').with_option({ + 'state_class': SensorStateClass.MEASUREMENT, + 'device_class': SensorDeviceClass.TEMPERATURE, + 'entity_category': EntityCategory.DIAGNOSTIC, + 'unit_of_measurement': UnitOfTemperature.CELSIUS, + }), NumberSensorConv('battery_voltage', prop='carStatus.voltage').with_option({ 'state_class': SensorStateClass.MEASUREMENT, 'device_class': SensorDeviceClass.VOLTAGE, From 1ddc20c3c283f2fa740f67d1e5928d1ef6c61644 Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Fri, 20 Feb 2026 02:17:24 +0800 Subject: [PATCH 06/10] =?UTF-8?q?Add=20=E9=80=86=E5=8F=98=E5=99=A8?= =?UTF-8?q?=E6=B8=A9=E5=BA=A6=20options?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原来invActTemp写成空调温度没有修改,不知道是不是其他车型是空调温度。 --- custom_components/wuling/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/custom_components/wuling/__init__.py b/custom_components/wuling/__init__.py index 748a706..8751529 100644 --- a/custom_components/wuling/__init__.py +++ b/custom_components/wuling/__init__.py @@ -201,6 +201,12 @@ def __init__(self, hass: HomeAssistant, entry: ConfigEntry): 'entity_category': EntityCategory.DIAGNOSTIC, 'unit_of_measurement': UnitOfTemperature.CELSIUS, }), + NumberSensorConv('invActTemp', prop='carStatus.invActTemp').with_option({ + 'state_class': SensorStateClass.MEASUREMENT, + 'device_class': SensorDeviceClass.TEMPERATURE, + 'entity_category': EntityCategory.DIAGNOSTIC, + 'unit_of_measurement': UnitOfTemperature.CELSIUS, + }), NumberSensorConv('battery_voltage', prop='carStatus.voltage').with_option({ 'state_class': SensorStateClass.MEASUREMENT, 'device_class': SensorDeviceClass.VOLTAGE, From 7bedf25bc361213951de6c678a0c0c98f2b4f710 Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Fri, 20 Feb 2026 02:19:46 +0800 Subject: [PATCH 07/10] =?UTF-8?q?Add=20=E5=85=85=E7=94=B5=E6=9C=BA?= =?UTF-8?q?=E6=B8=A9=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom_components/wuling/__init__.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/custom_components/wuling/__init__.py b/custom_components/wuling/__init__.py index 8751529..829d93f 100644 --- a/custom_components/wuling/__init__.py +++ b/custom_components/wuling/__init__.py @@ -207,6 +207,18 @@ def __init__(self, hass: HomeAssistant, entry: ConfigEntry): 'entity_category': EntityCategory.DIAGNOSTIC, 'unit_of_measurement': UnitOfTemperature.CELSIUS, }), + NumberSensorConv('cdj_temp', prop='carStatus.cdjTemp').with_option({ + 'state_class': SensorStateClass.MEASUREMENT, + 'device_class': SensorDeviceClass.TEMPERATURE, + 'entity_category': EntityCategory.DIAGNOSTIC, + 'unit_of_measurement': UnitOfTemperature.CELSIUS, + }), + NumberSensorConv('obc_temp', prop='carStatus.obcTemp').with_option({ + 'state_class': SensorStateClass.MEASUREMENT, + 'device_class': SensorDeviceClass.TEMPERATURE, + 'entity_category': EntityCategory.DIAGNOSTIC, + 'unit_of_measurement': UnitOfTemperature.CELSIUS, + }), NumberSensorConv('battery_voltage', prop='carStatus.voltage').with_option({ 'state_class': SensorStateClass.MEASUREMENT, 'device_class': SensorDeviceClass.VOLTAGE, From 9aba97dc84ca4a10f78fd6ecf0209a5848b11105 Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Fri, 20 Feb 2026 02:26:01 +0800 Subject: [PATCH 08/10] Add translations for inverter and charger temperatures --- custom_components/wuling/translations/en.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/custom_components/wuling/translations/en.json b/custom_components/wuling/translations/en.json index 5ab356e..0054eaf 100644 --- a/custom_components/wuling/translations/en.json +++ b/custom_components/wuling/translations/en.json @@ -71,6 +71,15 @@ "battery_temp_max": { "name": "电池单体最高温度" }, + "invActTemp": { + "name": "逆变器温度" + }, + "obc_temp": { + "name": "交流充电机温度" + }, + "cdj_temp": { + "name": "充电机插口温度" + }, "battery_voltage": { "name": "电池电压" }, From 5c551e79a30b8e42181ce1a7d074e4162cff2d89 Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Mon, 23 Feb 2026 02:18:26 +0800 Subject: [PATCH 09/10] Add battery state of health sensor configuration --- custom_components/wuling/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/custom_components/wuling/__init__.py b/custom_components/wuling/__init__.py index 829d93f..97bba89 100644 --- a/custom_components/wuling/__init__.py +++ b/custom_components/wuling/__init__.py @@ -231,6 +231,12 @@ def __init__(self, hass: HomeAssistant, entry: ConfigEntry): 'entity_category': EntityCategory.DIAGNOSTIC, 'unit_of_measurement': PERCENTAGE, }), + NumberSensorConv('battery_SOH', prop='carStatus.batSOH').with_option({ + 'icon': 'mdi:battery-heart', + 'state_class': SensorStateClass.MEASUREMENT, + 'entity_category': EntityCategory.DIAGNOSTIC, + 'unit_of_measurement': PERCENTAGE, + }), SensorConv('battery_status', prop='carStatus.batteryStatus').with_option({ 'icon': 'mdi:battery-unknown', }), From cb5cce849a71de56591893f8023e01a23c7afed9 Mon Sep 17 00:00:00 2001 From: sbweiwei Date: Mon, 23 Feb 2026 02:20:41 +0800 Subject: [PATCH 10/10] Add battery SOH translation to English JSON --- custom_components/wuling/translations/en.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/custom_components/wuling/translations/en.json b/custom_components/wuling/translations/en.json index 0054eaf..754e0c2 100644 --- a/custom_components/wuling/translations/en.json +++ b/custom_components/wuling/translations/en.json @@ -86,6 +86,9 @@ "battery_health": { "name": "电池健康" }, + "battery_SOH": { + "name": "电池SOH" + }, "battery_status": { "name": "电池状态" },