fix: Home Assistant: fix hw_version and sw_version not being a string (#33404)

Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
This commit is contained in:
Robert DrakeandKoen Kanters authored and GitHub committed 2026-10-20 17:37:44 +02:00
1 parent 08eea01db5
commit 68ebe7815b
3 files changed
+59 -2

No files matched your search

+7 -2
View File
@@ -2177,8 +2177,13 @@ export class HomeAssistant extends Extension {
payload.model = entity.definition.description;
payload.model_id = entity.definition.model;
payload.manufacturer = entity.definition.vendor;
payload.sw_version = entity.zh.softwareBuildID;
payload.hw_version = entity.zh.hardwareVersion;
if (entity.zh.softwareBuildID != null) {
payload.sw_version = entity.zh.softwareBuildID;
}
if (entity.zh.hardwareVersion != null) {
payload.hw_version = String(entity.zh.hardwareVersion);
}
payload.configuration_url = `${url}/#/device/${urlEntityPostfix}${entity.ieeeAddr}/info`;
} else if (entity.isGroup()) {
payload.model = "Group";
+48
View File
@@ -471,6 +471,7 @@ describe("Extension: HomeAssistant", () => {
model: "Element classic (A19)",
model_id: "E11-G13",
name: "bulb_enddevice",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
name: null,
@@ -531,6 +532,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -559,6 +561,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -586,6 +589,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -614,6 +618,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -643,6 +648,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -665,6 +671,7 @@ describe("Extension: HomeAssistant", () => {
model: "Smart wall switch (no neutral, double rocker)",
model_id: "QBKG03LM",
name: "wall_switch_double",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
name: "Left",
@@ -692,6 +699,7 @@ describe("Extension: HomeAssistant", () => {
model: "Smart wall switch (no neutral, double rocker)",
model_id: "QBKG03LM",
name: "wall_switch_double",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
name: "Right",
@@ -724,6 +732,7 @@ describe("Extension: HomeAssistant", () => {
model: "TRADFRI bulb E26/E27, white spectrum, globe, opal, 980 lm",
model_id: "LED1545G12",
name: "bulb",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
effect: true,
@@ -750,6 +759,7 @@ describe("Extension: HomeAssistant", () => {
model: "Wireless mini switch",
model_id: "WXKG11LM",
name: "button",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
event_types: ["single", "double", "triple", "quadruple", "hold", "release"],
@@ -825,6 +835,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -843,6 +854,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor_renamed",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -896,6 +908,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -923,6 +936,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -950,6 +964,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -1034,6 +1049,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "custom model",
model_id: "custom id",
manufacturer: "Not from Aqara",
@@ -1080,6 +1096,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "Weather Sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -1108,6 +1125,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "Weather Sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -1151,6 +1169,7 @@ describe("Extension: HomeAssistant", () => {
model: "Smart wall switch (no neutral, single rocker)",
model_id: "QBKG04LM",
name: "my_switch",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
name: "my_light_name_override",
@@ -1225,6 +1244,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45548"],
name: "fan",
sw_version: version,
model: "Universal wink enabled white ceiling fan premier remote control",
model_id: "99432",
manufacturer: "Hampton Bay",
@@ -1264,6 +1284,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45549"],
name: "siren",
sw_version: version,
model: "Smart siren",
model_id: "HS2WD-E",
manufacturer: "Heiman",
@@ -1297,6 +1318,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x00124b00cfcf3298"],
name: "fanbee",
sw_version: version,
model: "Fan with valve",
model_id: "FanBee",
manufacturer: "Lorenz Brun",
@@ -1334,6 +1356,7 @@ describe("Extension: HomeAssistant", () => {
model: "Radiator valve with thermostat",
model_id: "TS0601_thermostat",
name: "TS0601_thermostat",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
preset_mode_command_topic: "zigbee2mqtt/TS0601_thermostat/set/preset",
@@ -1379,6 +1402,7 @@ describe("Extension: HomeAssistant", () => {
model: "Smart heating thermostat",
model_id: "1TST-EU",
name: "thermostat",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
entity_category: "diagnostic",
@@ -1415,6 +1439,7 @@ describe("Extension: HomeAssistant", () => {
model_id: "BTH-RA",
name: "bosch_radiator",
sw_version: "3.05.09",
hw_version: "1",
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
icon: "mdi:radiator",
@@ -1450,6 +1475,7 @@ describe("Extension: HomeAssistant", () => {
model_id: "BTH-RA",
name: "bosch_radiator",
sw_version: "3.05.09",
hw_version: "1",
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
max_temp: "30",
@@ -1493,6 +1519,7 @@ describe("Extension: HomeAssistant", () => {
model: "Automatically generated definition",
model_id: "notSupportedModelID",
name: "0x0017880104e45518",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
device_class: "temperature",
@@ -1533,6 +1560,7 @@ describe("Extension: HomeAssistant", () => {
model: "Automatically generated definition",
model_id: "notSupportedModelID",
name: "0x0017880104e45518",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
name: "my_number_name",
@@ -1594,6 +1622,7 @@ describe("Extension: HomeAssistant", () => {
model_id: "BTH-RA",
name: "bosch_radiator",
sw_version: "3.05.09",
hw_version: "1",
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
max_temp: "30",
@@ -1664,6 +1693,7 @@ describe("Extension: HomeAssistant", () => {
model: "Room thermostat II 230V",
model_id: "BTH-RM230Z",
name: "bosch_rm230z",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
max_temp: "30",
@@ -1707,6 +1737,7 @@ describe("Extension: HomeAssistant", () => {
model: "Room thermostat II 230V",
model_id: "BTH-RM230Z",
name: "bosch_rm230z",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
device_class: "temperature",
@@ -1807,6 +1838,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45551"],
name: "smart vent",
sw_version: version,
model: "Smart vent",
model_id: "SV01",
manufacturer: "Keen Home",
@@ -1829,6 +1861,7 @@ describe("Extension: HomeAssistant", () => {
model: "zigfred plus smart in-wall switch",
model_id: "ZFP-1A-CH",
name: "zigfred_plus",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
name: "L6",
@@ -1873,6 +1906,7 @@ describe("Extension: HomeAssistant", () => {
model: "Dual smart curtain switch",
model_id: "TS130F_GIRIER_DUAL",
name: "0xa4c138018cf95021",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
name: "Left",
@@ -1906,6 +1940,7 @@ describe("Extension: HomeAssistant", () => {
model: "Dual smart curtain switch",
model_id: "TS130F_GIRIER_DUAL",
name: "0xa4c138018cf95021",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
name: "Right",
@@ -2074,6 +2109,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -2241,6 +2277,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -2408,6 +2445,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -2478,6 +2516,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor_renamed",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -2505,6 +2544,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor_renamed",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -2612,6 +2652,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor_renamed",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -2636,6 +2677,7 @@ describe("Extension: HomeAssistant", () => {
model: "TRADFRI bulb E26/E27, white spectrum, globe, opal, 980 lm",
model_id: "LED1545G12",
name: "bulb",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
device_class: "firmware",
@@ -2679,6 +2721,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45520"],
name: "button",
sw_version: version,
model: "Wireless mini switch",
model_id: "WXKG11LM",
manufacturer: "Aqara",
@@ -2790,6 +2833,7 @@ describe("Extension: HomeAssistant", () => {
model: "Wireless mini switch",
model_id: "WXKG11LM",
name: "button",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
event_types: ["single", "double", "triple", "quadruple", "hold", "release"],
@@ -3109,6 +3153,7 @@ describe("Extension: HomeAssistant", () => {
model: "TRADFRI bulb E26/E27, white spectrum, globe, opal, 980 lm",
model_id: "LED1545G12",
name: "bulb",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
effect: true,
@@ -3148,6 +3193,7 @@ describe("Extension: HomeAssistant", () => {
model: "TRADFRI bulb E26/E27, white spectrum, globe, opal, 980 lm",
model_id: "LED1545G12",
name: "bulb",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
enabled_by_default: false,
@@ -3194,6 +3240,7 @@ describe("Extension: HomeAssistant", () => {
device: {
identifiers: ["zigbee2mqtt_0x0017880104e45522"],
name: "weather_sensor",
sw_version: version,
model: "Temperature and humidity sensor",
model_id: "WSDCGQ11LM",
manufacturer: "Aqara",
@@ -3558,6 +3605,7 @@ describe("Extension: HomeAssistant", () => {
model: "Light/shutter control unit II",
model_id: "BMCT-SLZ",
name: "0x18fc26000000cafe",
sw_version: version,
via_device: "zigbee2mqtt_bridge_0x00124b00120144ae",
},
entity_category: "config",
+4
View File
@@ -243,6 +243,7 @@ export class Device {
endpoints: Endpoint[];
powerSource: string | undefined;
softwareBuildID: string | undefined;
hardwareVersion: number | undefined;
interviewState: InterviewState;
modelID: string | undefined;
interview: Mock;
@@ -304,6 +305,7 @@ export class Device {
dateCode: string | undefined = undefined,
softwareBuildID: string | undefined = undefined,
customClusters = {},
hardwareVersion: number | undefined = undefined,
) {
this.type = type;
this.ieeeAddr = ieeeAddr;
@@ -313,6 +315,7 @@ export class Device {
this.endpoints = endpoints;
this.powerSource = powerSource;
this.softwareBuildID = softwareBuildID;
this.hardwareVersion = hardwareVersion;
this.interviewState = interviewState;
this.modelID = modelID;
this.interview = vi.fn();
@@ -612,6 +615,7 @@ export const devices = {
"20231122",
"3.05.09",
CUSTOM_CLUSTER_BTHRA,
1,
),
bulb_color: bulb_color,
bulb_2: bulb_2,