zigbee-herdsman-converters 25.68.0 → 25.70.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 (68) hide show
  1. package/CHANGELOG.md +55 -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 +18 -2
  10. package/dist/devices/bosch.js.map +1 -1
  11. package/dist/devices/develco.d.ts.map +1 -1
  12. package/dist/devices/develco.js +7 -1
  13. package/dist/devices/develco.js.map +1 -1
  14. package/dist/devices/domraem.d.ts.map +1 -1
  15. package/dist/devices/domraem.js +4 -1
  16. package/dist/devices/domraem.js.map +1 -1
  17. package/dist/devices/efekta.js +14 -14
  18. package/dist/devices/efekta.js.map +1 -1
  19. package/dist/devices/envilar.d.ts.map +1 -1
  20. package/dist/devices/envilar.js +7 -0
  21. package/dist/devices/envilar.js.map +1 -1
  22. package/dist/devices/gledopto.js +1 -1
  23. package/dist/devices/gledopto.js.map +1 -1
  24. package/dist/devices/innr.d.ts.map +1 -1
  25. package/dist/devices/innr.js +2 -0
  26. package/dist/devices/innr.js.map +1 -1
  27. package/dist/devices/lightsolutions.d.ts.map +1 -1
  28. package/dist/devices/lightsolutions.js +7 -0
  29. package/dist/devices/lightsolutions.js.map +1 -1
  30. package/dist/devices/moes.js +1 -1
  31. package/dist/devices/moes.js.map +1 -1
  32. package/dist/devices/namron.js +1 -1
  33. package/dist/devices/namron.js.map +1 -1
  34. package/dist/devices/paulmann.d.ts.map +1 -1
  35. package/dist/devices/paulmann.js +8 -0
  36. package/dist/devices/paulmann.js.map +1 -1
  37. package/dist/devices/philips.d.ts.map +1 -1
  38. package/dist/devices/philips.js +23 -5
  39. package/dist/devices/philips.js.map +1 -1
  40. package/dist/devices/shelly.d.ts.map +1 -1
  41. package/dist/devices/shelly.js +97 -1
  42. package/dist/devices/shelly.js.map +1 -1
  43. package/dist/devices/slacky_diy.d.ts.map +1 -1
  44. package/dist/devices/slacky_diy.js +284 -1
  45. package/dist/devices/slacky_diy.js.map +1 -1
  46. package/dist/devices/sonoff.d.ts.map +1 -1
  47. package/dist/devices/sonoff.js +1 -0
  48. package/dist/devices/sonoff.js.map +1 -1
  49. package/dist/devices/tuya.d.ts.map +1 -1
  50. package/dist/devices/tuya.js +117 -39
  51. package/dist/devices/tuya.js.map +1 -1
  52. package/dist/lib/bosch.d.ts +3 -4
  53. package/dist/lib/bosch.d.ts.map +1 -1
  54. package/dist/lib/bosch.js +16 -164
  55. package/dist/lib/bosch.js.map +1 -1
  56. package/dist/lib/constants.d.ts +1 -0
  57. package/dist/lib/constants.d.ts.map +1 -1
  58. package/dist/lib/constants.js +2 -1
  59. package/dist/lib/constants.js.map +1 -1
  60. package/dist/lib/lumi.js +1 -1
  61. package/dist/lib/lumi.js.map +1 -1
  62. package/dist/lib/modernExtend.d.ts.map +1 -1
  63. package/dist/lib/modernExtend.js +5 -13
  64. package/dist/lib/modernExtend.js.map +1 -1
  65. package/dist/lib/types.d.ts +1 -0
  66. package/dist/lib/types.d.ts.map +1 -1
  67. package/dist/models-index.json +1 -1
  68. 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],
