zigbee-herdsman-converters 25.74.0 → 25.76.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.
Files changed (43) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/converters/actions.d.ts +36 -0
  3. package/dist/converters/actions.d.ts.map +1 -0
  4. package/dist/converters/actions.js +132 -0
  5. package/dist/converters/actions.js.map +1 -0
  6. package/dist/devices/adeo.d.ts.map +1 -1
  7. package/dist/devices/adeo.js +14 -0
  8. package/dist/devices/adeo.js.map +1 -1
  9. package/dist/devices/custom_devices_diy.d.ts.map +1 -1
  10. package/dist/devices/custom_devices_diy.js +185 -2
  11. package/dist/devices/custom_devices_diy.js.map +1 -1
  12. package/dist/devices/hive.d.ts.map +1 -1
  13. package/dist/devices/hive.js +2 -1
  14. package/dist/devices/hive.js.map +1 -1
  15. package/dist/devices/innr.d.ts.map +1 -1
  16. package/dist/devices/innr.js +4 -2
  17. package/dist/devices/innr.js.map +1 -1
  18. package/dist/devices/perenio.js +1 -1
  19. package/dist/devices/perenio.js.map +1 -1
  20. package/dist/devices/philips.d.ts.map +1 -1
  21. package/dist/devices/philips.js +7 -0
  22. package/dist/devices/philips.js.map +1 -1
  23. package/dist/devices/qa.d.ts.map +1 -1
  24. package/dist/devices/qa.js +66 -0
  25. package/dist/devices/qa.js.map +1 -1
  26. package/dist/devices/sonoff.d.ts +6 -0
  27. package/dist/devices/sonoff.d.ts.map +1 -1
  28. package/dist/devices/sonoff.js +155 -3
  29. package/dist/devices/sonoff.js.map +1 -1
  30. package/dist/devices/third_reality.js +3 -3
  31. package/dist/devices/third_reality.js.map +1 -1
  32. package/dist/devices/tuya.d.ts.map +1 -1
  33. package/dist/devices/tuya.js +233 -9
  34. package/dist/devices/tuya.js.map +1 -1
  35. package/dist/devices/wirenboard.d.ts.map +1 -1
  36. package/dist/devices/wirenboard.js +13 -0
  37. package/dist/devices/wirenboard.js.map +1 -1
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +3 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/models-index.json +1 -1
  43. package/package.json +5 -5
