zigbee-herdsman-converters 25.67.0 → 25.69.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 (62) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/converters/toZigbee.d.ts.map +1 -1
  3. package/dist/converters/toZigbee.js +12 -1
  4. package/dist/converters/toZigbee.js.map +1 -1
  5. package/dist/devices/aurora_lighting.d.ts.map +1 -1
  6. package/dist/devices/aurora_lighting.js +7 -0
  7. package/dist/devices/aurora_lighting.js.map +1 -1
  8. package/dist/devices/bosch.d.ts.map +1 -1
  9. package/dist/devices/bosch.js +24 -8
  10. package/dist/devices/bosch.js.map +1 -1
  11. package/dist/devices/domraem.d.ts.map +1 -1
  12. package/dist/devices/domraem.js +4 -1
  13. package/dist/devices/domraem.js.map +1 -1
  14. package/dist/devices/efekta.js +14 -14
  15. package/dist/devices/efekta.js.map +1 -1
  16. package/dist/devices/gledopto.js +1 -1
  17. package/dist/devices/gledopto.js.map +1 -1
  18. package/dist/devices/innr.d.ts.map +1 -1
  19. package/dist/devices/innr.js +2 -0
  20. package/dist/devices/innr.js.map +1 -1
  21. package/dist/devices/lightsolutions.d.ts.map +1 -1
  22. package/dist/devices/lightsolutions.js +7 -0
  23. package/dist/devices/lightsolutions.js.map +1 -1
  24. package/dist/devices/lumi.d.ts.map +1 -1
  25. package/dist/devices/lumi.js +7 -1
  26. package/dist/devices/lumi.js.map +1 -1
  27. package/dist/devices/namron.js +1 -1
  28. package/dist/devices/namron.js.map +1 -1
  29. package/dist/devices/osram.js +1 -1
  30. package/dist/devices/osram.js.map +1 -1
  31. package/dist/devices/philips.d.ts.map +1 -1
  32. package/dist/devices/philips.js +23 -1
  33. package/dist/devices/philips.js.map +1 -1
  34. package/dist/devices/shelly.d.ts.map +1 -1
  35. package/dist/devices/shelly.js +97 -1
  36. package/dist/devices/shelly.js.map +1 -1
  37. package/dist/devices/sonoff.d.ts.map +1 -1
  38. package/dist/devices/sonoff.js +20 -0
  39. package/dist/devices/sonoff.js.map +1 -1
  40. package/dist/devices/third_reality.d.ts.map +1 -1
  41. package/dist/devices/third_reality.js +17 -0
  42. package/dist/devices/third_reality.js.map +1 -1
  43. package/dist/devices/tuya.d.ts.map +1 -1
  44. package/dist/devices/tuya.js +118 -37
  45. package/dist/devices/tuya.js.map +1 -1
  46. package/dist/lib/bosch.d.ts +3 -4
  47. package/dist/lib/bosch.d.ts.map +1 -1
  48. package/dist/lib/bosch.js +19 -167
  49. package/dist/lib/bosch.js.map +1 -1
  50. package/dist/lib/constants.d.ts +1 -0
  51. package/dist/lib/constants.d.ts.map +1 -1
  52. package/dist/lib/constants.js +2 -1
  53. package/dist/lib/constants.js.map +1 -1
  54. package/dist/lib/lumi.js +1 -1
  55. package/dist/lib/lumi.js.map +1 -1
  56. package/dist/lib/modernExtend.d.ts.map +1 -1
  57. package/dist/lib/modernExtend.js +5 -13
  58. package/dist/lib/modernExtend.js.map +1 -1
  59. package/dist/lib/types.d.ts +1 -0
  60. package/dist/lib/types.d.ts.map +1 -1
  61. package/dist/models-index.json +1 -1
  62. package/package.json +1 -1
@@ -1912,7 +1912,7 @@ exports.definitions = [
1912
1912
  },
1913
1913
  },
