zigbee-herdsman-converters 23.34.0 → 23.36.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 (49) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/devices/bacchus.js.map +1 -1
  3. package/dist/devices/efekta.d.ts.map +1 -1
  4. package/dist/devices/efekta.js +51 -0
  5. package/dist/devices/efekta.js.map +1 -1
  6. package/dist/devices/gewiss.d.ts.map +1 -1
  7. package/dist/devices/gewiss.js +33 -0
  8. package/dist/devices/gewiss.js.map +1 -1
  9. package/dist/devices/index.d.ts.map +1 -1
  10. package/dist/devices/index.js +2 -0
  11. package/dist/devices/index.js.map +1 -1
  12. package/dist/devices/lincukoo.d.ts.map +1 -1
  13. package/dist/devices/lincukoo.js.map +1 -1
  14. package/dist/devices/lumi.d.ts.map +1 -1
  15. package/dist/devices/lumi.js +164 -1
  16. package/dist/devices/lumi.js.map +1 -1
  17. package/dist/devices/mazda.d.ts.map +1 -1
  18. package/dist/devices/mazda.js.map +1 -1
  19. package/dist/devices/mindy.d.ts +1 -1
  20. package/dist/devices/mindy.d.ts.map +1 -1
  21. package/dist/devices/mindy.js.map +1 -1
  22. package/dist/devices/moes.d.ts.map +1 -1
  23. package/dist/devices/moes.js +0 -1
  24. package/dist/devices/moes.js.map +1 -1
  25. package/dist/devices/nodon.d.ts.map +1 -1
  26. package/dist/devices/slacky_diy.d.ts.map +1 -1
  27. package/dist/devices/slacky_diy.js.map +1 -1
  28. package/dist/devices/sonoff.d.ts.map +1 -1
  29. package/dist/devices/sonoff.js +1 -3
  30. package/dist/devices/sonoff.js.map +1 -1
  31. package/dist/devices/superled.d.ts +3 -0
  32. package/dist/devices/superled.d.ts.map +1 -0
  33. package/dist/devices/superled.js +47 -0
  34. package/dist/devices/superled.js.map +1 -0
  35. package/dist/devices/third_reality.js +1 -1
  36. package/dist/devices/third_reality.js.map +1 -1
  37. package/dist/devices/tuya.d.ts.map +1 -1
  38. package/dist/devices/tuya.js +241 -2
  39. package/dist/devices/tuya.js.map +1 -1
  40. package/dist/lib/color.d.ts.map +1 -1
  41. package/dist/lib/color.js +2 -2
  42. package/dist/lib/color.js.map +1 -1
  43. package/dist/lib/lumi.d.ts +1 -0
  44. package/dist/lib/lumi.d.ts.map +1 -1
  45. package/dist/lib/lumi.js +207 -0
  46. package/dist/lib/lumi.js.map +1 -1
  47. package/dist/lib/sunricher.d.ts.map +1 -1
  48. package/dist/models-index.json +1 -1
  49. package/package.json +3 -3
@@ -5992,6 +5992,101 @@ exports.definitions = [
5992
5992
  ],
5993
5993
  },
5994
5994
  },