@@ -2286,7 +2286,7 @@ exports.definitions = [
2286
2286
  zigbeeModel: ["CK-BL702-AL-01(7009_Z102LG03-1)", "CK-BL702-AL-01(7009_Z102LG04-1)", "CK-BL702-AL-01(7009_Z102LG04-2)"],
2287
2287
  model: "CK-BL702-AL-01",
2288
2288
  vendor: "Tuya",
2289
- description: "GU-10 5W 350lm Zigbee RGBCCW LED bulb",
2289
+ description: "Zigbee LED bulb",
2290
2290
  extend: [
2291
2291
  tuya.modernExtend.tuyaLight({
2292
2292
  colorTemp: { range: [142, 500] },
@@ -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 })],
@@ -9677,7 +9679,7 @@ exports.definitions = [
9677
9679
  e
9678
9680
  .climate()
9679
9681
  .withSystemMode(["off", "heat"], ea.STATE_SET)
9680
- .withPreset(["manual", "auto"])
9682
+ .withPreset(["manual", "auto", "eco"])
9681
9683
  .withSetpoint("current_heating_setpoint", 5, 35, 0.5, ea.STATE_SET)
9682
9684
  .withRunningState(["idle", "heat"], ea.STATE)
9683
9685
  .withLocalTemperature(ea.STATE)
@@ -9713,6 +9715,7 @@ exports.definitions = [
9713
9715
  tuya.valueConverterBasic.lookup({
9714
9716
  manual: tuya.enum(0),
9715
9717
  auto: tuya.enum(1),
9718
+ eco: tuya.enum(3),
9716
9719
  }),
9717
9720
  ],
9718
9721
  [9, "child_lock", tuya.valueConverter.lockUnlock],
@@ -9752,7 +9755,7 @@ exports.definitions = [
9752
9755
  },
9753
9756
  },
9754
9757
  {
9755
- fingerprint: tuya.fingerprint("TS0222", ["_TZ3000_kky16aay", "_TZE204_myd45weu"]),
9758
+ fingerprint: tuya.fingerprint("TS0222", ["_TZ3000_kky16aay", "_TZE204_myd45weu", "_TZ3000_ceplrhnu"]),
9756
9759
  model: "TS0222_temperature_humidity",
9757
9760
  vendor: "Tuya",
9758
9761
  description: "Temperature & humidity sensor",
@@ -11783,28 +11786,34 @@ exports.definitions = [
11783
11786
  { vendor: "MatSee Plus", model: "PC321-Z-TY" },
11784
11787
  { vendor: "OWON", model: "PC321-Z-TY" },
11785
11788
  ],
11786
- exposes: [
11787
- e.ac_frequency(),
11788
- e.temperature(),
11789
- e.current(),
11790
- e.power(),
11791
- e.energy(),
11792
- tuya.exposes.energyWithPhase("a"),
11793
- tuya.exposes.energyWithPhase("b"),
11794
- tuya.exposes.energyWithPhase("c"),
11795
- tuya.exposes.voltageWithPhase("a"),
11796
- tuya.exposes.voltageWithPhase("b"),
11797
- tuya.exposes.voltageWithPhase("c"),
11798
- tuya.exposes.powerWithPhase("a"),
11799
- tuya.exposes.powerWithPhase("b"),
11800
- tuya.exposes.powerWithPhase("c"),
11801
- tuya.exposes.currentWithPhase("a"),
11802
- tuya.exposes.currentWithPhase("b"),
11803
- tuya.exposes.currentWithPhase("c"),
11804
- tuya.exposes.powerFactorWithPhase("a"),
11805
- tuya.exposes.powerFactorWithPhase("b"),
11806
- tuya.exposes.powerFactorWithPhase("c"),
11807
- ],
11789
+ exposes: (device) => {
11790
+ const baseExposes = [
11791
+ e.ac_frequency(),
11792
+ e.temperature(),
11793
+ e.current(),
11794
+ e.power(),
11795
+ e.energy(),
11796
+ tuya.exposes.energyWithPhase("a"),
11797
+ tuya.exposes.energyWithPhase("b"),
11798
+ tuya.exposes.energyWithPhase("c"),
11799
+ tuya.exposes.voltageWithPhase("a"),
11800
+ tuya.exposes.voltageWithPhase("b"),
11801
+ tuya.exposes.voltageWithPhase("c"),
11802
+ tuya.exposes.powerWithPhase("a"),
11803
+ tuya.exposes.powerWithPhase("b"),
11804
+ tuya.exposes.powerWithPhase("c"),
11805
+ tuya.exposes.currentWithPhase("a"),
11806
+ tuya.exposes.currentWithPhase("b"),
11807
+ tuya.exposes.currentWithPhase("c"),
11808
+ tuya.exposes.powerFactorWithPhase("a"),
11809
+ tuya.exposes.powerFactorWithPhase("b"),
11810
+ tuya.exposes.powerFactorWithPhase("c"),
11811
+ ];
11812
+ if (device.applicationVersion >= 132) {
11813
+ baseExposes.push(e.numeric("ac_frequency_high_precision", ea.STATE).withUnit("Hz").withValueMin(0).withValueMax(100));
11814
+ }
11815
+ return baseExposes;
11816
+ },
11808
11817
  meta: {
11809
11818
  multiEndpointSkip: ["power_factor", "power_factor_phase_b", "power_factor_phase_c", "energy"],
11810
11819
  tuyaDatapoints: [
@@ -11823,6 +11832,7 @@ exports.definitions = [
11823
11832
  [7, null, tuya.valueConverter.phaseVariant2WithPhase("b")],
11824
11833
  [8, null, tuya.valueConverter.phaseVariant2WithPhase("c")],
11825
11834
  [134, "device_status", tuya.valueConverter.raw],
11835
+ [135, "ac_frequency_high_precision", tuya.valueConverter.divideBy100],
11826
11836
  ],
11827
11837
  },
11828
11838
  },
@@ -19989,6 +19999,74 @@ exports.definitions = [
19989
19999
  ],
19990
20000
  },
19991
20001
  },