@@ -1450,11 +1450,12 @@ exports.definitions = [
1450
1450
  description: "Two gang switch with colored backlight modes",
1451
1451
  extend: [tuya.modernExtend.tuyaBase({ dp: true })],
1452
1452
  exposes: [
1453
- e.switch().withDescription("All switches"),
1454
- e.switch().withEndpoint("l1"),
1455
- e.switch().withEndpoint("l2"),
1456
- e.binary("backlight_mode", ea.STATE_SET, "ON", "OFF").withDescription("Backlight mode"),
1457
- e.binary("indicator_mode", ea.STATE_SET, "ON", "OFF").withDescription("Indicator mode"),
1453
+ tuya.exposes.switch().withDescription("All switches"),
1454
+ tuya.exposes.switch().withEndpoint("l1"),
1455
+ tuya.exposes.switch().withEndpoint("l2"),
1456
+ e.binary("backlight_switch", ea.STATE_SET, "ON", "OFF").withDescription("Backlight master switch"),
1457
+ e.numeric("backlight", ea.STATE_SET).withValueMin(0).withValueMax(100).withUnit("%").withDescription("Backlight brightness percentage"),
1458
+ e.enum("indicator_mode", ea.STATE_SET, ["off", "on_off_status", "switch_position"]).withDescription("LED indicator mode"),
1458
1459
  e.power_on_behavior().withAccess(ea.STATE_SET),
1459
1460
  e.binary("child_lock", ea.STATE_SET, "ON", "OFF").withDescription("Child lock"),
1460
1461
  e
@@ -1475,9 +1476,186 @@ exports.definitions = [
1475
1476
  [7, "countdown_l1", tuya.valueConverter.countdown],
1476
1477
  [8, "countdown_l2", tuya.valueConverter.countdown],
1477
1478
  [14, "power_on_behavior", tuya.valueConverter.powerOnBehaviorEnum],
1478
- [15, "indicator_mode", tuya.valueConverter.onOff],
1479
- [16, "backlight_mode", tuya.valueConverter.onOff],
1479
+ [
1480
+ 15,
1481
+ "indicator_mode",
1482
+ tuya.valueConverterBasic.lookup({
1483
+ off: tuya.enum(0),
1484
+ on_off_status: tuya.enum(1),
1485
+ switch_position: tuya.enum(2),
1486
+ }),
1487
+ ],
1488
+ [16, "backlight_switch", tuya.valueConverter.onOff],
1489
+ [101, "child_lock", tuya.valueConverter.onOff],
1490
+ [102, "backlight", tuya.valueConverter.raw],
1491
+ [
1492
+ 103,
1493
+ "on_color",
1494
+ tuya.valueConverterBasic.lookup({
1495
+ red: tuya.enum(0),
1496
+ blue: tuya.enum(1),
1497
+ green: tuya.enum(2),
1498
+ white: tuya.enum(3),
1499
+ yellow: tuya.enum(4),
1500
+ magenta: tuya.enum(5),
1501
+ cyan: tuya.enum(6),
1502
+ warm_white: tuya.enum(7),
1503
+ warm_yellow: tuya.enum(8),
1504
+ }),
1505
+ ],
1506
+ [
1507
+ 104,
1508
+ "off_color",
1509
+ tuya.valueConverterBasic.lookup({
1510
+ red: tuya.enum(0),
1511
+ blue: tuya.enum(1),
1512
+ green: tuya.enum(2),
1513
+ white: tuya.enum(3),
1514
+ yellow: tuya.enum(4),
1515
+ magenta: tuya.enum(5),
1516
+ cyan: tuya.enum(6),
1517
+ warm_white: tuya.enum(7),
1518
+ warm_yellow: tuya.enum(8),
1519
+ }),
1520
+ ],
1521
+ ],
1522
+ },
1523
+ },
1524
+ {
1525
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE204_rkbxtclc"]),
1526
+ model: "TS0601_3gang_rkbxtclc",
1527
+ vendor: "Tuya",
1528
+ description: "Three gang smart switch with colored backlight modes",
1529
+ extend: [tuya.modernExtend.tuyaBase({ dp: true })],
1530
+ exposes: [
1531
+ tuya.exposes.switch().withDescription("All switches"),
1532
+ tuya.exposes.switch().withEndpoint("l1"),
1533
+ tuya.exposes.switch().withEndpoint("l2"),
1534
+ tuya.exposes.switch().withEndpoint("l3"),
1535
+ e.binary("backlight_switch", ea.STATE_SET, "ON", "OFF").withDescription("Backlight master switch"),
1536
+ e.numeric("backlight", ea.STATE_SET).withValueMin(0).withValueMax(100).withUnit("%").withDescription("Backlight brightness percentage"),
1537
+ e.enum("indicator_mode", ea.STATE_SET, ["off", "on_off_status", "switch_position"]).withDescription("LED indicator mode"),
1538
+ e.power_on_behavior().withAccess(ea.STATE_SET),
1539
+ e.binary("child_lock", ea.STATE_SET, "ON", "OFF").withDescription("Child lock"),
1540
+ e
1541
+ .enum("on_color", ea.STATE_SET, ["red", "blue", "green", "white", "yellow", "magenta", "cyan", "warm_white", "warm_yellow"])
1542
+ .withDescription("ON color"),
1543
+ e
1544
+ .enum("off_color", ea.STATE_SET, ["red", "blue", "green", "white", "yellow", "magenta", "cyan", "warm_white", "warm_yellow"])
1545
+ .withDescription("OFF color"),
1546
+ e.numeric("countdown_l1", ea.STATE_SET).withUnit("s").withDescription("Countdown for l1").withValueMin(0).withValueMax(86400),
1547
+ e.numeric("countdown_l2", ea.STATE_SET).withUnit("s").withDescription("Countdown for l2").withValueMin(0).withValueMax(86400),
1548
+ e.numeric("countdown_l3", ea.STATE_SET).withUnit("s").withDescription("Countdown for l3").withValueMin(0).withValueMax(86400),
1549
+ ],
1550
+ meta: {
1551
+ multiEndpoint: true,
1552
+ tuyaDatapoints: [
1553
+ [13, "state", tuya.valueConverter.onOff],
1554
+ [1, "state_l1", tuya.valueConverter.onOff],
1555
+ [2, "state_l2", tuya.valueConverter.onOff],
1556
+ [3, "state_l3", tuya.valueConverter.onOff],
1557
+ [7, "countdown_l1", tuya.valueConverter.countdown],
1558
+ [8, "countdown_l2", tuya.valueConverter.countdown],
1559
+ [9, "countdown_l3", tuya.valueConverter.countdown],
1560
+ [14, "power_on_behavior", tuya.valueConverter.powerOnBehaviorEnum],
1561
+ [
1562
+ 15,
1563
+ "indicator_mode",
1564
+ tuya.valueConverterBasic.lookup({
1565
+ off: tuya.enum(0),
1566
+ on_off_status: tuya.enum(1),
1567
+ switch_position: tuya.enum(2),
1568
+ }),
1569
+ ],
1570
+ [16, "backlight_switch", tuya.valueConverter.onOff],
1571
+ [101, "child_lock", tuya.valueConverter.onOff],
1572
+ [102, "backlight", tuya.valueConverter.raw],
1573
+ [
1574
+ 103,
1575
+ "on_color",
1576
+ tuya.valueConverterBasic.lookup({
1577
+ red: tuya.enum(0),
1578
+ blue: tuya.enum(1),
1579
+ green: tuya.enum(2),
1580
+ white: tuya.enum(3),
1581
+ yellow: tuya.enum(4),
1582
+ magenta: tuya.enum(5),
1583
+ cyan: tuya.enum(6),
1584
+ warm_white: tuya.enum(7),
1585
+ warm_yellow: tuya.enum(8),
1586
+ }),
1587
+ ],
1588
+ [
1589
+ 104,
1590
+ "off_color",
1591
+ tuya.valueConverterBasic.lookup({
1592
+ red: tuya.enum(0),
1593
+ blue: tuya.enum(1),
1594
+ green: tuya.enum(2),
1595
+ white: tuya.enum(3),
1596
+ yellow: tuya.enum(4),
1597
+ magenta: tuya.enum(5),
1598
+ cyan: tuya.enum(6),
1599
+ warm_white: tuya.enum(7),
1600
+ warm_yellow: tuya.enum(8),
1601
+ }),
1602
+ ],
1603
+ ],
1604
+ },
1605
+ },
1606
+ {
1607
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE204_7ytnacie"]),
1608
+ model: "TS0601_4gang_7ytnacie",
1609
+ vendor: "Tuya",
1610
+ description: "Four gang smart switch with colored backlight modes",
1611
+ extend: [tuya.modernExtend.tuyaBase({ dp: true })],
1612
+ exposes: [
1613
+ tuya.exposes.switch().withDescription("All switches"),
1614
+ tuya.exposes.switch().withEndpoint("l1"),
1615
+ tuya.exposes.switch().withEndpoint("l2"),
1616
+ tuya.exposes.switch().withEndpoint("l3"),
1617
+ tuya.exposes.switch().withEndpoint("l4"),
1618
+ e.binary("backlight_switch", ea.STATE_SET, "ON", "OFF").withDescription("Backlight master switch"),
1619
+ e.numeric("backlight", ea.STATE_SET).withValueMin(0).withValueMax(100).withUnit("%").withDescription("Backlight brightness percentage"),
1620
+ e.enum("indicator_mode", ea.STATE_SET, ["off", "on_off_status", "switch_position"]).withDescription("LED indicator mode"),
1621
+ e.power_on_behavior().withAccess(ea.STATE_SET),
1622
+ e.binary("child_lock", ea.STATE_SET, "ON", "OFF").withDescription("Child lock"),
1623
+ e
1624
+ .enum("on_color", ea.STATE_SET, ["red", "blue", "green", "white", "yellow", "magenta", "cyan", "warm_white", "warm_yellow"])
1625
+ .withDescription("ON color"),
1626
+ e
1627
+ .enum("off_color", ea.STATE_SET, ["red", "blue", "green", "white", "yellow", "magenta", "cyan", "warm_white", "warm_yellow"])
1628
+ .withDescription("OFF color"),
1629
+ e.numeric("countdown_l1", ea.STATE_SET).withUnit("s").withDescription("Countdown for l1").withValueMin(0).withValueMax(86400),
1630
+ e.numeric("countdown_l2", ea.STATE_SET).withUnit("s").withDescription("Countdown for l2").withValueMin(0).withValueMax(86400),
1631
+ e.numeric("countdown_l3", ea.STATE_SET).withUnit("s").withDescription("Countdown for l3").withValueMin(0).withValueMax(86400),
1632
+ e.numeric("countdown_l4", ea.STATE_SET).withUnit("s").withDescription("Countdown for l4").withValueMin(0).withValueMax(86400),
1633
+ ],
1634
+ meta: {
1635
+ multiEndpoint: true,
1636
+ tuyaDatapoints: [
1637
+ [13, "state", tuya.valueConverter.onOff],
1638
+ [1, "state_l1", tuya.valueConverter.onOff],
1639
+ [2, "state_l2", tuya.valueConverter.onOff],
1640
+ [3, "state_l3", tuya.valueConverter.onOff],
1641
+ [4, "state_l4", tuya.valueConverter.onOff],
1642
+ [7, "countdown_l1", tuya.valueConverter.countdown],
1643
+ [8, "countdown_l2", tuya.valueConverter.countdown],
1644
+ [9, "countdown_l3", tuya.valueConverter.countdown],
1645
+ [10, "countdown_l4", tuya.valueConverter.countdown],
1646
+ [14, "power_on_behavior", tuya.valueConverter.powerOnBehaviorEnum],
1647
+ [
1648
+ 15,
1649
+ "indicator_mode",
1650
+ tuya.valueConverterBasic.lookup({
1651
+ off: tuya.enum(0),
1652
+ on_off_status: tuya.enum(1),
1653
+ switch_position: tuya.enum(2),
1654
+ }),
1655
+ ],
1656
+ [16, "backlight_switch", tuya.valueConverter.onOff],
1480
1657
  [101, "child_lock", tuya.valueConverter.onOff],
1658
+ [102, "backlight", tuya.valueConverter.raw],
1481
1659
  [
1482
1660
  103,
1483
1661
  "on_color",
@@ -2298,15 +2476,22 @@ exports.definitions = [
2298
2476
  model: "CK-BL702-AL-01",
2299
2477
  vendor: "Tuya",
2300
2478
  description: "Zigbee LED bulb",
2479
+ toZigbee: [tz.power_on_behavior],
2480
+ fromZigbee: [fz.power_on_behavior],
2301
2481
  extend: [
2302
2482
  tuya.modernExtend.tuyaLight({
2303
2483
  colorTemp: { range: [142, 500] },
2304
2484
  color: true,
2305
2485
  }),
2306
2486
  ],
2487
+ exposes: [e.power_on_behavior(["off", "on", "toggle", "previous"])],
2307
2488
  meta: {
2308
2489
  moveToLevelWithOnOffDisable: true,
2309
2490
  },
2491
+ configure: async (device, coordinatorEndpoint) => {
2492
+ const endpoint = device.getEndpoint(1);
2493
+ await endpoint.read("genOnOff", ["startUpOnOff"]);
2494
+ },
2310
2495
  },
2311
2496
  {
2312
2497
  zigbeeModel: ["SM0001"],
@@ -3904,7 +4089,7 @@ exports.definitions = [
3904
4089
  },
3905
4090
  },
3906
4091
  {
3907
- fingerprint: tuya.fingerprint("TS0601", ["_TZE200_go3tvswy", "_TZE204_2imwyigp", "_TZE200_2imwyigp"]),
4092
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE204_2imwyigp", "_TZE200_2imwyigp"]),
3908
4093
  model: "MG-ZG03W",
3909
4094
  vendor: "Tuya",
3910
4095
  description: "3 gang switch",
@@ -3926,6 +4111,33 @@ exports.definitions = [
3926
4111
  return { l1: 1, l2: 1, l3: 1 };
3927
4112
  },
3928
4113
  },
4114
+ {
4115
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE200_go3tvswy", "_TZE200_oyti2ums"]),
4116
+ model: "MG-GPO04ZSLP",
4117
+ vendor: "Tuya",
4118
+ description: "2 x socket + 1 x light with master switch and metering",
4119
+ extend: [tuya.modernExtend.tuyaBase({ dp: true }), m.deviceEndpoints({ endpoints: { master: 1, light: 1, left: 2, right: 3 } })],
4120
+ exposes: [
4121
+ e.switch().withEndpoint("master").setAccess("state", ea.STATE_SET).withDescription("Master switch controlling all relays"),
4122
+ e.switch().withEndpoint("light").setAccess("state", ea.STATE_SET).withDescription("Light relay"),
4123
+ e.switch().withEndpoint("left").setAccess("state", ea.STATE_SET).withDescription("Left socket"),
4124
+ e.switch().withEndpoint("right").setAccess("state", ea.STATE_SET).withDescription("Right socket"),
4125
+ e.numeric("voltage", ea.STATE).withUnit("V").withDescription("Line voltage reported by the outlet"),
4126
+ e.numeric("current", ea.STATE).withUnit("A").withDescription("Line current reported by the outlet"),
4127
+ e.numeric("energy_wh", ea.STATE).withUnit("Wh").withDescription("Accumulated energy (raw Wh counter)"),
4128
+ ],
4129
+ meta: {
4130
+ tuyaDatapoints: [
4131
+ [1, "state_right", tuya.valueConverter.onOff],
4132
+ [2, "state_light", tuya.valueConverter.onOff],
4133
+ [3, "state_left", tuya.valueConverter.onOff],
4134
+ [13, "state_master", tuya.valueConverter.onOff],
4135
+ [21, "current", tuya.valueConverter.divideBy1000],
4136
+ [22, "energy_wh", tuya.valueConverter.raw],
4137
+ [23, "voltage", tuya.valueConverter.divideBy10],
4138
+ ],
4139
+ },
4140
+ },
3929
4141
  {
3930
4142
  fingerprint: tuya.fingerprint("TS0215A", [
3931
4143
  "_TZ3000_4fsgukof",
@@ -4121,6 +4333,7 @@ exports.definitions = [
4121
4333
  tuya.whitelabel("Danfoss", "014G2480", "Temperature and humidity sensor", ["_TZ3000_mxzo5rhf"]),
4122
4334
  tuya.whitelabel("Tuya", "HS09", "Hanging temperature humidity sensor", ["_TZ3000_1twfmkcc"]),
4123
4335
  tuya.whitelabel("Nedis", "ZBSC10WT", "Temperature and humidity sensor", ["_TZ3000_fie1dpkm"]),
4336
+ tuya.whitelabel("Tuya", "TH09Z", "Temperature and humidity sensor", ["_TZ3000_isw9u95y"]),
4124
4337
  ],
4125
4338
  },
4126
4339
  {
@@ -4934,6 +5147,7 @@ exports.definitions = [
4934
5147
  tuya.modernExtend.tuyaOnOff({
4935
5148
  switchType: true,
4936
5149
  endpoints: ["l1", "l2"],
5150
+ powerOutageMemory: (manufacturerName) => manufacturerName !== "_TZ3000_qaa59zqd",
4937
5151
  }),
4938
5152
  ],
4939
5153
  endpoint: (device) => {
@@ -7515,6 +7729,7 @@ exports.definitions = [
7515
7729
  tuya.whitelabel("Zbeacon", "TS011F_plug_1_1", "Smart plug (with power monitoring)", ["Zbeacon"]),
7516
7730
  tuya.whitelabel("NEO", "NAS-WR01B", "Smart plug (with electrical measurements)", ["_TZ3000_gjnozsaz"]),
7517
7731
  tuya.whitelabel("GreenSun", "HSC-ZW-EU", "Outdoor Smart Plug (with power monitoring)", ["_TZ3000_cicwjqth"]),
7732
+ tuya.whitelabel("Nous", "A10Z", "Smart Zigbee Socket", ["_TZ3210_jlf1nepw"]),
7518
7733
  ],
7519
7734
  ota: true,
7520
7735
  extend: [
@@ -7586,6 +7801,13 @@ exports.definitions = [
7586
7801
  await reporting.bind(endpoint, coordinatorEndpoint, ["genOnOff"]);
7587
7802
  },
7588
7803
  },
7804
+ {
7805
+ zigbeeModel: ["SM0212"],
7806
+ model: "SM0212",
7807
+ vendor: "Tuya",
7808
+ description: "Gas sensor",
7809
+ extend: [m.iasZoneAlarm({ zoneType: "gas", zoneAttributes: ["alarm_1", "alarm_2", "tamper", "battery_low"] })],
7810
+ },
7589
7811
  {
7590
7812
  fingerprint: [
7591
7813
  { modelID: "TS011F", applicationVersion: 192, manufacturerName: "_TZ3000_2uollq9d", priority: -1 },
@@ -10340,6 +10562,7 @@ exports.definitions = [
10340
10562
  "_TZ3000_402vrq2i",
10341
10563
  "_TZ3000_abrsvsou",
10342
10564
  "_TZ3000_gwkzibhs",
10565
+ "_TZ3000_ugi8ky6u",
10343
10566
  ]),
10344
10567
  model: "ERS-10TZBVK-AA",
10345
10568
  vendor: "Tuya",
@@ -10357,6 +10580,7 @@ exports.definitions = [
10357
10580
  whiteLabel: [
10358
10581
  tuya.whitelabel("Tuya", "ZG-101Z_D_1", "Smart knob", ["_TZ3000_402vrq2i"]),
10359
10582
  tuya.whitelabel("Moes", "ZG-101ZD", "Smart knob", ["_TZ3000_gwkzibhs"]),
10583
+ tuya.whitelabel("Immax", "07768L", "NEO Smart rotary knob", ["_TZ3000_ugi8ky6u"]),
10360
10584
  ],
10361
10585
  toZigbee: [tz.tuya_operation_mode],
10362
10586
  exposes: [
@@ -10538,7 +10762,7 @@ exports.definitions = [
10538
10762
  toZigbee: [legacy.tz.tuya_smart_human_presense_sensor],
10539
10763
  whiteLabel: [
10540
10764
  tuya.whitelabel("Tuya", "ZY-M100-L", "Ceiling human breathe sensor", ["_TZE204_ztc6ggyl"]),
10541
- tuya.whitelabel("Moes", "ZSS-QY-HP", "Human presence sensor", ["_TZE204_fwondbzy"]),
10765
+ tuya.whitelabel("Moes", "ZSS-QY-HP", "Human presence sensor", ["_TZE204_fwondbzy", "_TZE284_fwondbzy"]),
10542
10766
  ],
10543
10767
  exposes: [
10544
10768
  e.illuminance(),