5995
+ {
5996
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE204_xalsoe3m"]),
5997
+ model: "ZHT-002",
5998
+ vendor: "Moes",
5999
+ description: "ZHT series thermostat",
6000
+ fromZigbee: [tuya.fz.datapoints],
6001
+ toZigbee: [tuya.tz.datapoints],
6002
+ onEvent: tuya.onEventSetTime,
6003
+ configure: tuya.configureMagicPacket,
6004
+ exposes: [
6005
+ e.binary("state", ea.STATE_SET, "ON", "OFF").withDescription("Turn the thermostat ON/OFF"),
6006
+ e.child_lock(),
6007
+ e.binary("system_mode", ea.STATE_SET, "Auto", "Manual").withDescription("Manual = Manual or Schedule = Auto"),
6008
+ e.eco_mode(),
6009
+ e.temperature_sensor_select(["IN", "AL", "OU"]).withLabel("Sensor").withDescription("Choose which sensor to use. Default: AL"),
6010
+ e.enum("valve_state", ea.STATE, ["close", "open"]).withDescription("State of the valve"),
6011
+ e
6012
+ .text("workdays_schedule", ea.STATE_SET)
6013
+ .withDescription('Workdays schedule, 4 entries max, example: "06:00/20°C 11:20/22°C 16:59/15°C 22:00/25°C"'),
6014
+ e.min_temperature().withValueMin(0).withValueMax(20),
6015
+ e.max_temperature().withValueMin(20).withValueMax(50),
6016
+ e
6017
+ .climate()
6018
+ .withLocalTemperature(ea.STATE)
6019
+ .withSetpoint("current_heating_setpoint", 0, 50, 1, ea.STATE_SET)
6020
+ .withLocalTemperatureCalibration(-9, 9, 1, ea.STATE_SET),
6021
+ e
6022
+ .numeric("max_temperature_limit", ea.STATE_SET)
6023
+ .withDescription("Max temperature limit")
6024
+ .withValueMin(25)
6025
+ .withValueMax(70)
6026
+ .withValueStep(1),
6027
+ e
6028
+ .numeric("deadzone_temperature", ea.STATE_SET)
6029
+ .withValueMax(5)
6030
+ .withValueMin(1)
6031
+ .withValueStep(1)
6032
+ .withPreset("default", 1, "Default value")
6033
+ .withDescription("The difference between the local temperature that triggers heating and the set temperature"),
6034
+ e.enum("working_day", ea.STATE_SET, ["disabled", "5-2", "6-1", "7"]).withDescription("Workday setting"),
6035
+ ],
6036
+ meta: {
6037
+ tuyaDatapoints: [
6038
+ [1, "state", tuya.valueConverter.onOff],
6039
+ [2, "system_mode", tuya.valueConverterBasic.lookup({ auto: tuya.enum(0), manual: tuya.enum(1) })],
6040
+ [16, "local_temperature", tuya.valueConverter.divideBy10],
6041
+ [18, "min_temperature", tuya.valueConverter.raw],
6042
+ [19, "local_temperature_calibration", tuya.valueConverter.localTemperatureCalibration],
6043
+ [
6044
+ 23,
6045
+ "working_day",
6046
+ tuya.valueConverterBasic.lookup((_, device) => {
6047
+ if (device.manufacturerName === "_TZE204_xalsoe3m") {
6048
+ return {
6049
+ disabled: tuya.enum(0),
6050
+ "5-2": tuya.enum(1),
6051
+ "6-1": tuya.enum(2),
6052
+ "7": tuya.enum(3),
6053
+ };
6054
+ }
6055
+ return {
6056
+ disabled: tuya.enum(0),
6057
+ "5-2": tuya.enum(2),
6058
+ "6-1": tuya.enum(1),
6059
+ "7": tuya.enum(3),
6060
+ };
6061
+ }),
6062
+ ],
6063
+ [
6064
+ 32,
6065
+ "sensor",
6066
+ tuya.valueConverterBasic.lookup({
6067
+ IN: tuya.enum(0),
6068
+ AL: tuya.enum(2),
6069
+ OU: tuya.enum(1),
6070
+ }),
6071
+ ],
6072
+ [34, "max_temperature", tuya.valueConverter.raw],
6073
+ [39, "child_lock", tuya.valueConverter.lockUnlock],
6074
+ [40, "eco_mode", tuya.valueConverter.onOff],
6075
+ [
6076
+ 47,
6077
+ "valve_state",
6078
+ tuya.valueConverterBasic.lookup({
6079
+ closed: tuya.enum(0),
6080
+ open: tuya.enum(1),
6081
+ }),
6082
+ ],
6083
+ [50, "current_heating_setpoint", tuya.valueConverter.raw],
6084
+ [68, "programming_mode", tuya.valueConverter.raw],
6085
+ [101, "max_temperature_limit", tuya.valueConverter.raw],
6086
+ [102, "deadzone_temperature", tuya.valueConverter.raw],
6087
+ ],
6088
+ },
6089
+ },
5995
6090
  {
5996
6091
  fingerprint: tuya.fingerprint("TS0601", ["_TZE284_ymldrmzx"]),
5997
6092
  model: "TRV603-WZ",
@@ -13777,7 +13872,6 @@ exports.definitions = [
13777
13872
  fromZigbee: [tuya.fz.datapoints, tuya.fz.gateway_connection_status],
13778
13873
  toZigbee: [tuya.tz.datapoints],
13779
13874
  configure: tuya.configureMagicPacket,
13780
- whiteLabel: [{ vendor: "XOCA", model: "DAC4121C" }],
13781
13875
  exposes: [e.current(), e.power(), e.voltage(), e.energy(), e.text("meter_id", ea.STATE).withDescription("Meter ID (ID of device)")],
13782
13876
  meta: {
13783
13877
  tuyaDatapoints: [
@@ -15652,6 +15746,60 @@ exports.definitions = [
15652
15746
  ],
15653
15747
  },
15654
15748
  },
15749
+ {
15750
+ fingerprint: [{ modelID: "TS0601", manufacturerName: "_TZE200_lvkk0hdg" }],
15751
+ model: "TLC2206",
15752
+ vendor: "Tuya",
15753
+ description: "Water level sensor",
15754
+ fromZigbee: [tuya.fz.datapoints],
15755
+ toZigbee: [tuya.tz.datapoints],
15756
+ onEvent: tuya.onEventSetLocalTime,
15757
+ configure: tuya.configureMagicPacket,
15758
+ exposes: [
15759
+ e.numeric("liquid_level_percent", ea.STATE).withUnit("%").withDescription("Liquid level ratio"),
15760
+ e.numeric("liquid_depth", ea.STATE).withUnit("cm").withDescription("Liquid depth"),
15761
+ e.enum("liquid_state", ea.STATE, ["low", "normal", "high"]).withDescription("Liquid level status"),
15762
+ e
15763
+ .numeric("max_set", ea.STATE_SET)
15764
+ .withUnit("%")
15765
+ .withDescription("Liquid max percentage")
15766
+ .withValueMin(0)
15767
+ .withValueMax(100)
15768
+ .withValueStep(1),
15769
+ e
15770
+ .numeric("min_set", ea.STATE_SET)
15771
+ .withUnit("%")
15772
+ .withDescription("Liquid minimal percentage")
15773
+ .withValueMin(0)
15774
+ .withValueMax(100)
15775
+ .withValueStep(1),
15776
+ e
15777
+ .numeric("installation_height", ea.STATE_SET)
15778
+ .withUnit("mm")
15779
+ .withDescription("Height from sensor to tank bottom")
15780
+ .withValueMin(10)
15781
+ .withValueMax(4000)
15782
+ .withValueStep(1),
15783
+ e
15784
+ .numeric("liquid_depth_max", ea.STATE_SET)
15785
+ .withUnit("mm")
15786
+ .withDescription("Height from sensor to liquid level")
15787
+ .withValueMin(10)
15788
+ .withValueMax(4000)
15789
+ .withValueStep(5),
15790
+ ],
15791
+ meta: {
15792
+ tuyaDatapoints: [
15793
+ [1, "liquid_state", tuya.valueConverterBasic.lookup({ low: tuya.enum(1), normal: tuya.enum(0), high: tuya.enum(2) })],
15794
+ [2, "liquid_depth", tuya.valueConverter.raw], // mm
15795
+ [22, "liquid_level_percent", tuya.valueConverter.raw],
15796
+ [7, "max_set", tuya.valueConverter.raw],
15797
+ [8, "min_set", tuya.valueConverter.raw],
15798
+ [19, "installation_height", tuya.valueConverter.raw],
15799
+ [21, "liquid_depth_max", tuya.valueConverter.raw],
15800
+ ],
15801
+ },
15802
+ },
15655
15803
  {
15656
15804
  fingerprint: tuya.fingerprint("TS0601", ["_TZE204_q12rv9gj"]),
15657
15805
  model: "HHST001",
@@ -15729,6 +15877,7 @@ exports.definitions = [
15729
15877
  Tempoary: tuya.enum(2),
15730
15878
  }),
15731
15879
  ],
15880
+ [113, "humidity", tuya.valueConverter.raw],
15732
15881
  ],
