From 01b25f15bf31c4b64883a8b261f108e994cb5bc9 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Fri, 28 Aug 2026 21:12:35 +0200 Subject: [PATCH] fix(ignore): update zigbee-herdsman-converters to 26.100.0 (#32960) --- lib/extension/availability.ts | 3 +++ lib/extension/publish.ts | 5 +++++ package.json | 2 +- pnpm-lock.yaml | 25 +++++-------------------- test/extensions/bridge.test.ts | 22 ++++++++++++++++++++++ test/extensions/homeassistant.test.ts | 5 ++++- test/mocks/zigbeeHerdsman.ts | 1 + 7 files changed, 41 insertions(+), 22 deletions(-) diff --git a/lib/extension/availability.ts b/lib/extension/availability.ts index 71f066daf..62c759a0e 100644 --- a/lib/extension/availability.ts +++ b/lib/extension/availability.ts @@ -331,6 +331,9 @@ export default class Availability extends Extension { options, state, device: device.zh, + /* v8 ignore start */ + deviceExposesChanged: (): void => this.eventBus.emitExposesAndDevicesChanged(device), + /* v8 ignore stop */ /* v8 ignore next */ publish: (payload: KeyValue) => this.publishEntityState(device, payload), }; diff --git a/lib/extension/publish.ts b/lib/extension/publish.ts index d6b814e19..733c61783 100644 --- a/lib/extension/publish.ts +++ b/lib/extension/publish.ts @@ -224,6 +224,11 @@ export default class Publish extends Extension { state: entityState, membersState, mapped: definition, + /* v8 ignore start */ + deviceExposesChanged: (): void => { + if (re instanceof Device) this.eventBus.emitExposesAndDevicesChanged(re); + }, + /* v8 ignore stop */ /* v8 ignore next */ publish: (payload: KeyValue) => this.publishEntityState(re, payload), }; diff --git a/package.json b/package.json index e854c1a6d..0f27cbadb 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "winston-transport": "^4.9.0", "ws": "^8.21.3", "zigbee-herdsman": "10.9.1", - "zigbee-herdsman-converters": "26.99.0", + "zigbee-herdsman-converters": "26.100.0", "zigbee2mqtt-frontend": "0.9.21", "zigbee2mqtt-windfront": "2.14.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 13217862d..adedd26b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,8 +60,8 @@ importers: specifier: 10.9.1 version: 10.9.1 zigbee-herdsman-converters: - specifier: 26.99.0 - version: 26.99.0 + specifier: 26.100.0 + version: 26.100.0 zigbee2mqtt-frontend: specifier: 0.9.21 version: 0.9.21 @@ -154,28 +154,24 @@ packages: engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - libc: [musl] '@biomejs/cli-linux-arm64@2.5.3': resolution: {integrity: sha512-ksx1KWeyYW18ILL04msF/J4ZBtBDN33znYK8Z/aNv/vlBVxL9/g3mGP+omgHJKy4+KWbK87vcmmpmurfNjSgiA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - libc: [glibc] '@biomejs/cli-linux-x64-musl@2.5.3': resolution: {integrity: sha512-O/yU9YKRUiHhmcjF2f38PSjseVk3G4VLWYc0G2HWpzdBVREV6G8IGWIVEFf7MFPfWIzNUIvPsEjeAZQIOgnLcQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - libc: [musl] '@biomejs/cli-linux-x64@2.5.3': resolution: {integrity: sha512-yMkJtilsgvILDcVkh187aVLTb64xYsrxYajx5kym+r1ULkO5HUOfu9AYKLGQbOVLwJtT2utNw7hhFNg+17mUYA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - libc: [glibc] '@biomejs/cli-win32-arm64@2.5.3': resolution: {integrity: sha512-cX5z+GYwRcqEok0AH3KSfQGgqYd0Nomfp6Fbe1uiTtELE38hdH2k842wQ9wLNaF/JJ7r4rjJQ4VR+ce+fRmQbw==} @@ -416,67 +412,56 @@ packages: resolution: {integrity: sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.44.0': resolution: {integrity: sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.44.0': resolution: {integrity: sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.44.0': resolution: {integrity: sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loongarch64-gnu@4.44.0': resolution: {integrity: sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': resolution: {integrity: sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.44.0': resolution: {integrity: sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.44.0': resolution: {integrity: sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==} cpu: [riscv64] os: [linux] - libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.44.0': resolution: {integrity: sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.44.0': resolution: {integrity: sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.44.0': resolution: {integrity: sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.44.0': resolution: {integrity: sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==} @@ -1407,8 +1392,8 @@ packages: utf-8-validate: optional: true - zigbee-herdsman-converters@26.99.0: - resolution: {integrity: sha512-UoVP0FLjKB5oNX+WjwrfyiFbXKyz79fLmIYQaHEgfY9QHwv2l4BGbX8RvqBeENiXkfvdjLNUrrE6biWBkzVx4Q==} + zigbee-herdsman-converters@26.100.0: + resolution: {integrity: sha512-gCI0KXcMyAqmT+4idxZxAg/uxnAwcg/8u0lVJyosBHY/CoGspyVqbRAmdMj1S1UVQmceqIu/95jyXjUScwD70A==} engines: {node: '>=20.15.0'} zigbee-herdsman@10.9.1: @@ -2590,7 +2575,7 @@ snapshots: ws@8.21.3: {} - zigbee-herdsman-converters@26.99.0: + zigbee-herdsman-converters@26.100.0: dependencies: iconv-lite: 0.7.3 semver: 7.8.5 diff --git a/test/extensions/bridge.test.ts b/test/extensions/bridge.test.ts index 120ff586b..750af651f 100644 --- a/test/extensions/bridge.test.ts +++ b/test/extensions/bridge.test.ts @@ -1183,6 +1183,17 @@ describe("Extension: Bridge", () => { property: "power_outage_count", type: "numeric", }, + { + access: 2, + category: "config", + description: + "Initiate device identification. This device is asleep by default.You may need to wake it up first before sending the identify command.", + label: "Identify", + name: "identify", + property: "identify", + type: "enum", + values: ["identify"], + }, { access: 1, category: "diagnostic", @@ -1217,6 +1228,17 @@ describe("Extension: Bridge", () => { type: "numeric", value_step: 0.1, }, + { + access: 2, + description: + "Sets the duration of the identification procedure in seconds (i.e., how long the device would flash).The value ranges from 1 to 30 seconds (default: 3).", + label: "Identify timeout", + name: "identify_timeout", + property: "identify_timeout", + type: "numeric", + value_max: 30, + value_min: 1, + }, ], supports_ota: false, vendor: "Aqara", diff --git a/test/extensions/homeassistant.test.ts b/test/extensions/homeassistant.test.ts index 0da2bc18a..44443680e 100644 --- a/test/extensions/homeassistant.test.ts +++ b/test/extensions/homeassistant.test.ts @@ -2411,7 +2411,7 @@ describe("Extension: HomeAssistant", () => { it("Should discover trigger when action is published", async () => { const discovered = mockMQTTPublishAsync.mock.calls.filter((c) => c[0].includes("0x0017880104e45520")).map((c) => c[0]); - expect(discovered.length).toBe(5); + expect(discovered.length).toBe(6); mockMQTTPublishAsync.mockClear(); @@ -2448,6 +2448,7 @@ describe("Extension: HomeAssistant", () => { stringify({ action: "single", battery: null, + identify: null, linkquality: null, voltage: null, power_outage_count: null, @@ -3363,6 +3364,7 @@ describe("Extension: HomeAssistant", () => { expect(JSON.parse(mockMQTTPublishAsync.mock.calls[0][1])).toStrictEqual({ action: "single", battery: null, + identify: null, linkquality: null, voltage: null, power_outage_count: null, @@ -3373,6 +3375,7 @@ describe("Extension: HomeAssistant", () => { expect(JSON.parse(mockMQTTPublishAsync.mock.calls[1][1])).toStrictEqual({ action: "", battery: null, + identify: null, linkquality: null, voltage: null, power_outage_count: null, diff --git a/test/mocks/zigbeeHerdsman.ts b/test/mocks/zigbeeHerdsman.ts index 1aab01027..134e2dfda 100644 --- a/test/mocks/zigbeeHerdsman.ts +++ b/test/mocks/zigbeeHerdsman.ts @@ -34,6 +34,7 @@ const CLUSTERS = { lightingColorCtrl: Zcl.Clusters.lightingColorCtrl.ID, closuresWindowCovering: Zcl.Clusters.closuresWindowCovering.ID, hvacThermostat: Zcl.Clusters.hvacThermostat.ID, + hvacFanCtrl: Zcl.Clusters.hvacFanCtrl.ID, msIlluminanceMeasurement: Zcl.Clusters.msIlluminanceMeasurement.ID, msTemperatureMeasurement: Zcl.Clusters.msTemperatureMeasurement.ID, msRelativeHumidity: Zcl.Clusters.msRelativeHumidity.ID,