zigbee-herdsman-converters 25.56.0 → 25.57.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 +29 -0
- package/dist/devices/lixee.js +8 -8
- package/dist/devices/lixee.js.map +1 -1
- package/dist/devices/philips.d.ts.map +1 -1
- package/dist/devices/philips.js +32 -18
- package/dist/devices/philips.js.map +1 -1
- package/dist/devices/somfy.d.ts.map +1 -1
- package/dist/devices/somfy.js +7 -0
- package/dist/devices/somfy.js.map +1 -1
- package/dist/devices/sonoff.d.ts.map +1 -1
- package/dist/devices/sonoff.js +190 -24
- package/dist/devices/sonoff.js.map +1 -1
- package/dist/devices/tuya.d.ts.map +1 -1
- package/dist/devices/tuya.js +230 -52
- package/dist/devices/tuya.js.map +1 -1
- package/dist/devices/zemismart.d.ts.map +1 -1
- package/dist/devices/zemismart.js +0 -11
- package/dist/devices/zemismart.js.map +1 -1
- package/dist/lib/modernExtend.d.ts.map +1 -1
- package/dist/lib/modernExtend.js +3 -1
- package/dist/lib/modernExtend.js.map +1 -1
- package/dist/lib/tuya.d.ts.map +1 -1
- package/dist/lib/tuya.js +3 -1
- package/dist/lib/tuya.js.map +1 -1
- package/dist/models-index.json +1 -1
- package/package.json +1 -1
package/dist/devices/tuya.js
CHANGED
|
@@ -1232,16 +1232,79 @@ exports.definitions = [
|
|
|
1232
1232
|
e.numeric("water_consumed", ea.STATE).withUnit("m³").withDescription("Total water consumption").withValueMin(0).withValueStep(0.001),
|
|
1233
1233
|
e.numeric("month_consumption", ea.STATE).withUnit("m³").withDescription("Monthly water consumption").withValueMin(0).withValueStep(0.001),
|
|
1234
1234
|
e.numeric("daily_consumption", ea.STATE).withUnit("m³").withDescription("Daily water consumption").withValueMin(0).withValueStep(0.001),
|
|
1235
|
-
e.
|
|
1236
|
-
e
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1235
|
+
e.numeric("flow_rate", ea.STATE).withUnit("m³/h").withDescription("Instantaneous flow rate").withValueMin(0).withValueStep(0.001),
|
|
1236
|
+
e
|
|
1237
|
+
.numeric("reverse_water_consumed", ea.STATE)
|
|
1238
|
+
.withUnit("m³")
|
|
1239
|
+
.withDescription("Reverse water consumption")
|
|
1240
|
+
.withValueMin(0)
|
|
1241
|
+
.withValueStep(0.001),
|
|
1242
|
+
e.enum("report_period", ea.STATE_SET, ["1h", "2h", "3h", "4h", "6h", "8h", "12h", "24h"]).withDescription("Report period"),
|
|
1243
|
+
e.text("meter_id", ea.STATE).withDescription("Meter identification number"),
|
|
1244
|
+
e.temperature(),
|
|
1245
|
+
e.voltage(),
|
|
1240
1246
|
e.enum("fault", ea.STATE, ["empty_pipe", "no_fault"]).withDescription("Fault status"),
|
|
1241
1247
|
],
|
|
1242
1248
|
meta: {
|
|
1243
1249
|
tuyaDatapoints: [
|
|
1244
1250
|
[1, "water_consumed", tuya.valueConverter.divideBy1000],
|
|
1251
|
+
[
|
|
1252
|
+
2,
|
|
1253
|
+
"month_consumption",
|
|
1254
|
+
{
|
|
1255
|
+
from: (value, meta) => {
|
|
1256
|
+
const buffer = Buffer.from(value);
|
|
1257
|
+
if (buffer.length >= 8) {
|
|
1258
|
+
try {
|
|
1259
|
+
const uintValue = buffer.slice(-4).readUInt32BE(0);
|
|
1260
|
+
return uintValue / 1000;
|
|
1261
|
+
}
|
|
1262
|
+
catch (_error) {
|
|
1263
|
+
return null;
|
|
1264
|
+
}
|
|
1265
|
+
}
|
|
1266
|
+
return null;
|
|
1267
|
+
},
|
|
1268
|
+
},
|
|
1269
|
+
],
|
|
1270
|
+
[
|
|
1271
|
+
3,
|
|
1272
|
+
"daily_consumption",
|
|
1273
|
+
{
|
|
1274
|
+
from: (value, meta) => {
|
|
1275
|
+
const buffer = Buffer.from(value);
|
|
1276
|
+
if (buffer.length >= 8) {
|
|
1277
|
+
try {
|
|
1278
|
+
const uintValue = buffer.slice(-4).readUInt32BE(0);
|
|
1279
|
+
return uintValue / 1000;
|
|
1280
|
+
}
|
|
1281
|
+
catch (_error) {
|
|
1282
|
+
return null;
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
return null;
|
|
1286
|
+
},
|
|
1287
|
+
},
|
|
1288
|
+
],
|
|
1289
|
+
[
|
|
1290
|
+
21,
|
|
1291
|
+
"flow_rate",
|
|
1292
|
+
{
|
|
1293
|
+
from: (value, meta) => {
|
|
1294
|
+
const buffer = Buffer.from(value);
|
|
1295
|
+
if (buffer.length >= 4) {
|
|
1296
|
+
try {
|
|
1297
|
+
const uintValue = buffer.slice(-4).readUInt32BE(0);
|
|
1298
|
+
return uintValue / 1000;
|
|
1299
|
+
}
|
|
1300
|
+
catch (_error) {
|
|
1301
|
+
return null;
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
return null;
|
|
1305
|
+
},
|
|
1306
|
+
},
|
|
1307
|
+
],
|
|
1245
1308
|
[
|
|
1246
1309
|
4,
|
|
1247
1310
|
"report_period",
|
|
@@ -1256,25 +1319,42 @@ exports.definitions = [
|
|
|
1256
1319
|
"24h": 7,
|
|
1257
1320
|
}),
|
|
1258
1321
|
],
|
|
1322
|
+
[5, "fault", tuya.valueConverterBasic.lookup({ empty_pipe: 6144, no_fault: 0 })],
|
|
1259
1323
|
[16, "meter_id", tuya.valueConverter.raw],
|
|
1260
|
-
[21, "flow_rate", tuya.valueConverter.divideBy1000],
|
|
1261
|
-
[22, "temperature", tuya.valueConverter.divideBy100],
|
|
1262
|
-
[26, "voltage", tuya.valueConverter.divideBy100],
|
|
1263
1324
|
[
|
|
1264
|
-
|
|
1265
|
-
"
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1325
|
+
18,
|
|
1326
|
+
"reverse_water_consumed",
|
|
1327
|
+
{
|
|
1328
|
+
from: (value, meta) => {
|
|
1329
|
+
const buffer = Buffer.from(value);
|
|
1330
|
+
if (buffer.length >= 4) {
|
|
1331
|
+
try {
|
|
1332
|
+
const uintValue = buffer.readUInt32BE(0);
|
|
1333
|
+
return uintValue / 1000;
|
|
1334
|
+
}
|
|
1335
|
+
catch (_error) {
|
|
1336
|
+
return null;
|
|
1337
|
+
}
|
|
1338
|
+
}
|
|
1339
|
+
return null;
|
|
1340
|
+
},
|
|
1341
|
+
},
|
|
1270
1342
|
],
|
|
1343
|
+
[22, "temperature", tuya.valueConverter.divideBy100],
|
|
1344
|
+
[26, "voltage", tuya.valueConverter.divideBy100],
|
|
1271
1345
|
],
|
|
1272
1346
|
},
|
|
1273
1347
|
options: [
|
|
1274
1348
|
exposes.options.precision("water_consumed"),
|
|
1275
1349
|
exposes.options.calibration("water_consumed"),
|
|
1350
|
+
exposes.options.precision("month_consumption"),
|
|
1351
|
+
exposes.options.calibration("month_consumption"),
|
|
1352
|
+
exposes.options.precision("daily_consumption"),
|
|
1353
|
+
exposes.options.calibration("daily_consumption"),
|
|
1276
1354
|
exposes.options.precision("flow_rate"),
|
|
1277
1355
|
exposes.options.calibration("flow_rate"),
|
|
1356
|
+
exposes.options.precision("reverse_water_consumed"),
|
|
1357
|
+
exposes.options.calibration("reverse_water_consumed"),
|
|
1278
1358
|
exposes.options.precision("temperature"),
|
|
1279
1359
|
exposes.options.calibration("temperature"),
|
|
1280
1360
|
],
|
|
@@ -1939,29 +2019,62 @@ exports.definitions = [
|
|
|
1939
2019
|
description: "Window sensor with 3-state opening (DP101), optional alarm, battery",
|
|
1940
2020
|
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1941
2021
|
exposes: [
|
|
1942
|
-
|
|
2022
|
+
e.enum("opening_state", ea.STATE, ["open", "closed", "tilted"]).withDescription("Opening state"),
|
|
2023
|
+
e.binary("alarm_state", ea.STATE_SET, true, false).withDescription("Alarm was triggered."),
|
|
2024
|
+
e.binary("setup_mode", ea.STATE_SET, true, false).withDescription("Set mode status"),
|
|
2025
|
+
e.binary("alarm_siren", ea.STATE_SET, true, false).withDescription("Activate the siren when the alarm is triggered."),
|
|
1943
2026
|
e
|
|
1944
|
-
.
|
|
1945
|
-
.withDescription("
|
|
1946
|
-
|
|
2027
|
+
.numeric("alarm_siren_duration", ea.STATE_SET)
|
|
2028
|
+
.withDescription("Duration of the alarm siren.")
|
|
2029
|
+
.withValueMin(5)
|
|
2030
|
+
.withValueMax(180)
|
|
2031
|
+
.withValueStep(1),
|
|
2032
|
+
e.numeric("vibration", ea.STATE).withDescription("Value of vibration."),
|
|
1947
2033
|
e
|
|
1948
|
-
.
|
|
1949
|
-
.withDescription("
|
|
2034
|
+
.numeric("vibration_limit", ea.STATE_SET)
|
|
2035
|
+
.withDescription("Limit at which a vibration is reported.")
|
|
2036
|
+
.withValueMin(0)
|
|
2037
|
+
.withValueMax(100)
|
|
2038
|
+
.withValueStep(1),
|
|
2039
|
+
e.binary("vibration_sirene", ea.STATE_SET, true, false).withDescription("Activate the siren when vibrating."),
|
|
2040
|
+
e
|
|
2041
|
+
.numeric("vibration_sirene_duration", ea.STATE_SET)
|
|
2042
|
+
.withDescription("Duration of the vibrating siren.")
|
|
2043
|
+
.withValueMin(5)
|
|
2044
|
+
.withValueMax(180)
|
|
2045
|
+
.withValueStep(1),
|
|
2046
|
+
e.binary("close_signal", ea.STATE_SET, true, false).withDescription("Enable sound when closing the window."),
|
|
2047
|
+
e
|
|
2048
|
+
.numeric("transmission_power", ea.STATE_SET)
|
|
2049
|
+
.withDescription("Transmission power 11-19. High value > battery consumption.")
|
|
2050
|
+
.withValueMin(11)
|
|
2051
|
+
.withValueMax(19)
|
|
2052
|
+
.withValueStep(1),
|
|
2053
|
+
e.binary("magnetic_status", ea.STATE, true, false).withDescription("Magnetic status."),
|
|
1950
2054
|
e.battery(),
|
|
1951
2055
|
],
|
|
1952
2056
|
meta: {
|
|
1953
|
-
// Datapoints from logs:
|
|
1954
|
-
// - 101: 0=open, 1=closed, 2=tilted
|
|
1955
|
-
// - 16 : alarm (boolean) — optional by firmware
|
|
1956
|
-
// - 102: battery percentage (0..100)
|
|
1957
2057
|
tuyaDatapoints: [
|
|
1958
|
-
[
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
2058
|
+
[
|
|
2059
|
+
101,
|
|
2060
|
+
"opening_state",
|
|
2061
|
+
tuya.valueConverterBasic.lookup({
|
|
2062
|
+
open: 0,
|
|
2063
|
+
closed: 1,
|
|
2064
|
+
tilted: 2,
|
|
2065
|
+
}),
|
|
2066
|
+
],
|
|
2067
|
+
[16, "alarm_state", tuya.valueConverter.raw],
|
|
2068
|
+
[107, "setup_mode", tuya.valueConverter.raw],
|
|
2069
|
+
[103, "alarm_siren", tuya.valueConverter.raw],
|
|
2070
|
+
[109, "alarm_siren_duration", tuya.valueConverter.raw],
|
|
2071
|
+
[102, "vibration", tuya.valueConverter.raw],
|
|
2072
|
+
[106, "vibration_limit", tuya.valueConverter.raw],
|
|
2073
|
+
[110, "vibration_sirene_duration", tuya.valueConverter.raw],
|
|
2074
|
+
[108, "vibration_sirene", tuya.valueConverter.raw],
|
|
2075
|
+
[104, "close_signal", tuya.valueConverter.raw],
|
|
2076
|
+
[105, "transmission_power", tuya.valueConverter.raw],
|
|
2077
|
+
[111, "magnetic_status", tuya.valueConverter.raw],
|
|
1965
2078
|
[2, "battery", tuya.valueConverter.raw],
|
|
1966
2079
|
],
|
|
1967
2080
|
},
|
|
@@ -2742,7 +2855,10 @@ exports.definitions = [
|
|
|
2742
2855
|
[5, "temperature", tuya.valueConverter.divideBy10],
|
|
2743
2856
|
[9, "temperature_unit", tuya.valueConverter.temperatureUnit],
|
|
2744
2857
|
[14, "battery_state", tuya.valueConverter.batteryState],
|
|
2745
|
-
|
|
2858
|
+
// https://github.com/Koenkk/zigbee-herdsman-converters/pull/8449
|
|
2859
|
+
// [15, "battery", tuya.valueConverterBasic.scale(6, 60, 0, 100)], //device reports back false scaling
|
|
2860
|
+
// https://github.com/Koenkk/zigbee2mqtt/issues/26215#issuecomment-3466490289
|
|
2861
|
+
[15, "battery", tuya.valueConverter.raw],
|
|
2746
2862
|
],
|
|
2747
2863
|
},
|
|
2748
2864
|
whiteLabel: [
|
|
@@ -4636,7 +4752,7 @@ exports.definitions = [
|
|
|
4636
4752
|
},
|
|
4637
4753
|
},
|
|
4638
4754
|
{
|
|
4639
|
-
fingerprint: tuya.fingerprint("TS0001", ["_TZ3000_myaaknbq", "_TZ3000_cpozgbrx"]),
|
|
4755
|
+
fingerprint: tuya.fingerprint("TS0001", ["_TZ3000_myaaknbq", "_TZ3000_cpozgbrx", "_TZ3000_drc9tuqb"]),
|
|
4640
4756
|
model: "TS0001_switch_module_1",
|
|
4641
4757
|
vendor: "Tuya",
|
|
4642
4758
|
description: "1 gang switch module",
|
|
@@ -4650,6 +4766,7 @@ exports.definitions = [
|
|
|
4650
4766
|
whiteLabel: [
|
|
4651
4767
|
tuya.whitelabel("PSMART", "T441", "1 gang switch module", ["_TZ3000_myaaknbq"]),
|
|
4652
4768
|
tuya.whitelabel("PSMART", "T461", "1 gang switch module", ["_TZ3000_cpozgbrx"]),
|
|
4769
|
+
tuya.whitelabel("Mercator Ikuü", "SSWM10-ZB", "1 gang switch module", ["_TZ3000_drc9tuqb"]),
|
|
4653
4770
|
],
|
|
4654
4771
|
configure: async (device, coordinatorEndpoint) => {
|
|
4655
4772
|
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
@@ -4824,6 +4941,7 @@ exports.definitions = [
|
|
|
4824
4941
|
"_TZ3000_uilitwsy",
|
|
4825
4942
|
"_TZ3000_66fekqhh",
|
|
4826
4943
|
"_TZ3000_ok0ggpk7",
|
|
4944
|
+
"_TZ3000_aknpkt02",
|
|
4827
4945
|
]),
|
|
4828
4946
|
model: "TS0003_switch_3_gang_with_backlight",
|
|
4829
4947
|
vendor: "Tuya",
|
|
@@ -4852,6 +4970,7 @@ exports.definitions = [
|
|
|
4852
4970
|
tuya.whitelabel("Zemismart", "KES-606US-L3", "3 gang switch with neutral", ["_TZ3000_uilitwsy"]),
|
|
4853
4971
|
tuya.whitelabel("AVATTO", "ZWOT16-W2", "2 gang switch and 1 socket", ["_TZ3000_66fekqhh"]),
|
|
4854
4972
|
tuya.whitelabel("Tuya", "M10Z", "2 gang switch with 20A power socket", ["_TZ3000_lubfc1t5"]),
|
|
4973
|
+
tuya.whitelabel("Zemismart", "ZMO-606-S2", "Smart 2 gangs switch with outlet", ["_TZ3000_aknpkt02"]),
|
|
4855
4974
|
],
|
|
4856
4975
|
},
|
|
4857
4976
|
{
|
|
@@ -5122,6 +5241,7 @@ exports.definitions = [
|
|
|
5122
5241
|
"_TZE200_1fuxihti",
|
|
5123
5242
|
"_TZE204_1fuxihti",
|
|
5124
5243
|
"_TZE204_57hjqelq",
|
|
5244
|
+
"_TZE204_vvvtcehj",
|
|
5125
5245
|
"_TZE200_hojryzzd",
|
|
5126
5246
|
"_TZE204_m1wl5fvq",
|
|
5127
5247
|
"_TZE200_en3wvcbx",
|
|
@@ -5188,7 +5308,7 @@ exports.definitions = [
|
|
|
5188
5308
|
{ vendor: "A-OK", model: "AM25", description: "Tubular motor" },
|
|
5189
5309
|
{ vendor: "Alutech", model: "AM/R-Sm", description: "Tubular motor" },
|
|
5190
5310
|
tuya.whitelabel("Shenzhen Golden Security Technology", "GM46", "Curtain motor", ["_TZE204_guvc7pdy"]),
|
|
5191
|
-
tuya.whitelabel("Roximo", "CRTZ01", "Curtain motor", ["_TZE204_57hjqelq"]),
|
|
5311
|
+
tuya.whitelabel("Roximo", "CRTZ01", "Curtain motor", ["_TZE204_57hjqelq", "_TZE204_vvvtcehj"]),
|
|
5192
5312
|
{ vendor: "Quoya", model: "AT8510-TY" },
|
|
5193
5313
|
tuya.whitelabel("Somgoms", "ZSTY-SM-1DMZG-US-W_1", "Curtain switch", ["_TZE200_axgvo9jh"]),
|
|
5194
5314
|
tuya.whitelabel("HUARUI", "CMD900LE", "Lithium battery intelligent curtain opening and closing motor", ["_TZE200_zxxfv8wi"]),
|
|
@@ -6257,7 +6377,6 @@ exports.definitions = [
|
|
|
6257
6377
|
"_TZE200_6rdj8dzm" /* model: 'ME167', vendor: 'AVATTO' */,
|
|
6258
6378
|
"_TZE200_9xfjixap" /* model: 'ME167', vendor: 'AVATTO' */,
|
|
6259
6379
|
"_TZE200_jkfbph7l" /* model: 'ME167', vendor: 'AVATTO' */,
|
|
6260
|
-
"_TZE200_p3dbf6qs" /* model: 'ME167', vendor: 'AVATTO' */,
|
|
6261
6380
|
"_TZE200_rxntag7i" /* model: 'ME168', vendor: 'AVATTO' */,
|
|
6262
6381
|
"_TZE200_yqgbrdyo",
|
|
6263
6382
|
"_TZE284_p3dbf6qs",
|
|
@@ -6279,7 +6398,6 @@ exports.definitions = [
|
|
|
6279
6398
|
description: "Thermostatic radiator valve",
|
|
6280
6399
|
whiteLabel: [
|
|
6281
6400
|
tuya.whitelabel("AVATTO", "ME167", "Thermostatic radiator valve", [
|
|
6282
|
-
"_TZE200_p3dbf6qs",
|
|
6283
6401
|
"_TZE200_bvu2wnxz",
|
|
6284
6402
|
"_TZE200_6rdj8dzm",
|
|
6285
6403
|
"_TZE200_9xfjixap",
|
|
@@ -6436,6 +6554,74 @@ exports.definitions = [
|
|
|
6436
6554
|
],
|
|
6437
6555
|
},
|
|
6438
6556
|
},
|
|
6557
|
+
{
|
|
6558
|
+
fingerprint: tuya.fingerprint("TS0601", ["_TZE200_p3dbf6qs" /* model: 'ME167_1', vendor: 'AVATTO' */]),
|
|
6559
|
+
model: "TS0601_thermostat_5",
|
|
6560
|
+
vendor: "Tuya",
|
|
6561
|
+
description: "Thermostatic radiator valve",
|
|
6562
|
+
whiteLabel: [tuya.whitelabel("AVATTO", "ME167_1", "Thermostatic radiator valve", ["_TZE200_p3dbf6qs"])],
|
|
6563
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "2000" })],
|
|
6564
|
+
exposes: [
|
|
6565
|
+
e.child_lock(),
|
|
6566
|
+
e.battery_low(),
|
|
6567
|
+
e
|
|
6568
|
+
.climate()
|
|
6569
|
+
.withSetpoint("current_heating_setpoint", 5, 35, 1, ea.STATE_SET)
|
|
6570
|
+
.withLocalTemperature(ea.STATE)
|
|
6571
|
+
.withSystemMode(["auto", "heat", "off"], ea.STATE_SET)
|
|
6572
|
+
.withRunningState(["idle", "heat"], ea.STATE)
|
|
6573
|
+
.withPiHeatingDemand()
|
|
6574
|
+
.withLocalTemperatureCalibration(-9, 9, 1, ea.STATE_SET),
|
|
6575
|
+
...tuya.exposes.scheduleAllDays(ea.STATE_SET, "HH:MM/C HH:MM/C HH:MM/C HH:MM/C HH:MM/C HH:MM/C"),
|
|
6576
|
+
e
|
|
6577
|
+
.binary("scale_protection", ea.STATE_SET, "ON", "OFF")
|
|
6578
|
+
.withDescription("If the heat sink is not fully opened within " +
|
|
6579
|
+
"two weeks or is not used for a long time, the valve will be blocked due to silting up and the heat sink will not be " +
|
|
6580
|
+
"able to be used. To ensure normal use of the heat sink, the controller will automatically open the valve fully every " +
|
|
6581
|
+
'two weeks. It will run for 30 seconds per time with the screen displaying "Ad", then return to its normal working state ' +
|
|
6582
|
+
"again."),
|
|
6583
|
+
e
|
|
6584
|
+
.binary("frost_protection", ea.STATE_SET, "ON", "OFF")
|
|
6585
|
+
.withDescription("When the room temperature is lower than 5 °C, the valve opens; when the temperature rises to 8 °C, the valve closes."),
|
|
6586
|
+
e.numeric("error", ea.STATE).withDescription('If NTC is damaged, "Er" will be on the TRV display.'),
|
|
6587
|
+
],
|
|
6588
|
+
meta: {
|
|
6589
|
+
tuyaDatapoints: [
|
|
6590
|
+
[
|
|
6591
|
+
2,
|
|
6592
|
+
"system_mode",
|
|
6593
|
+
tuya.valueConverterBasic.lookup({
|
|
6594
|
+
auto: tuya.enum(0),
|
|
6595
|
+
heat: tuya.enum(1),
|
|
6596
|
+
off: tuya.enum(2),
|
|
6597
|
+
}),
|
|
6598
|
+
],
|
|
6599
|
+
[
|
|
6600
|
+
3,
|
|
6601
|
+
"running_state",
|
|
6602
|
+
tuya.valueConverterBasic.lookup({
|
|
6603
|
+
heat: tuya.enum(0),
|
|
6604
|
+
idle: tuya.enum(1),
|
|
6605
|
+
}),
|
|
6606
|
+
],
|
|
6607
|
+
[4, "current_heating_setpoint", tuya.valueConverter.divideBy10],
|
|
6608
|
+
[5, "local_temperature", tuya.valueConverter.divideBy10],
|
|
6609
|
+
[7, "child_lock", tuya.valueConverter.lockUnlock],
|
|
6610
|
+
[28, "schedule_wednesday", tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(1, 6)],
|
|
6611
|
+
[29, "schedule_thursday", tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(2, 6)],
|
|
6612
|
+
[30, "schedule_friday", tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(3, 6)],
|
|
6613
|
+
[31, "schedule_saturday", tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(4, 6)],
|
|
6614
|
+
[32, "schedule_sunday", tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(5, 6)],
|
|
6615
|
+
[33, "schedule_monday", tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(6, 6)],
|
|
6616
|
+
[34, "schedule_tuesday", tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(7, 6)],
|
|
6617
|
+
[35, null, tuya.valueConverter.errorOrBatteryLow],
|
|
6618
|
+
[36, "frost_protection", tuya.valueConverter.onOff],
|
|
6619
|
+
[39, "scale_protection", tuya.valueConverter.onOff],
|
|
6620
|
+
[47, "local_temperature_calibration", tuya.valueConverter.localTempCalibration2],
|
|
6621
|
+
[101, "pi_heating_demand", tuya.valueConverter.raw],
|
|
6622
|
+
],
|
|
6623
|
+
},
|
|
6624
|
+
},
|
|
6439
6625
|
{
|
|
6440
6626
|
fingerprint: [...tuya.fingerprint("v90ladg\u0000", ["_TYST11_wv90ladg"]), ...tuya.fingerprint("TS0601", ["_TZE200_wv90ladg"])],
|
|
6441
6627
|
model: "HT-08",
|
|
@@ -10023,7 +10209,7 @@ exports.definitions = [
|
|
|
10023
10209
|
],
|
|
10024
10210
|
whiteLabel: [
|
|
10025
10211
|
tuya.whitelabel("Tuya", "ZG-101Z_D_1", "Smart knob", ["_TZ3000_402vrq2i"]),
|
|
10026
|
-
tuya.whitelabel("
|
|
10212
|
+
tuya.whitelabel("Moes", "ZG-101ZD", "Smart knob", ["_TZ3000_gwkzibhs"]),
|
|
10027
10213
|
],
|
|
10028
10214
|
toZigbee: [tz.tuya_operation_mode],
|
|
10029
10215
|
exposes: [
|
|
@@ -10077,13 +10263,6 @@ exports.definitions = [
|
|
|
10077
10263
|
applicationVersion: 145,
|
|
10078
10264
|
priority: 1,
|
|
10079
10265
|
},
|
|
10080
|
-
// https://github.com/Koenkk/zigbee2mqtt/issues/28149
|
|
10081
|
-
{
|
|
10082
|
-
modelID: "TS004F",
|
|
10083
|
-
manufacturerName: "_TZ3000_gwkzibhs",
|
|
10084
|
-
applicationVersion: 147,
|
|
10085
|
-
priority: 1,
|
|
10086
|
-
},
|
|
10087
10266
|
],
|
|
10088
10267
|
model: "ZG-101Z/D",
|
|
10089
10268
|
vendor: "Tuya",
|
|
@@ -11283,7 +11462,7 @@ exports.definitions = [
|
|
|
11283
11462
|
e
|
|
11284
11463
|
.numeric("static_detection_distance", ea.STATE_SET)
|
|
11285
11464
|
.withValueMin(0)
|
|
11286
|
-
.withValueMax(
|
|
11465
|
+
.withValueMax(6)
|
|
11287
11466
|
.withValueStep(0.01)
|
|
11288
11467
|
.withUnit("m")
|
|
11289
11468
|
.withDescription("Static detection distance"),
|
|
@@ -11936,7 +12115,7 @@ exports.definitions = [
|
|
|
11936
12115
|
},
|
|
11937
12116
|
},
|
|
11938
12117
|
{
|
|
11939
|
-
fingerprint: tuya.fingerprint("TS0001", ["_TZ3000_bmqxalil", "_TZ3000_w1tcofu8", "_TZ3000_ma3mhpx2"]),
|
|
12118
|
+
fingerprint: tuya.fingerprint("TS0001", ["_TZ3000_bmqxalil", "_TZ3000_w1tcofu8", "_TZ3000_ma3mhpx2", "_TZ3000_wijoqjk1"]),
|
|
11940
12119
|
model: "TS0001_switch_1_gang",
|
|
11941
12120
|
vendor: "Tuya",
|
|
11942
12121
|
description: "1-Gang switch with backlight",
|
|
@@ -12732,12 +12911,12 @@ exports.definitions = [
|
|
|
12732
12911
|
},
|
|
12733
12912
|
},
|
|
12734
12913
|
{
|
|
12735
|
-
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_ugekduaj", "_TZE200_ugekduaj", "_TZE204_loejka0i"]),
|
|
12914
|
+
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_ugekduaj", "_TZE200_ugekduaj", "_TZE204_loejka0i", "_TZE284_loejka0i"]),
|
|
12736
12915
|
model: "SDM01",
|
|
12737
12916
|
vendor: "Tuya",
|
|
12738
12917
|
description: "Smart energy monitor for 3P+N system",
|
|
12739
12918
|
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12740
|
-
whiteLabel: [tuya.whitelabel("Nous", "D4Z", "Smart energy monitor for 3P+N system", ["_TZE204_loejka0i"])],
|
|
12919
|
+
whiteLabel: [tuya.whitelabel("Nous", "D4Z", "Smart energy monitor for 3P+N system", ["_TZE204_loejka0i", "_TZE284_loejka0i"])],
|
|
12741
12920
|
exposes: [
|
|
12742
12921
|
tuya.exposes.voltageWithPhase("a"),
|
|
12743
12922
|
tuya.exposes.voltageWithPhase("b"),
|
|
@@ -19534,11 +19713,12 @@ exports.definitions = [
|
|
|
19534
19713
|
},
|
|
19535
19714
|
},
|
|
19536
19715
|
{
|
|
19537
|
-
fingerprint: tuya.fingerprint("TS0601", ["_TZE284_k7p2q5d9"]),
|
|
19716
|
+
fingerprint: tuya.fingerprint("TS0601", ["_TZE284_k7p2q5d9", "_TZE284_65gzcss7"]),
|
|
19538
19717
|
model: "ZS-300Z",
|
|
19539
19718
|
vendor: "Arteco",
|
|
19540
19719
|
description: "Soil moisture sensor",
|
|
19541
19720
|
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19721
|
+
whiteLabel: [tuya.whitelabel("Arteco", "ZS-302Z", "Soil moisture sensor", ["_TZE284_65gzcss7"])],
|
|
19542
19722
|
exposes: [
|
|
19543
19723
|
e.enum("water_warning", ea.STATE, ["none", "alarm"]).withDescription("Water shortage warning"),
|
|
19544
19724
|
e.enum("battery_state", ea.STATE, ["low", "middle", "high"]).withDescription("low: 16.67%, middle:16.68-83.33%, high: 83.34-100%"),
|
|
@@ -19585,7 +19765,6 @@ exports.definitions = [
|
|
|
19585
19765
|
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19586
19766
|
exposes: [
|
|
19587
19767
|
e.presence(),
|
|
19588
|
-
e.illuminance(),
|
|
19589
19768
|
e.battery(),
|
|
19590
19769
|
e
|
|
19591
19770
|
.numeric("fading_time", ea.STATE_SET)
|
|
@@ -19597,7 +19776,7 @@ exports.definitions = [
|
|
|
19597
19776
|
e
|
|
19598
19777
|
.numeric("static_detection_distance", ea.STATE_SET)
|
|
19599
19778
|
.withValueMin(0)
|
|
19600
|
-
.withValueMax(
|
|
19779
|
+
.withValueMax(5)
|
|
19601
19780
|
.withValueStep(0.01)
|
|
19602
19781
|
.withUnit("m")
|
|
19603
19782
|
.withDescription("Static detection distance"),
|
|
@@ -19620,7 +19799,6 @@ exports.definitions = [
|
|
|
19620
19799
|
meta: {
|
|
19621
19800
|
tuyaDatapoints: [
|
|
19622
19801
|
[1, "presence", tuya.valueConverter.trueFalse1],
|
|
19623
|
-
[106, "illuminance", tuya.valueConverter.raw],
|
|
19624
19802
|
[102, "fading_time", tuya.valueConverter.raw],
|
|
19625
19803
|
[4, "static_detection_distance", tuya.valueConverter.divideBy100],
|
|
19626
19804
|
[2, "static_detection_sensitivity", tuya.valueConverter.raw],
|