diff --git a/package.json b/package.json index e109215c374d6..b8f63343a07e4 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "dependencies": { "iconv-lite": "^0.7.2", "semver": "^7.7.4", - "zigbee-herdsman": "^10.0.3" + "zigbee-herdsman": "^10.0.4" }, "exports": { ".": "./dist/index.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 74f523ba732d8..2fdea737b6962 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^7.7.4 version: 7.7.4 zigbee-herdsman: - specifier: ^10.0.3 - version: 10.0.3 + specifier: ^10.0.4 + version: 10.0.4 devDependencies: '@biomejs/biome': specifier: ^2.4.8 @@ -1052,8 +1052,8 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - zigbee-herdsman@10.0.3: - resolution: {integrity: sha512-GhtyzlwShFYcwzCZI51wEBKL6exkrFIXK03H7SKqoKGnQfng6buBVIa/R6nq1kozdF5mD8zuWzClSg68w/ERIQ==} + zigbee-herdsman@10.0.4: + resolution: {integrity: sha512-RC8bJx3eKbuvI1d6FCzIQBXqCtNebAkOmbBozArmJ1kMXJamL3vK4JEkFU0f0JG2t4F0MN7VfJJR/6QJwxlpag==} zigbee-on-host@0.2.4: resolution: {integrity: sha512-NIG6CWp+Yfn7PjqEIRvenHqpwT1U7rSkyimnFOUIFpnmxQOJKrmcwWDfn6WjbU/YIYYWSQPlj+g13icu1xwlyg==} @@ -1933,7 +1933,7 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.2 - zigbee-herdsman@10.0.3: + zigbee-herdsman@10.0.4: dependencies: '@date-fns/tz': 1.4.1 '@serialport/bindings-cpp': 13.0.1 diff --git a/src/devices/tuya.ts b/src/devices/tuya.ts index ad7be8720b0fd..03557092247b0 100644 --- a/src/devices/tuya.ts +++ b/src/devices/tuya.ts @@ -753,7 +753,7 @@ const tzLocal = { case "temperature_threshold": { const state = meta.state.temperature_breaker; const buf = Buffer.from([5, utils.getFromLookup(state, onOffLookup), 0, utils.toNumber(value, "temperature_threshold")]); - await entity.command("manuSpecificTuya3", "setOptions2", { + await entity.command<"manuSpecificTuya3", "setOptions2", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions2", { data: buf, }); break; @@ -762,7 +762,7 @@ const tzLocal = { const threshold = meta.state.temperature_threshold; const number = utils.toNumber(threshold, "temperature_threshold"); const buf = Buffer.from([5, utils.getFromLookup(value, onOffLookup), 0, number]); - await entity.command("manuSpecificTuya3", "setOptions2", { + await entity.command<"manuSpecificTuya3", "setOptions2", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions2", { data: buf, }); break; @@ -770,7 +770,7 @@ const tzLocal = { case "power_threshold": { const state = meta.state.power_breaker; const buf = Buffer.from([7, utils.getFromLookup(state, onOffLookup), 0, utils.toNumber(value, "power_breaker")]); - await entity.command("manuSpecificTuya3", "setOptions2", { + await entity.command<"manuSpecificTuya3", "setOptions2", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions2", { data: buf, }); break; @@ -779,7 +779,7 @@ const tzLocal = { const threshold = meta.state.power_threshold; const number = utils.toNumber(threshold, "power_breaker"); const buf = Buffer.from([7, utils.getFromLookup(value, onOffLookup), 0, number]); - await entity.command("manuSpecificTuya3", "setOptions2", { + await entity.command<"manuSpecificTuya3", "setOptions2", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions2", { data: buf, }); break; @@ -787,7 +787,7 @@ const tzLocal = { case "over_current_threshold": { const state = meta.state.over_current_breaker; const buf = Buffer.from([1, utils.getFromLookup(state, onOffLookup), 0, utils.toNumber(value, "over_current_threshold")]); - await entity.command("manuSpecificTuya3", "setOptions3", { + await entity.command<"manuSpecificTuya3", "setOptions3", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions3", { data: buf, }); break; @@ -796,7 +796,7 @@ const tzLocal = { const threshold = meta.state.over_current_threshold; const number = utils.toNumber(threshold, "over_current_threshold"); const buf = Buffer.from([1, utils.getFromLookup(value, onOffLookup), 0, number]); - await entity.command("manuSpecificTuya3", "setOptions3", { + await entity.command<"manuSpecificTuya3", "setOptions3", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions3", { data: buf, }); break; @@ -807,7 +807,7 @@ const tzLocal = { buf.writeUInt8(3, 0); buf.writeUInt8(utils.getFromLookup(state, onOffLookup), 1); buf.writeUInt16BE(utils.toNumber(value, "over_voltage_threshold"), 2); - await entity.command("manuSpecificTuya3", "setOptions3", { + await entity.command<"manuSpecificTuya3", "setOptions3", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions3", { data: buf, }); break; @@ -816,7 +816,7 @@ const tzLocal = { const threshold = meta.state.over_voltage_threshold; const number = utils.toNumber(threshold, "over_voltage_threshold"); const buf = Buffer.from([3, utils.getFromLookup(value, onOffLookup), 0, number]); - await entity.command("manuSpecificTuya3", "setOptions3", { + await entity.command<"manuSpecificTuya3", "setOptions3", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions3", { data: buf, }); break; @@ -824,7 +824,7 @@ const tzLocal = { case "under_voltage_threshold": { const state = meta.state.under_voltage_breaker; const buf = Buffer.from([4, utils.getFromLookup(state, onOffLookup), 0, utils.toNumber(value, "under_voltage_threshold")]); - await entity.command("manuSpecificTuya3", "setOptions3", { + await entity.command<"manuSpecificTuya3", "setOptions3", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions3", { data: buf, }); break; @@ -833,7 +833,7 @@ const tzLocal = { const threshold = meta.state.under_voltage_threshold; const number = utils.toNumber(threshold, "under_voltage_breaker"); const buf = Buffer.from([4, utils.getFromLookup(value, onOffLookup), 0, number]); - await entity.command("manuSpecificTuya3", "setOptions3", { + await entity.command<"manuSpecificTuya3", "setOptions3", tuya.ManuSpecificTuya3>("manuSpecificTuya3", "setOptions3", { data: buf, }); break; @@ -1104,25 +1104,25 @@ const fzLocal = { type: ["attributeReport", "readResponse"], convert: (model, msg, publish, options, meta) => { const result: KeyValueAny = {}; - if (msg.data.alarm_temperature_max !== undefined) { - result.alarm_temperature_max = msg.data.alarm_temperature_max; + if (msg.data.alarmTemperatureMax !== undefined) { + result.alarm_temperature_max = msg.data.alarmTemperatureMax; } - if (msg.data.alarm_temperature_min !== undefined) { - result.alarm_temperature_min = msg.data.alarm_temperature_min; + if (msg.data.alarmTemperatureMin !== undefined) { + result.alarm_temperature_min = msg.data.alarmTemperatureMin; } - if (msg.data.alarm_humidity_max !== undefined) { - result.alarm_humidity_max = msg.data.alarm_humidity_max; + if (msg.data.alarmHumidityMax !== undefined) { + result.alarm_humidity_max = msg.data.alarmHumidityMax; } - if (msg.data.alarm_humidity_min !== undefined) { - result.alarm_humidity_min = msg.data.alarm_humidity_min; + if (msg.data.alarmHumidityMin !== undefined) { + result.alarm_humidity_min = msg.data.alarmHumidityMin; } - if (msg.data.alarm_humidity !== undefined) { + if (msg.data.alarmHumidity !== undefined) { const sensorAlarmLookup: KeyValueAny = {"0": "below_min_humdity", "1": "over_humidity", "2": "off"}; - result.alarm_humidity = sensorAlarmLookup[msg.data.alarm_humidity]; + result.alarm_humidity = sensorAlarmLookup[msg.data.alarmHumidity]; } - if (msg.data.alarm_temperature !== undefined) { + if (msg.data.alarmTemperature !== undefined) { const sensorAlarmLookup: KeyValueAny = {"0": "below_min_temperature", "1": "over_temperature", "2": "off"}; - result.alarm_temperature = sensorAlarmLookup[msg.data.alarm_temperature]; + result.alarm_temperature = sensorAlarmLookup[msg.data.alarmTemperature]; } return result; }, diff --git a/src/lib/tuya.ts b/src/lib/tuya.ts index d9a3c973b625d..98a25101f4dd7 100644 --- a/src/lib/tuya.ts +++ b/src/lib/tuya.ts @@ -3314,7 +3314,7 @@ const tuyaModernExtend = { return {exposes: [exp], fromZigbee: newFromZigbee, isModernExtend: true}; }, tuyaSwitchMode: (args?: Partial>) => - modernExtend.enumLookup({ + modernExtend.enumLookup<"manuSpecificTuya3", ManuSpecificTuya3>({ name: "switch_mode", lookup: {switch: 0, scene: 1}, cluster: "manuSpecificTuya3",