fix: refine meter serial number mapping and data topic handling in JackeryHome sensor

- Updated meter serial number mapping logic to explicitly handle "grid_import" and "grid_export" sensor IDs.
- Simplified data topic assignment by removing unnecessary conditional checks.
This commit is contained in:
不求圣剑
2025-11-18 15:18:56 +08:00
parent 679fc4bd77
commit 9f331f9654
2 changed files with 34 additions and 2 deletions

View File

@@ -207,8 +207,10 @@ class JackeryHomeSensor(SensorEntity):
self._data_task = None
self._device_sn = "" # 设备序列号(从 LWT 消息中获取)
# 获取 meter_sn对于功率传感器使用对应的 _power 键
if sensor_id in ["grid_import", "grid_export"]:
if sensor_id == "grid_import":
self._meter_sn = METER_SN_MAP.get("grid_import_power", 0)
elif sensor_id == "grid_export":
self._meter_sn = METER_SN_MAP.get("grid_export_power", 0)
elif sensor_id in ["battery_charge", "battery_discharge"]:
self._meter_sn = METER_SN_MAP.get("battery_charge_power", 0)
else:
@@ -441,7 +443,7 @@ class JackeryHomeSensor(SensorEntity):
request_data = self._construct_data_get_request()
# 发送数据获取请求
topic = f"{self._data_get_topic}" if self._device_sn else self._data_get_topic
topic = self._data_get_topic
await ha_mqtt.async_publish(
self.hass,
topic,