zigbee-herdsman-converters 23.35.0 → 23.37.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 +31 -0
- package/dist/devices/lumi.d.ts.map +1 -1
- package/dist/devices/lumi.js +164 -1
- package/dist/devices/lumi.js.map +1 -1
- package/dist/devices/moes.d.ts.map +1 -1
- package/dist/devices/moes.js +0 -1
- package/dist/devices/moes.js.map +1 -1
- package/dist/devices/sonoff.js +1 -1
- package/dist/devices/sonoff.js.map +1 -1
- package/dist/devices/third_reality.js +1 -1
- package/dist/devices/third_reality.js.map +1 -1
- package/dist/devices/tuya.d.ts.map +1 -1
- package/dist/devices/tuya.js +242 -2
- package/dist/devices/tuya.js.map +1 -1
- package/dist/devices/zemismart.d.ts.map +1 -1
- package/dist/devices/zemismart.js +157 -147
- package/dist/devices/zemismart.js.map +1 -1
- package/dist/lib/ikea.d.ts.map +1 -1
- package/dist/lib/ikea.js +40 -29
- package/dist/lib/ikea.js.map +1 -1
- package/dist/lib/lumi.d.ts +1 -0
- package/dist/lib/lumi.d.ts.map +1 -1
- package/dist/lib/lumi.js +207 -0
- package/dist/lib/lumi.js.map +1 -1
- package/dist/models-index.json +1 -1
- package/package.json +1 -1
package/dist/devices/tuya.js
CHANGED
|
@@ -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",
|
|
@@ -8695,6 +8790,7 @@ exports.definitions = [
|
|
|
8695
8790
|
fz.tuya_operation_mode,
|
|
8696
8791
|
fz.battery,
|
|
8697
8792
|
],
|
|
8793
|
+
whiteLabel: [tuya.whitelabel("Tuya", "ZG-101Z_D", "Smart knob", ["_TZ3000_402vrq2i"])],
|
|
8698
8794
|
toZigbee: [tz.tuya_operation_mode],
|
|
8699
8795
|
exposes: [
|
|
8700
8796
|
e.action([
|
|
@@ -10158,6 +10254,60 @@ exports.definitions = [
|
|
|
10158
10254
|
],
|
|
10159
10255
|
},
|
|
10160
10256
|
},
|
|
10257
|
+
{
|
|
10258
|
+
fingerprint: tuya.fingerprint("TS0601", ["_TZE284_eaet5qt5", "_TZE284_fhvpaltk"]),
|
|
10259
|
+
model: "TS0601_water_switch",
|
|
10260
|
+
vendor: "Tuya",
|
|
10261
|
+
description: "Dual water valve",
|
|
10262
|
+
fromZigbee: [tuya.fz.datapoints, fz.battery],
|
|
10263
|
+
toZigbee: [tuya.tz.datapoints],
|
|
10264
|
+
onEvent: tuya.onEventSetTime,
|
|
10265
|
+
configure: tuya.configureMagicPacket,
|
|
10266
|
+
exposes: [
|
|
10267
|
+
e.enum("valve_status", ea.STATE, ["manual", "auto", "idle"]).withDescription("Valve 1 status (manual, auto, idle)").withEndpoint("l1"),
|
|
10268
|
+
e.enum("valve_status", ea.STATE, ["manual", "auto", "idle"]).withDescription("Valve 2 status (manual, auto, idle)").withEndpoint("l2"),
|
|
10269
|
+
e.switch().withEndpoint("l1").withDescription("Valve 1 on/off").withLabel("Valve 1"),
|
|
10270
|
+
e.switch().withEndpoint("l2").withDescription("Valve 2 on/off").withLabel("Valve 2"),
|
|
10271
|
+
e
|
|
10272
|
+
.numeric("countdown", ea.STATE_SET)
|
|
10273
|
+
.withUnit("min")
|
|
10274
|
+
.withDescription("Valve 1 countdown in minutes")
|
|
10275
|
+
.withValueMin(0)
|
|
10276
|
+
.withValueMax(1440)
|
|
10277
|
+
.withEndpoint("l1"),
|
|
10278
|
+
e
|
|
10279
|
+
.numeric("countdown", ea.STATE_SET)
|
|
10280
|
+
.withUnit("min")
|
|
10281
|
+
.withDescription("Valve 2 countdown in minutes")
|
|
10282
|
+
.withValueMin(0)
|
|
10283
|
+
.withValueMax(1440)
|
|
10284
|
+
.withEndpoint("l2"),
|
|
10285
|
+
e.numeric("valve_duration", ea.STATE).withUnit("s").withDescription("Valve 1 irrigation last duration in seconds").withEndpoint("l1"),
|
|
10286
|
+
e.numeric("valve_duration", ea.STATE).withUnit("s").withDescription("Valve 2 irrigation last duration in seconds").withEndpoint("l2"),
|
|
10287
|
+
e.battery(),
|
|
10288
|
+
e.battery_voltage(),
|
|
10289
|
+
],
|
|
10290
|
+
meta: {
|
|
10291
|
+
tuyaSendCommand: "sendData",
|
|
10292
|
+
tuyaDatapoints: [
|
|
10293
|
+
[1, "state_l1", tuya.valueConverter.onOff], // Valve 1 on/off
|
|
10294
|
+
[2, "state_l2", tuya.valueConverter.onOff], // Valve 2 on/off
|
|
10295
|
+
[13, "countdown_l1", tuya.valueConverter.raw], // Valve 1 countdown
|
|
10296
|
+
[14, "countdown_l2", tuya.valueConverter.raw], // Valve 2 countdown
|
|
10297
|
+
[25, "valve_duration_l1", tuya.valueConverter.raw], // Valve 1 duration
|
|
10298
|
+
[26, "valve_duration_l2", tuya.valueConverter.raw], // Valve 2 duration
|
|
10299
|
+
[104, "valve_status_l1", tuya.valueConverterBasic.lookup({ manual: 0, auto: 1, idle: 2 })], // Valve 1 status
|
|
10300
|
+
[105, "valve_status_l2", tuya.valueConverterBasic.lookup({ manual: 0, auto: 1, idle: 2 })], // Valve 2 status
|
|
10301
|
+
],
|
|
10302
|
+
multiEndpoint: true, // Enable multi-endpoint support
|
|
10303
|
+
},
|
|
10304
|
+
endpoint: (device) => {
|
|
10305
|
+
return {
|
|
10306
|
+
l1: 1, // Valve 1 uses endpoint 1
|
|
10307
|
+
l2: 1, // Valve 2 also uses endpoint 1
|
|
10308
|
+
};
|
|
10309
|
+
},
|
|
10310
|
+
},
|
|
10161
10311
|
{
|
|
10162
10312
|
fingerprint: tuya.fingerprint("TS0601", ["_TZE200_r32ctezx", "_TZE204_r32ctezx"]),
|
|
10163
10313
|
model: "TS0601_fan_switch",
|
|
@@ -13777,7 +13927,6 @@ exports.definitions = [
|
|
|
13777
13927
|
fromZigbee: [tuya.fz.datapoints, tuya.fz.gateway_connection_status],
|
|
13778
13928
|
toZigbee: [tuya.tz.datapoints],
|
|
13779
13929
|
configure: tuya.configureMagicPacket,
|
|
13780
|
-
whiteLabel: [{ vendor: "XOCA", model: "DAC4121C" }],
|
|
13781
13930
|
exposes: [e.current(), e.power(), e.voltage(), e.energy(), e.text("meter_id", ea.STATE).withDescription("Meter ID (ID of device)")],
|
|
13782
13931
|
meta: {
|
|
13783
13932
|
tuyaDatapoints: [
|
|
@@ -15783,6 +15932,7 @@ exports.definitions = [
|
|
|
15783
15932
|
Tempoary: tuya.enum(2),
|
|
15784
15933
|
}),
|
|
15785
15934
|
],
|
|
15935
|
+
[113, "humidity", tuya.valueConverter.raw],
|
|
15786
15936
|
],
|
|
15787
15937
|
},
|
|
15788
15938
|
},
|
|
@@ -15828,7 +15978,7 @@ exports.definitions = [
|
|
|
15828
15978
|
[2, "valve_2", tuya.valueConverter.onOff],
|
|
15829
15979
|
[
|
|
15830
15980
|
105,
|
|
15831
|
-
"
|
|
15981
|
+
"valve_2",
|
|
15832
15982
|
tuya.valueConverterBasic.lookup({
|
|
15833
15983
|
OFF: tuya.enum(2),
|
|
15834
15984
|
ON: tuya.enum(0),
|
|
@@ -16831,5 +16981,95 @@ exports.definitions = [
|
|
|
16831
16981
|
],
|
|
16832
16982
|
},
|
|
16833
16983
|
},
|
|
16984
|
+
{
|
|
16985
|
+
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_jcwbwckh"]),
|
|
16986
|
+
model: "ZBN-JT-63",
|
|
16987
|
+
vendor: "Tuya",
|
|
16988
|
+
description: "Din rail switch with power monitoring",
|
|
16989
|
+
fromZigbee: [tuya.fz.datapoints],
|
|
16990
|
+
toZigbee: [tuya.tz.datapoints],
|
|
16991
|
+
exposes: [
|
|
16992
|
+
tuya.exposes.switch(),
|
|
16993
|
+
e.numeric("power", ea.STATE).withDescription("power").withUnit("W").withDescription("Instantaneous measured power"),
|
|
16994
|
+
e.numeric("current", ea.STATE).withDescription("current").withUnit("A").withDescription("Instantaneous measured electrical current"),
|
|
16995
|
+
e.numeric("voltage", ea.STATE).withDescription("voltage").withUnit("V").withDescription("Measured electrical potential value"),
|
|
16996
|
+
e.numeric("energy", ea.STATE).withDescription("energy").withUnit("kWh").withDescription("Consumed energy"),
|
|
16997
|
+
e.enum("power_outage_memory", ea.STATE_SET, ["on", "off", "restore"]).withDescription("Recover state after power outage"),
|
|
16998
|
+
e
|
|
16999
|
+
.enum("fault", ea.STATE, [
|
|
17000
|
+
"clear",
|
|
17001
|
+
"short_circuit_alarm",
|
|
17002
|
+
"surge_alarm",
|
|
17003
|
+
"overload_alarm",
|
|
17004
|
+
"leakagecurr_alarm",
|
|
17005
|
+
"temp_dif_fault",
|
|
17006
|
+
"fire_alarm",
|
|
17007
|
+
"high_power_alarm",
|
|
17008
|
+
"self_test_alarm",
|
|
17009
|
+
"ov_cr",
|
|
17010
|
+
"unbalance_alarm",
|
|
17011
|
+
"ov_vol",
|
|
17012
|
+
"undervoltage_alarm",
|
|
17013
|
+
"miss_phase_alarm",
|
|
17014
|
+
"outage_alarm",
|
|
17015
|
+
"magnetism_alarm",
|
|
17016
|
+
"credit_alarm",
|
|
17017
|
+
"no_balance_alarm",
|
|
17018
|
+
])
|
|
17019
|
+
.withDescription("Fault status of the device (clear = nothing)"),
|
|
17020
|
+
e.text("meter_id", ea.STATE).withDescription("Meter ID (ID of device)"),
|
|
17021
|
+
],
|
|
17022
|
+
meta: {
|
|
17023
|
+
tuyaDatapoints: [
|
|
17024
|
+
[1, "energy", tuya.valueConverter.divideBy100],
|
|
17025
|
+
[3, null, null],
|
|
17026
|
+
[4, null, null],
|
|
17027
|
+
[6, null, tuya.valueConverter.phaseVariant3],
|
|
17028
|
+
[
|
|
17029
|
+
10,
|
|
17030
|
+
"fault",
|
|
17031
|
+
tuya.valueConverterBasic.lookup({
|
|
17032
|
+
clear: 0,
|
|
17033
|
+
ov_cr: 1,
|
|
17034
|
+
unbalance_alarm: 2,
|
|
17035
|
+
ov_vol: 4,
|
|
17036
|
+
undervoltage_alarm: 8,
|
|
17037
|
+
miss_phase_alarm: 16,
|
|
17038
|
+
outage_alarm: 32,
|
|
17039
|
+
magnetism_alarm: 64,
|
|
17040
|
+
terminal_alarm: 128,
|
|
17041
|
+
cover_alarm: 256,
|
|
17042
|
+
credit_alarm: 512,
|
|
17043
|
+
no_balance_alarm: 1024,
|
|
17044
|
+
battery_alarm: 2048,
|
|
17045
|
+
meter_hardware_alarm: 4096,
|
|
17046
|
+
}),
|
|
17047
|
+
],
|
|
17048
|
+
[16, "state", tuya.valueConverter.onOff],
|
|
17049
|
+
[
|
|
17050
|
+
18,
|
|
17051
|
+
"meter_id",
|
|
17052
|
+
{
|
|
17053
|
+
from: (v) => {
|
|
17054
|
+
if (typeof v === "object") {
|
|
17055
|
+
const buf = Buffer.from([v[0], v[1], v[2], v[3]]);
|
|
17056
|
+
return buf.readUInt32BE();
|
|
17057
|
+
}
|
|
17058
|
+
return v;
|
|
17059
|
+
},
|
|
17060
|
+
},
|
|
17061
|
+
],
|
|
17062
|
+
[
|
|
17063
|
+
23,
|
|
17064
|
+
"power_outage_memory",
|
|
17065
|
+
tuya.valueConverterBasic.lookup({
|
|
17066
|
+
on: 0,
|
|
17067
|
+
off: 1,
|
|
17068
|
+
restore: 2,
|
|
17069
|
+
}),
|
|
17070
|
+
],
|
|
17071
|
+
],
|
|
17072
|
+
},
|
|
17073
|
+
},
|
|
16834
17074
|
];
|
|
16835
17075
|
//# sourceMappingURL=tuya.js.map
|