zigbee-herdsman-converters 23.39.0 → 23.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/converters/fromZigbee.js +11 -11
- package/dist/converters/fromZigbee.js.map +1 -1
- package/dist/converters/toZigbee.js +48 -48
- package/dist/converters/toZigbee.js.map +1 -1
- package/dist/devices/bitron.js +2 -2
- package/dist/devices/bitron.js.map +1 -1
- package/dist/devices/bosch.js +1 -1
- package/dist/devices/bosch.js.map +1 -1
- package/dist/devices/gmmts.js +6 -6
- package/dist/devices/gmmts.js.map +1 -1
- package/dist/devices/iluminize.d.ts.map +1 -1
- package/dist/devices/iluminize.js +0 -23
- package/dist/devices/iluminize.js.map +1 -1
- package/dist/devices/index.d.ts.map +1 -1
- package/dist/devices/index.js +2 -0
- package/dist/devices/index.js.map +1 -1
- package/dist/devices/innr.d.ts.map +1 -1
- package/dist/devices/innr.js +2 -0
- package/dist/devices/innr.js.map +1 -1
- package/dist/devices/inovelli.js +13 -13
- package/dist/devices/inovelli.js.map +1 -1
- package/dist/devices/kmpcil.js +2 -2
- package/dist/devices/kmpcil.js.map +1 -1
- package/dist/devices/lixee.js +3 -3
- package/dist/devices/lixee.js.map +1 -1
- package/dist/devices/perenio.js +4 -4
- package/dist/devices/perenio.js.map +1 -1
- package/dist/devices/siglis.js +1 -1
- package/dist/devices/siglis.js.map +1 -1
- package/dist/devices/slacky_diy.js +3 -3
- package/dist/devices/slacky_diy.js.map +1 -1
- package/dist/devices/stello.d.ts +3 -0
- package/dist/devices/stello.d.ts.map +1 -0
- package/dist/devices/stello.js +106 -0
- package/dist/devices/stello.js.map +1 -0
- package/dist/devices/sunricher.d.ts.map +1 -1
- package/dist/devices/sunricher.js +83 -17
- package/dist/devices/sunricher.js.map +1 -1
- package/dist/devices/superled.js +1 -1
- package/dist/devices/superled.js.map +1 -1
- package/dist/devices/tuya.js +3 -3
- package/dist/devices/tuya.js.map +1 -1
- package/dist/devices/ubisys.js +4 -4
- package/dist/devices/ubisys.js.map +1 -1
- package/dist/devices/xyzroe.js +3 -3
- package/dist/devices/xyzroe.js.map +1 -1
- package/dist/lib/color.js +16 -16
- package/dist/lib/color.js.map +1 -1
- package/dist/lib/ikea.js +1 -1
- package/dist/lib/ikea.js.map +1 -1
- package/dist/lib/legacy.js +5 -5
- package/dist/lib/legacy.js.map +1 -1
- package/dist/lib/light.js +4 -4
- package/dist/lib/light.js.map +1 -1
- package/dist/lib/lumi.d.ts.map +1 -1
- package/dist/lib/lumi.js +14 -16
- package/dist/lib/lumi.js.map +1 -1
- package/dist/lib/modernExtend.js +5 -5
- package/dist/lib/modernExtend.js.map +1 -1
- package/dist/lib/philips.js +6 -6
- package/dist/lib/philips.js.map +1 -1
- package/dist/lib/tuya.js +4 -4
- package/dist/lib/tuya.js.map +1 -1
- package/dist/lib/utils.js +5 -5
- package/dist/lib/utils.js.map +1 -1
- package/dist/models-index.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [23.40.0](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v23.39.0...v23.40.0) (2025-05-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **add:** STLO-34 ([#9296](https://github.com/Koenkk/zigbee-herdsman-converters/issues/9296)) ([9465284](https://github.com/Koenkk/zigbee-herdsman-converters/commit/94652841016d90af50bc30c8fef0b4b1a7a04378))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* Fix various null checks ([#9284](https://github.com/Koenkk/zigbee-herdsman-converters/issues/9284)) ([a7f2316](https://github.com/Koenkk/zigbee-herdsman-converters/commit/a7f23169d662b478d8cdab9e9ae530051b8b98c2))
|
|
14
|
+
* HK-SL-DIM-AU-R-A support externalSwitchType ([#9294](https://github.com/Koenkk/zigbee-herdsman-converters/issues/9294)) ([650784a](https://github.com/Koenkk/zigbee-herdsman-converters/commit/650784af9120252abad971d6511618efbe1139db))
|
|
15
|
+
* Innr FL 142 C and FL 122 C: support OTA ([#9298](https://github.com/Koenkk/zigbee-herdsman-converters/issues/9298)) ([72e0d84](https://github.com/Koenkk/zigbee-herdsman-converters/commit/72e0d8495ca378d085ad0cb49c73f8a94a815937))
|
|
16
|
+
* Superled 70012: disable effect ([#9295](https://github.com/Koenkk/zigbee-herdsman-converters/issues/9295)) ([cff5677](https://github.com/Koenkk/zigbee-herdsman-converters/commit/cff567703e6745f7eba100e6faf8c3acbf5f592d))
|
|
17
|
+
* Update Sunricher 4 channel remotes ([#9293](https://github.com/Koenkk/zigbee-herdsman-converters/issues/9293)) ([080c12d](https://github.com/Koenkk/zigbee-herdsman-converters/commit/080c12d060183c2a50dc850506e354f3bbb2ab78))
|
|
18
|
+
|
|
3
19
|
## [23.39.0](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v23.38.0...v23.39.0) (2025-05-06)
|
|
4
20
|
|
|
5
21
|
|
|
@@ -558,7 +558,7 @@ exports.occupancy_with_timeout = {
|
|
|
558
558
|
}
|
|
559
559
|
// The occupancy sensor only sends a message when motion detected.
|
|
560
560
|
// Therefore we need to publish the no_motion detected by ourselves.
|
|
561
|
-
const timeout = options
|
|
561
|
+
const timeout = options?.occupancy_timeout != null ? Number(options.occupancy_timeout) : 90;
|
|
562
562
|
// Stop existing timers because motion is detected and set a new one.
|
|
563
563
|
clearTimeout(globalStore.getValue(msg.endpoint, "occupancy_timer", null));
|
|
564
564
|
if (timeout !== 0) {
|
|
@@ -643,7 +643,7 @@ exports.level_config = {
|
|
|
643
643
|
// when 1, CurrentLevel can be changed while the device is off.
|
|
644
644
|
// bit 1: CoupleColorTempToLevel - when 1, changes to level also change color temperature.
|
|
645
645
|
// (What this means is not defined, but it's most likely to be "dim to warm".)
|
|
646
|
-
if (msg.data.options !== undefined
|
|
646
|
+
if (msg.data.options !== undefined) {
|
|
647
647
|
result[level_config].execute_if_off = !!(Number(msg.data.options) & 1);
|
|
648
648
|
}
|
|
649
649
|
if (Object.keys(result[level_config]).length > 0) {
|
|
@@ -996,7 +996,7 @@ exports.ias_vibration_alarm_1_with_timeout = {
|
|
|
996
996
|
options: [exposes.options.vibration_timeout()],
|
|
997
997
|
convert: (model, msg, publish, options, meta) => {
|
|
998
998
|
const zoneStatus = msg.data.zonestatus;
|
|
999
|
-
const timeout = options
|
|
999
|
+
const timeout = options?.vibration_timeout != null ? Number(options.vibration_timeout) : 90;
|
|
1000
1000
|
// Stop existing timers because vibration is detected and set a new one.
|
|
1001
1001
|
// biome-ignore lint/complexity/noForEach: ignored using `--suppress`
|
|
1002
1002
|
globalStore.getValue(msg.endpoint, "timers", []).forEach((t) => clearTimeout(t));
|
|
@@ -1186,7 +1186,7 @@ exports.ias_occupancy_alarm_1_with_timeout = {
|
|
|
1186
1186
|
options: [exposes.options.occupancy_timeout()],
|
|
1187
1187
|
convert: (model, msg, publish, options, meta) => {
|
|
1188
1188
|
const zoneStatus = msg.data.zonestatus;
|
|
1189
|
-
const timeout = options
|
|
1189
|
+
const timeout = options?.occupancy_timeout != null ? Number(options.occupancy_timeout) : 90;
|
|
1190
1190
|
clearTimeout(globalStore.getValue(msg.endpoint, "timer"));
|
|
1191
1191
|
if (timeout !== 0) {
|
|
1192
1192
|
const timer = setTimeout(() => publish({ occupancy: false }), timeout * 1000);
|
|
@@ -1362,8 +1362,8 @@ exports.command_move = {
|
|
|
1362
1362
|
(0, utils_1.addActionGroup)(payload, msg, model);
|
|
1363
1363
|
if (options.simulated_brightness) {
|
|
1364
1364
|
const opts = options.simulated_brightness;
|
|
1365
|
-
const deltaOpts = typeof opts === "object" && opts.delta
|
|
1366
|
-
const intervalOpts = typeof opts === "object" && opts.interval
|
|
1365
|
+
const deltaOpts = typeof opts === "object" && opts.delta != null ? opts.delta : 20;
|
|
1366
|
+
const intervalOpts = typeof opts === "object" && opts.interval != null ? opts.interval : 200;
|
|
1367
1367
|
globalStore.putValue(msg.endpoint, "simulated_brightness_direction", direction);
|
|
1368
1368
|
if (globalStore.getValue(msg.endpoint, "simulated_brightness_timer") === undefined) {
|
|
1369
1369
|
const timer = setInterval(() => {
|
|
@@ -1805,7 +1805,7 @@ exports.checkin_presence = {
|
|
|
1805
1805
|
type: ["commandCheckin"],
|
|
1806
1806
|
options: [exposes.options.presence_timeout()],
|
|
1807
1807
|
convert: (model, msg, publish, options, meta) => {
|
|
1808
|
-
const useOptionsTimeout = options
|
|
1808
|
+
const useOptionsTimeout = options?.presence_timeout != null;
|
|
1809
1809
|
const timeout = useOptionsTimeout ? Number(options.presence_timeout) : 100; // 100 seconds by default
|
|
1810
1810
|
// Stop existing timer because presence is detected and set a new one.
|
|
1811
1811
|
clearTimeout(globalStore.getValue(msg.endpoint, "timer"));
|
|
@@ -3844,7 +3844,7 @@ exports.ZMCSW032D_cover_position = {
|
|
|
3844
3844
|
const timeCoverSetMiddle = 60;
|
|
3845
3845
|
// https://github.com/Koenkk/zigbee-herdsman-converters/pull/1336
|
|
3846
3846
|
// Need to add time_close and time_open in your configuration.yaml after friendly_name (and set your time)
|
|
3847
|
-
if (options.time_close
|
|
3847
|
+
if (options.time_close != null && options.time_open != null) {
|
|
3848
3848
|
if (!globalStore.hasValue(msg.endpoint, "position")) {
|
|
3849
3849
|
globalStore.putValue(msg.endpoint, "position", { lastPreviousAction: -1, CurrentPosition: -1, since: false });
|
|
3850
3850
|
}
|
|
@@ -3915,7 +3915,7 @@ exports.PGC410EU_presence = {
|
|
|
3915
3915
|
type: "commandArrivalSensorNotify",
|
|
3916
3916
|
options: [exposes.options.presence_timeout()],
|
|
3917
3917
|
convert: (model, msg, publish, options, meta) => {
|
|
3918
|
-
const useOptionsTimeout = options
|
|
3918
|
+
const useOptionsTimeout = options?.presence_timeout != null;
|
|
3919
3919
|
const timeout = useOptionsTimeout ? Number(options.presence_timeout) : 100; // 100 seconds by default
|
|
3920
3920
|
// Stop existing timer because motion is detected and set a new one.
|
|
3921
3921
|
clearTimeout(globalStore.getValue(msg.endpoint, "timer"));
|
|
@@ -3930,7 +3930,7 @@ exports.STS_PRS_251_presence = {
|
|
|
3930
3930
|
type: ["attributeReport", "readResponse"],
|
|
3931
3931
|
options: [exposes.options.presence_timeout()],
|
|
3932
3932
|
convert: (model, msg, publish, options, meta) => {
|
|
3933
|
-
const useOptionsTimeout = options
|
|
3933
|
+
const useOptionsTimeout = options?.presence_timeout != null;
|
|
3934
3934
|
const timeout = useOptionsTimeout ? Number(options.presence_timeout) : 100; // 100 seconds by default
|
|
3935
3935
|
// Stop existing timer because motion is detected and set a new one.
|
|
3936
3936
|
clearTimeout(globalStore.getValue(msg.endpoint, "timer"));
|
|
@@ -4366,7 +4366,7 @@ exports.hue_dimmer_switch = {
|
|
|
4366
4366
|
// simulated brightness
|
|
4367
4367
|
if (options.simulated_brightness && (button === "down" || button === "up") && type !== "release") {
|
|
4368
4368
|
const opts = options.simulated_brightness;
|
|
4369
|
-
const deltaOpts = typeof opts === "object" && opts.delta
|
|
4369
|
+
const deltaOpts = typeof opts === "object" && opts.delta != null ? opts.delta : 35;
|
|
4370
4370
|
const delta = button === "up" ? deltaOpts : deltaOpts * -1;
|
|
4371
4371
|
const brightness = globalStore.getValue(msg.endpoint, "brightness", 255) + delta;
|
|
4372
4372
|
payload.brightness = (0, utils_1.numberWithinRange)(brightness, 0, 255);
|