15733
15882
  },
15734
15883
  },
@@ -15774,7 +15923,7 @@ exports.definitions = [
15774
15923
  [2, "valve_2", tuya.valueConverter.onOff],
15775
15924
  [
15776
15925
  105,
15777
- "valve_1",
15926
+ "valve_2",
15778
15927
  tuya.valueConverterBasic.lookup({
15779
15928
  OFF: tuya.enum(2),
15780
15929
  ON: tuya.enum(0),
@@ -16777,5 +16926,95 @@ exports.definitions = [
16777
16926
  ],
16778
16927
  },
16779
16928
  },
16929
+ {
16930
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE204_jcwbwckh"]),
16931
+ model: "ZBN-JT-63",
16932
+ vendor: "Tuya",
16933
+ description: "Din rail switch with power monitoring",
16934
+ fromZigbee: [tuya.fz.datapoints],
16935
+ toZigbee: [tuya.tz.datapoints],
16936
+ exposes: [
16937
+ tuya.exposes.switch(),
16938
+ e.numeric("power", ea.STATE).withDescription("power").withUnit("W").withDescription("Instantaneous measured power"),
16939
+ e.numeric("current", ea.STATE).withDescription("current").withUnit("A").withDescription("Instantaneous measured electrical current"),
16940
+ e.numeric("voltage", ea.STATE).withDescription("voltage").withUnit("V").withDescription("Measured electrical potential value"),
16941
+ e.numeric("energy", ea.STATE).withDescription("energy").withUnit("kWh").withDescription("Consumed energy"),
16942
+ e.enum("power_outage_memory", ea.STATE_SET, ["on", "off", "restore"]).withDescription("Recover state after power outage"),
16943
+ e
16944
+ .enum("fault", ea.STATE, [
16945
+ "clear",
16946
+ "short_circuit_alarm",
16947
+ "surge_alarm",
16948
+ "overload_alarm",
16949
+ "leakagecurr_alarm",
16950
+ "temp_dif_fault",
16951
+ "fire_alarm",
16952
+ "high_power_alarm",
16953
+ "self_test_alarm",
16954
+ "ov_cr",
16955
+ "unbalance_alarm",
16956
+ "ov_vol",
16957
+ "undervoltage_alarm",
16958
+ "miss_phase_alarm",
16959
+ "outage_alarm",
16960
+ "magnetism_alarm",
16961
+ "credit_alarm",
16962
+ "no_balance_alarm",
16963
+ ])
16964
+ .withDescription("Fault status of the device (clear = nothing)"),
16965
+ e.text("meter_id", ea.STATE).withDescription("Meter ID (ID of device)"),
16966
+ ],
16967
+ meta: {
16968
+ tuyaDatapoints: [
16969
+ [1, "energy", tuya.valueConverter.divideBy100],
16970
+ [3, null, null],
16971
+ [4, null, null],
16972
+ [6, null, tuya.valueConverter.phaseVariant3],
16973
+ [
16974
+ 10,
16975
+ "fault",
16976
+ tuya.valueConverterBasic.lookup({
16977
+ clear: 0,
16978
+ ov_cr: 1,
16979
+ unbalance_alarm: 2,
16980
+ ov_vol: 4,
16981
+ undervoltage_alarm: 8,
16982
+ miss_phase_alarm: 16,
16983
+ outage_alarm: 32,
16984
+ magnetism_alarm: 64,
16985
+ terminal_alarm: 128,
16986
+ cover_alarm: 256,
16987
+ credit_alarm: 512,
16988
+ no_balance_alarm: 1024,
16989
+ battery_alarm: 2048,
16990
+ meter_hardware_alarm: 4096,
16991
+ }),
16992
+ ],
16993
+ [16, "state", tuya.valueConverter.onOff],
16994
+ [
16995
+ 18,
16996
+ "meter_id",
16997
+ {
16998
+ from: (v) => {
16999
+ if (typeof v === "object") {
17000
+ const buf = Buffer.from([v[0], v[1], v[2], v[3]]);
17001
+ return buf.readUInt32BE();
17002
+ }
17003
+ return v;
17004
+ },
17005
+ },
17006
+ ],
17007
+ [
17008
+ 23,
17009
+ "power_outage_memory",
17010
+ tuya.valueConverterBasic.lookup({
17011
+ on: 0,
17012
+ off: 1,
17013
+ restore: 2,
17014
+ }),
17015
+ ],
17016
+ ],
17017
+ },
17018
+ },
16780
17019
  ];
16781
17020
  //# sourceMappingURL=tuya.js.map