1914
1914
  {
1915
- fingerprint: tuya.fingerprint("TS0601", ["_TZE200_dwcarsat", "_TZE204_dwcarsat"]),
1915
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE200_dwcarsat", "_TZE204_dwcarsat", "_TZE200_blfcpsxz"]),
1916
1916
  model: "TS0601_smart_air_house_keeper",
1917
1917
  vendor: "Tuya",
1918
1918
  description: "Smart air house keeper",
@@ -2125,9 +2125,9 @@ exports.definitions = [
2125
2125
  .withValueMin(0)
2126
2126
  .withValueMax(100)
2127
2127
  .withValueStep(1),
2128
- e.binary("vibration_sirene", ea.STATE_SET, true, false).withDescription("Activate the siren when vibrating."),
2128
+ e.binary("vibration_siren", ea.STATE_SET, true, false).withDescription("Activate the siren when vibrating."),
2129
2129
  e
2130
- .numeric("vibration_sirene_duration", ea.STATE_SET)
2130
+ .numeric("vibration_siren_duration", ea.STATE_SET)
2131
2131
  .withDescription("Duration of the vibrating siren.")
2132
2132
  .withValueMin(5)
2133
2133
  .withValueMax(180)
@@ -2159,8 +2159,8 @@ exports.definitions = [
2159
2159
  [109, "alarm_siren_duration", tuya.valueConverter.raw],
2160
2160
  [102, "vibration", tuya.valueConverter.raw],
2161
2161
  [106, "vibration_limit", tuya.valueConverter.raw],
2162
- [110, "vibration_sirene_duration", tuya.valueConverter.raw],
2163
- [108, "vibration_sirene", tuya.valueConverter.raw],
2162
+ [110, "vibration_siren_duration", tuya.valueConverter.raw],
2163
+ [108, "vibration_siren", tuya.valueConverter.raw],
2164
2164
  [104, "close_signal", tuya.valueConverter.raw],
2165
2165
  [105, "transmission_power", tuya.valueConverter.raw],
2166
2166
  [111, "magnetic_status", tuya.valueConverter.raw],
@@ -4312,6 +4312,7 @@ exports.definitions = [
4312
4312
  tuya.whitelabel("Moes", "ZT-SR-EU4", "Star Ring 4 Gang Scene Switch", ["_TZ3000_a4xycprs"]),
4313
4313
  tuya.whitelabel("Tuya", "TS0044_1", "Zigbee 4 button remote - 12 scene", ["_TZ3000_dziaict4", "_TZ3000_j61x9rxn"]),
4314
4314
  tuya.whitelabel("iHseno", "_TZ3000_mh9px7cq", "Zigbee 4 button remote - 12 scene", ["_TZ3000_mh9px7cq"]),
4315
+ tuya.whitelabel("iHseno", "TS0044_5tqxpine", "Zigbee 4 button wall switch", ["_TZ3000_5tqxpine"]),
4315
4316
  tuya.whitelabel("Tuya", "TM-YKQ004", "Zigbee 4 button remote - 12 scene", ["_TZ3000_u3nv1jwk"]),
4316
4317
  tuya.whitelabel("HOBEIAN", "ZG-101ZS", "Star Ring 4 Gang Scene Switch", ["_TZ3000_bgtzm4ny"]),
4317
4318
  tuya.whitelabel("Moes", "XH-SY-04Z", "4 button portable remote control", ["_TZ3000_kfu8zapd"]),
@@ -5066,10 +5067,11 @@ exports.definitions = [
5066
5067
  ],
5067
5068
  },
5068
5069
  {
5069
- fingerprint: tuya.fingerprint("TS0003", ["_TZ3000_fawk5xjv", "_TZ3000_bvij6kod"]),
5070
+ fingerprint: tuya.fingerprint("TS0003", ["_TZ3000_fawk5xjv", "_TZ3000_bvij6kod", "_TZ3000_aracgljk"]),
5070
5071
  model: "NFZB-03",
5071
5072
  vendor: "Nova Digital",
5072
5073
  description: "3 gang switch with power-on behavior and indicator mode",
5074
+ whiteLabel: [tuya.whitelabel("Nova Digital", "SA-3", "Safira smart light switch - 3 gang", ["_TZ3000_aracgljk"])],
5073
5075
  extend: [
5074
5076
  tuya.modernExtend.tuyaBase(),
5075
5077
  m.deviceEndpoints({ endpoints: { l1: 1, l2: 2, l3: 3 } }),
@@ -5084,19 +5086,19 @@ exports.definitions = [
5084
5086
  ],
5085
5087
  },
5086
5088
  {
5087
- fingerprint: tuya.fingerprint("TS0003", ["_TZ3000_aracgljk"]),
5088
- model: "SA-3",
5089
- vendor: "Nova Digital",
5090
- description: "Safira smart light switch - 3 gang",
5089
+ fingerprint: tuya.fingerprint("TS0003", ["_TZ3000_dyzkbcip"]),
5090
+ model: "Mercurio-3",
5091
+ vendor: "Ekaza",
5092
+ description: "Smart 3-channel switch",
5093
+ configure: tuya.configureMagicPacket,
5091
5094
  extend: [
5092
5095
  tuya.modernExtend.tuyaBase(),
5093
5096
  m.deviceEndpoints({ endpoints: { l1: 1, l2: 2, l3: 3 } }),
5094
5097
  tuya.modernExtend.tuyaOnOff({
5095
- endpoints: ["l1", "l2", "l3"],
5096
5098
  powerOutageMemory: true,
5097
- switchType: true,
5098
5099
  indicatorMode: true,
5099
- backlightModeOffOn: true,
5100
+ onOffCountdown: true,
5101
+ endpoints: ["l1", "l2", "l3"],
5100
5102
  }),
5101
5103
  ],
5102
5104
  },
@@ -5661,7 +5663,7 @@ exports.definitions = [
5661
5663
  },
5662
5664
  {
5663
5665
  fingerprint: tuya.fingerprint("TS0601", ["_TZE284_debczeci", "_TZE284_1lvln0x6", "_TZE204_debczeci"]),
5664
- model: "iHsenso_TS0601_human_presence",
5666
+ model: "TS0601_human_presence",
5665
5667
  vendor: "iHseno",
5666
5668
  description: "Human presence sensor",
5667
5669
  extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
@@ -6475,10 +6477,12 @@ exports.definitions = [
6475
6477
  "_TZE200_9xfjixap" /* model: 'ME167', vendor: 'AVATTO' */,
6476
6478
  "_TZE200_jkfbph7l" /* model: 'ME167', vendor: 'AVATTO' */,
6477
6479
  "_TZE200_rxntag7i" /* model: 'ME168', vendor: 'AVATTO' */,
6480
+ "_TZE200_4utwozi2" /* model: 'ME167', vendor: 'MYUET' */,
6478
6481
  "_TZE200_yqgbrdyo",
6479
6482
  "_TZE284_p3dbf6qs",
6480
6483
  "_TZE200_rxq4iti9",
6481
6484
  "_TZE204_ogx8u5z6",
6485
+ "_TZE200_4utwoz2",
6482
6486
  "_TZE284_ogx8u5z6",
6483
6487
  "_TZE200_hvaxb2tc" /* model: 'TRV06', vendor: 'AVATTO' */,
6484
6488
  "_TZE284_o3x45p96" /* model: 'TRV06', vendor: 'AVATTO' */,
@@ -6499,6 +6503,8 @@ exports.definitions = [
6499
6503
  "_TZE200_6rdj8dzm",
6500
6504
  "_TZE200_9xfjixap",
6501
6505
  "_TZE200_jkfbph7l",
6506
+ "_TZE200_4utwoz2",
6507
+ "_TZE200_4utwozi2",
6502
6508
  ]),
6503
6509
  tuya.whitelabel("AVATTO", "ME168_1", "Thermostatic radiator valve", ["_TZE200_rxntag7i"]),
6504
6510
  tuya.whitelabel("AVATTO", "TRV06_1", "Thermostatic radiator valve", ["_TZE200_hvaxb2tc", "_TZE284_o3x45p96"]),
@@ -9748,7 +9754,7 @@ exports.definitions = [
9748
9754
  },
9749
9755
  },
9750
9756
  {
9751
- fingerprint: tuya.fingerprint("TS0222", ["_TZ3000_kky16aay", "_TZE204_myd45weu"]),
9757
+ fingerprint: tuya.fingerprint("TS0222", ["_TZ3000_kky16aay", "_TZE204_myd45weu", "_TZ3000_ceplrhnu"]),
9752
9758
  model: "TS0222_temperature_humidity",
9753
9759
  vendor: "Tuya",
9754
9760
  description: "Temperature & humidity sensor",
@@ -11779,28 +11785,34 @@ exports.definitions = [
11779
11785
  { vendor: "MatSee Plus", model: "PC321-Z-TY" },
11780
11786
  { vendor: "OWON", model: "PC321-Z-TY" },
11781
11787
  ],
11782
- exposes: [
11783
- e.ac_frequency(),
11784
- e.temperature(),
11785
- e.current(),
11786
- e.power(),
11787
- e.energy(),
11788
- tuya.exposes.energyWithPhase("a"),
11789
- tuya.exposes.energyWithPhase("b"),
11790
- tuya.exposes.energyWithPhase("c"),
11791
- tuya.exposes.voltageWithPhase("a"),
11792
- tuya.exposes.voltageWithPhase("b"),
11793
- tuya.exposes.voltageWithPhase("c"),
11794
- tuya.exposes.powerWithPhase("a"),
11795
- tuya.exposes.powerWithPhase("b"),
11796
- tuya.exposes.powerWithPhase("c"),
11797
- tuya.exposes.currentWithPhase("a"),
11798
- tuya.exposes.currentWithPhase("b"),
11799
- tuya.exposes.currentWithPhase("c"),
11800
- tuya.exposes.powerFactorWithPhase("a"),
11801
- tuya.exposes.powerFactorWithPhase("b"),
11802
- tuya.exposes.powerFactorWithPhase("c"),
11803
- ],
11788
+ exposes: (device) => {
11789
+ const baseExposes = [
11790
+ e.ac_frequency(),
11791
+ e.temperature(),
11792
+ e.current(),
11793
+ e.power(),
11794
+ e.energy(),
11795
+ tuya.exposes.energyWithPhase("a"),
11796
+ tuya.exposes.energyWithPhase("b"),
11797
+ tuya.exposes.energyWithPhase("c"),
11798
+ tuya.exposes.voltageWithPhase("a"),
11799
+ tuya.exposes.voltageWithPhase("b"),
11800
+ tuya.exposes.voltageWithPhase("c"),
11801
+ tuya.exposes.powerWithPhase("a"),
11802
+ tuya.exposes.powerWithPhase("b"),
11803
+ tuya.exposes.powerWithPhase("c"),
11804
+ tuya.exposes.currentWithPhase("a"),
11805
+ tuya.exposes.currentWithPhase("b"),
11806
+ tuya.exposes.currentWithPhase("c"),
11807
+ tuya.exposes.powerFactorWithPhase("a"),
11808
+ tuya.exposes.powerFactorWithPhase("b"),
11809
+ tuya.exposes.powerFactorWithPhase("c"),
11810
+ ];
11811
+ if (device.applicationVersion >= 132) {
11812
+ baseExposes.push(e.numeric("ac_frequency_high_precision", ea.STATE).withUnit("Hz").withValueMin(0).withValueMax(100));
11813
+ }
11814
+ return baseExposes;
11815
+ },
11804
11816
  meta: {
11805
11817
  multiEndpointSkip: ["power_factor", "power_factor_phase_b", "power_factor_phase_c", "energy"],
11806
11818
  tuyaDatapoints: [
@@ -11819,6 +11831,7 @@ exports.definitions = [
11819
11831
  [7, null, tuya.valueConverter.phaseVariant2WithPhase("b")],
11820
11832
  [8, null, tuya.valueConverter.phaseVariant2WithPhase("c")],
11821
11833
  [134, "device_status", tuya.valueConverter.raw],
11834
+ [135, "ac_frequency_high_precision", tuya.valueConverter.divideBy100],
11822
11835
  ],
11823
11836
  },
11824
11837
  },
@@ -19985,6 +19998,74 @@ exports.definitions = [
19985
19998
  ],
19986
19999
  },
19987
20000
  },
20001
+ {
20002
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE204_ilzkxrav"]),
20003
+ model: "TWC-R01",
20004
+ vendor: "THALEOS",
20005
+ description: "Smart thermostat for electric heater with pilot wire",
20006
+ extend: [tuya.modernExtend.tuyaBase({ dp: true })],
20007
+ exposes: [
20008
+ e.pilot_wire_mode(["comfort", "eco", "antifrost", "off", "comfort_1", "comfort_2"]), // Not using climate here because setpoint is not supported
20009
+ e.local_temperature(),
20010
+ e
20011
+ .numeric("local_temperature_calibration", ea.STATE_SET)
20012
+ .withUnit("°C")
20013
+ .withValueMin(-8)
20014
+ .withValueMax(8)
20015
+ .withValueStep(0.5)
20016
+ .withDescription("Set temperature calibration"),
20017
+ e.binary("eco_mode", ea.STATE_SET, "ON", "OFF").withDescription("Enables/disables the weekly program."),
20018
+ e.open_window(),
20019
+ e.open_window_temperature(),
20020
+ e.power(),
20021
+ e.voltage(),
20022
+ e.current(),
20023
+ e.energy(),
20024
+ e.numeric("energy_today", ea.STATE).withUnit("kWh").withDescription("Energy consumed today"),
20025
+ e.numeric("energy_yesterday", ea.STATE).withUnit("kWh").withDescription("Energy consumed yesterday"),
20026
+ e.binary("device_mode_type", ea.STATE_SET, "ON", "OFF").withDescription("Set pilot wire mode to 6 (includes comfort 1 & 2)."),
20027
+ ],
20028
+ meta: {
20029
+ tuyaDatapoints: [
20030
+ [
20031
+ 2,
20032
+ "pilot_wire_mode",
20033
+ tuya.valueConverterBasic.lookup({
20034
+ comfort: tuya.enum(0),
20035
+ eco: tuya.enum(1),
20036
+ antifrost: tuya.enum(2),
20037
+ off: tuya.enum(3),
20038
+ comfort_1: tuya.enum(4),
20039
+ comfort_2: tuya.enum(5),
20040
+ }),
20041
+ ],
20042
+ [11, "power", tuya.valueConverter.raw],
20043
+ [16, "local_temperature", tuya.valueConverter.divideBy10],
20044
+ [19, "local_temperature_calibration", tuya.valueConverter.localTempCalibration2],
20045
+ [20, "fault", tuya.valueConverter.raw],
20046
+ [40, "eco_mode", tuya.valueConverter.onOff],
20047
+ [101, "week_program", tuya.valueConverter.raw],
20048
+ [102, "work_state", tuya.valueConverter.raw],
20049
+ [103, "week_program_1", tuya.valueConverter.raw],
20050
+ [104, "week_program_2", tuya.valueConverter.raw],
20051
+ [105, "week_program_3", tuya.valueConverter.raw],
20052
+ [106, "week_program_4", tuya.valueConverter.raw],
20053
+ [107, "week_program_5", tuya.valueConverter.raw],
20054
+ [108, "week_program_6", tuya.valueConverter.raw],
20055
+ [109, "week_program_7", tuya.valueConverter.raw],
20056
+ [110, "open_window", tuya.valueConverter.onOff],
20057
+ [111, "open_window_temperature", tuya.valueConverter.raw],
20058
+ [112, "window_time", tuya.valueConverter.raw],
20059
+ [113, "window_timeout", tuya.valueConverter.raw],
20060
+ [114, "device_mode_type", tuya.valueConverter.onOff],
20061
+ [115, "voltage", tuya.valueConverter.divideBy10],
20062
+ [116, "current", tuya.valueConverter.divideBy1000],
20063
+ [117, "energy", tuya.valueConverter.raw],
20064
+ [119, "energy_today", tuya.valueConverter.raw],
20065
+ [120, "energy_yesterday", tuya.valueConverter.raw],
20066
+ ],
20067
+ },
20068
+ },
19988
20069
  {
19989
20070
  fingerprint: tuya.fingerprint("TS0601", ["_TZE284_r3szw0xr"]),
19990
20071
  model: "TS0601_cover_11",