20002
+ {
20003
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE204_ilzkxrav"]),
20004
+ model: "TWC-R01",
20005
+ vendor: "THALEOS",
20006
+ description: "Smart thermostat for electric heater with pilot wire",
20007
+ extend: [tuya.modernExtend.tuyaBase({ dp: true })],
20008
+ exposes: [
20009
+ e.pilot_wire_mode(["comfort", "eco", "antifrost", "off", "comfort_1", "comfort_2"]), // Not using climate here because setpoint is not supported
20010
+ e.local_temperature(),
20011
+ e
20012
+ .numeric("local_temperature_calibration", ea.STATE_SET)
20013
+ .withUnit("°C")
20014
+ .withValueMin(-8)
20015
+ .withValueMax(8)
20016
+ .withValueStep(0.5)
20017
+ .withDescription("Set temperature calibration"),
20018
+ e.binary("eco_mode", ea.STATE_SET, "ON", "OFF").withDescription("Enables/disables the weekly program."),
20019
+ e.open_window(),
20020
+ e.open_window_temperature(),
20021
+ e.power(),
20022
+ e.voltage(),
20023
+ e.current(),
20024
+ e.energy(),
20025
+ e.numeric("energy_today", ea.STATE).withUnit("kWh").withDescription("Energy consumed today"),
20026
+ e.numeric("energy_yesterday", ea.STATE).withUnit("kWh").withDescription("Energy consumed yesterday"),
20027
+ e.binary("device_mode_type", ea.STATE_SET, "ON", "OFF").withDescription("Set pilot wire mode to 6 (includes comfort 1 & 2)."),
20028
+ ],
20029
+ meta: {
20030
+ tuyaDatapoints: [
20031
+ [
20032
+ 2,
20033
+ "pilot_wire_mode",
20034
+ tuya.valueConverterBasic.lookup({
20035
+ comfort: tuya.enum(0),
20036
+ eco: tuya.enum(1),
20037
+ antifrost: tuya.enum(2),
20038
+ off: tuya.enum(3),
20039
+ comfort_1: tuya.enum(4),
20040
+ comfort_2: tuya.enum(5),
20041
+ }),
20042
+ ],
20043
+ [11, "power", tuya.valueConverter.raw],
20044
+ [16, "local_temperature", tuya.valueConverter.divideBy10],
20045
+ [19, "local_temperature_calibration", tuya.valueConverter.localTempCalibration2],
20046
+ [20, "fault", tuya.valueConverter.raw],
20047
+ [40, "eco_mode", tuya.valueConverter.onOff],
20048
+ [101, "week_program", tuya.valueConverter.raw],
20049
+ [102, "work_state", tuya.valueConverter.raw],
20050
+ [103, "week_program_1", tuya.valueConverter.raw],
20051
+ [104, "week_program_2", tuya.valueConverter.raw],
20052
+ [105, "week_program_3", tuya.valueConverter.raw],
20053
+ [106, "week_program_4", tuya.valueConverter.raw],
20054
+ [107, "week_program_5", tuya.valueConverter.raw],
20055
+ [108, "week_program_6", tuya.valueConverter.raw],
20056
+ [109, "week_program_7", tuya.valueConverter.raw],
20057
+ [110, "open_window", tuya.valueConverter.onOff],
20058
+ [111, "open_window_temperature", tuya.valueConverter.raw],
20059
+ [112, "window_time", tuya.valueConverter.raw],
20060
+ [113, "window_timeout", tuya.valueConverter.raw],
20061
+ [114, "device_mode_type", tuya.valueConverter.onOff],
20062
+ [115, "voltage", tuya.valueConverter.divideBy10],
20063
+ [116, "current", tuya.valueConverter.divideBy1000],
20064
+ [117, "energy", tuya.valueConverter.raw],
20065
+ [119, "energy_today", tuya.valueConverter.raw],
20066
+ [120, "energy_yesterday", tuya.valueConverter.raw],
20067
+ ],
20068
+ },
20069
+ },
19992
20070
  {
19993
20071
  fingerprint: tuya.fingerprint("TS0601", ["_TZE284_r3szw0xr"]),
19994
20072
  model: "TS0601_cover_11",