zigbee-herdsman-converters 25.51.0 → 25.51.1
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 +11 -0
- package/dist/devices/avatto.d.ts.map +1 -1
- package/dist/devices/avatto.js +4 -10
- package/dist/devices/avatto.js.map +1 -1
- package/dist/devices/engo.d.ts.map +1 -1
- package/dist/devices/engo.js +2 -3
- package/dist/devices/engo.js.map +1 -1
- package/dist/devices/essentials.js +1 -1
- package/dist/devices/essentials.js.map +1 -1
- package/dist/devices/giex.js +1 -1
- package/dist/devices/giex.js.map +1 -1
- package/dist/devices/gledopto.d.ts.map +1 -1
- package/dist/devices/gledopto.js +2 -3
- package/dist/devices/gledopto.js.map +1 -1
- package/dist/devices/immax.d.ts.map +1 -1
- package/dist/devices/immax.js +1 -2
- package/dist/devices/immax.js.map +1 -1
- package/dist/devices/lidl.d.ts.map +1 -1
- package/dist/devices/lidl.js +2 -3
- package/dist/devices/lidl.js.map +1 -1
- package/dist/devices/lincukoo.js +7 -7
- package/dist/devices/lincukoo.js.map +1 -1
- package/dist/devices/linptech.js +3 -3
- package/dist/devices/linptech.js.map +1 -1
- package/dist/devices/lonsonho.d.ts.map +1 -1
- package/dist/devices/lonsonho.js +1 -2
- package/dist/devices/lonsonho.js.map +1 -1
- package/dist/devices/moes.d.ts.map +1 -1
- package/dist/devices/moes.js +14 -17
- package/dist/devices/moes.js.map +1 -1
- package/dist/devices/multir.js +2 -2
- package/dist/devices/multir.js.map +1 -1
- package/dist/devices/nedis.js +1 -1
- package/dist/devices/nedis.js.map +1 -1
- package/dist/devices/neo.d.ts.map +1 -1
- package/dist/devices/neo.js +4 -10
- package/dist/devices/neo.js.map +1 -1
- package/dist/devices/nous.d.ts.map +1 -1
- package/dist/devices/nous.js +4 -8
- package/dist/devices/nous.js.map +1 -1
- package/dist/devices/onenuo.d.ts.map +1 -1
- package/dist/devices/onenuo.js +1 -3
- package/dist/devices/onenuo.js.map +1 -1
- package/dist/devices/orztech.js +5 -5
- package/dist/devices/orztech.js.map +1 -1
- package/dist/devices/qa.d.ts.map +1 -1
- package/dist/devices/qa.js +0 -2
- package/dist/devices/qa.js.map +1 -1
- package/dist/devices/saswell.js +1 -1
- package/dist/devices/saswell.js.map +1 -1
- package/dist/devices/senoro.js +1 -1
- package/dist/devices/senoro.js.map +1 -1
- package/dist/devices/soanalarm.d.ts.map +1 -1
- package/dist/devices/soanalarm.js +1 -3
- package/dist/devices/soanalarm.js.map +1 -1
- package/dist/devices/tech.js +2 -2
- package/dist/devices/tech.js.map +1 -1
- package/dist/devices/tuya.d.ts.map +1 -1
- package/dist/devices/tuya.js +209 -391
- package/dist/devices/tuya.js.map +1 -1
- package/dist/devices/weten.d.ts.map +1 -1
- package/dist/devices/weten.js +1 -2
- package/dist/devices/weten.js.map +1 -1
- package/dist/devices/woox.js +1 -1
- package/dist/devices/woox.js.map +1 -1
- package/dist/devices/zemismart.d.ts.map +1 -1
- package/dist/devices/zemismart.js +9 -8
- package/dist/devices/zemismart.js.map +1 -1
- package/dist/lib/tuya.d.ts +1 -1
- package/dist/lib/tuya.d.ts.map +1 -1
- package/dist/lib/tuya.js +1 -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
|
@@ -1173,7 +1173,7 @@ exports.definitions = [
|
|
|
1173
1173
|
model: "TS0601_water_valve",
|
|
1174
1174
|
vendor: "Tuya",
|
|
1175
1175
|
description: "Ultrasonic water meter valve",
|
|
1176
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
1176
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1177
1177
|
exposes: [
|
|
1178
1178
|
// Main valve switch
|
|
1179
1179
|
e
|
|
@@ -1227,7 +1227,7 @@ exports.definitions = [
|
|
|
1227
1227
|
model: "TS0601_water_meter",
|
|
1228
1228
|
vendor: "Tuya",
|
|
1229
1229
|
description: "Ultrasonic water meter",
|
|
1230
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
1230
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1231
1231
|
exposes: [
|
|
1232
1232
|
// Water consumption sensor
|
|
1233
1233
|
e
|
|
@@ -1271,7 +1271,7 @@ exports.definitions = [
|
|
|
1271
1271
|
model: "ZN2S-RS02E",
|
|
1272
1272
|
vendor: "Tuya",
|
|
1273
1273
|
description: "Two gang switch with colored backlight modes",
|
|
1274
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
1274
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1275
1275
|
exposes: [
|
|
1276
1276
|
e.switch().withDescription("All switches"),
|
|
1277
1277
|
e.switch().withEndpoint("l1"),
|
|
@@ -1340,7 +1340,7 @@ exports.definitions = [
|
|
|
1340
1340
|
vendor: "Tuya",
|
|
1341
1341
|
description: "Door sensor with scene switch",
|
|
1342
1342
|
fromZigbee: [fz.ias_contact_alarm_1, fz.battery, fz.ias_contact_alarm_1_report],
|
|
1343
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
1343
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1344
1344
|
exposes: [e.action(["single", "double", "hold"]), e.contact(), e.battery_low(), e.tamper(), e.battery(), e.battery_voltage()],
|
|
1345
1345
|
meta: {
|
|
1346
1346
|
tuyaDatapoints: [[101, "action", tuya.valueConverterBasic.lookup({ single: 0, double: 1, hold: 2 })]],
|
|
@@ -1352,7 +1352,7 @@ exports.definitions = [
|
|
|
1352
1352
|
model: "LKWSZ211",
|
|
1353
1353
|
vendor: "Linkoze",
|
|
1354
1354
|
description: "Scene remote with 2 keys",
|
|
1355
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
1355
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1356
1356
|
exposes: [
|
|
1357
1357
|
e.battery(),
|
|
1358
1358
|
e.action(["button_1_single", "button_1_double", "button_1_hold", "button_2_single", "button_2_double", "button_2_hold"]),
|
|
@@ -1511,7 +1511,15 @@ exports.definitions = [
|
|
|
1511
1511
|
model: "TS0601_temperature_humidity_sensor_2",
|
|
1512
1512
|
vendor: "Tuya",
|
|
1513
1513
|
description: "Temperature and humidity sensor",
|
|
1514
|
-
extend: [
|
|
1514
|
+
extend: [
|
|
1515
|
+
tuya.modernExtend.tuyaBase({
|
|
1516
|
+
dp: true,
|
|
1517
|
+
queryOnDeviceAnnounce: true,
|
|
1518
|
+
queryOnConfigure: true,
|
|
1519
|
+
respondToMcuVersionResponse: true,
|
|
1520
|
+
timeStart: "1970",
|
|
1521
|
+
}),
|
|
1522
|
+
],
|
|
1515
1523
|
exposes: [e.temperature(), e.humidity(), tuya.exposes.batteryState(), tuya.exposes.temperatureUnit()],
|
|
1516
1524
|
meta: {
|
|
1517
1525
|
tuyaDatapoints: [
|
|
@@ -1535,7 +1543,7 @@ exports.definitions = [
|
|
|
1535
1543
|
model: "TS0601_temperature_humidity_sensor_3",
|
|
1536
1544
|
vendor: "Tuya",
|
|
1537
1545
|
description: "Temperature & humidity sensor",
|
|
1538
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, queryOnConfigure: true })],
|
|
1546
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, queryOnConfigure: true, timeStart: "1970" })],
|
|
1539
1547
|
exposes: [e.temperature(), e.humidity(), e.battery(), tuya.exposes.temperatureUnit()],
|
|
1540
1548
|
meta: {
|
|
1541
1549
|
tuyaDatapoints: [
|
|
@@ -1570,7 +1578,15 @@ exports.definitions = [
|
|
|
1570
1578
|
model: "ZTH05Z",
|
|
1571
1579
|
vendor: "Tuya",
|
|
1572
1580
|
description: "Temperature and humidity sensor",
|
|
1573
|
-
extend: [
|
|
1581
|
+
extend: [
|
|
1582
|
+
tuya.modernExtend.tuyaBase({
|
|
1583
|
+
dp: true,
|
|
1584
|
+
queryOnDeviceAnnounce: true,
|
|
1585
|
+
queryOnConfigure: true,
|
|
1586
|
+
respondToMcuVersionResponse: true,
|
|
1587
|
+
timeStart: "1970",
|
|
1588
|
+
}),
|
|
1589
|
+
],
|
|
1574
1590
|
exposes: [
|
|
1575
1591
|
e.temperature(),
|
|
1576
1592
|
e.humidity(),
|
|
@@ -1660,7 +1676,7 @@ exports.definitions = [
|
|
|
1660
1676
|
model: "TS0601_contact_temperature_humidity_sensor",
|
|
1661
1677
|
vendor: "Tuya",
|
|
1662
1678
|
description: "Contact, temperature and humidity sensor",
|
|
1663
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
1679
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1664
1680
|
exposes: [e.contact(), e.temperature(), e.humidity(), e.battery()],
|
|
1665
1681
|
meta: {
|
|
1666
1682
|
tuyaDatapoints: [
|
|
@@ -1703,9 +1719,7 @@ exports.definitions = [
|
|
|
1703
1719
|
model: "TS0601_illuminance_temperature_humidity_sensor_2",
|
|
1704
1720
|
vendor: "Tuya",
|
|
1705
1721
|
description: "Illuminance sensor",
|
|
1706
|
-
|
|
1707
|
-
toZigbee: [tuya.tz.datapoints],
|
|
1708
|
-
configure: tuya.configureMagicPacket,
|
|
1722
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1709
1723
|
exposes: [e.illuminance(), e.temperature(), e.humidity()],
|
|
1710
1724
|
meta: {
|
|
1711
1725
|
tuyaDatapoints: [
|
|
@@ -1763,9 +1777,7 @@ exports.definitions = [
|
|
|
1763
1777
|
model: "TS0601_gas_sensor_1",
|
|
1764
1778
|
vendor: "Tuya",
|
|
1765
1779
|
description: "Gas sensor",
|
|
1766
|
-
|
|
1767
|
-
toZigbee: [tuya.tz.datapoints],
|
|
1768
|
-
configure: tuya.configureMagicPacket,
|
|
1780
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1769
1781
|
exposes: [e.gas(), tuya.exposes.selfTest(), tuya.exposes.selfTestResult(), tuya.exposes.faultAlarm(), tuya.exposes.silence()],
|
|
1770
1782
|
meta: {
|
|
1771
1783
|
tuyaDatapoints: [
|
|
@@ -1782,9 +1794,7 @@ exports.definitions = [
|
|
|
1782
1794
|
model: "TS0601_gas_sensor_2",
|
|
1783
1795
|
vendor: "Tuya",
|
|
1784
1796
|
description: "Gas sensor",
|
|
1785
|
-
|
|
1786
|
-
toZigbee: [tuya.tz.datapoints],
|
|
1787
|
-
configure: tuya.configureMagicPacket,
|
|
1797
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1788
1798
|
exposes: [
|
|
1789
1799
|
e.gas(),
|
|
1790
1800
|
tuya.exposes.gasValue().withUnit("LEL"),
|
|
@@ -1827,9 +1837,7 @@ exports.definitions = [
|
|
|
1827
1837
|
model: "TS0601_gas_sensor_3",
|
|
1828
1838
|
vendor: "Tuya",
|
|
1829
1839
|
description: "Gas sensor",
|
|
1830
|
-
|
|
1831
|
-
toZigbee: [tuya.tz.datapoints],
|
|
1832
|
-
configure: tuya.configureMagicPacket,
|
|
1840
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1833
1841
|
exposes: [e.gas(), tuya.exposes.selfTest(), tuya.exposes.selfTestResult(), tuya.exposes.faultAlarm(), tuya.exposes.silence()],
|
|
1834
1842
|
meta: {
|
|
1835
1843
|
tuyaDatapoints: [
|
|
@@ -1844,9 +1852,7 @@ exports.definitions = [
|
|
|
1844
1852
|
model: "TS0601_gas_sensor_4", // _TZE200_mby4kbtq looks like TS0601_gas_sensor_2
|
|
1845
1853
|
vendor: "Tuya",
|
|
1846
1854
|
description: "Gas sensor",
|
|
1847
|
-
|
|
1848
|
-
toZigbee: [tuya.tz.datapoints],
|
|
1849
|
-
configure: tuya.configureMagicPacket,
|
|
1855
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1850
1856
|
exposes: [
|
|
1851
1857
|
e.gas(),
|
|
1852
1858
|
tuya.exposes.gasValue().withUnit("LEL"),
|
|
@@ -1905,9 +1911,7 @@ exports.definitions = [
|
|
|
1905
1911
|
model: "R3 Smart Switch",
|
|
1906
1912
|
vendor: "Tuya",
|
|
1907
1913
|
description: "Circuit Breaker/Switch",
|
|
1908
|
-
|
|
1909
|
-
toZigbee: [tuya.tz.datapoints],
|
|
1910
|
-
configure: tuya.configureMagicPacket,
|
|
1914
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1911
1915
|
exposes: [e.switch()],
|
|
1912
1916
|
meta: {
|
|
1913
1917
|
tuyaDatapoints: [[16, "state", tuya.valueConverter.onOff]],
|
|
@@ -1920,7 +1924,7 @@ exports.definitions = [
|
|
|
1920
1924
|
vendor: "Tuya",
|
|
1921
1925
|
whiteLabel: [{ vendor: "Senoro", model: "Senoro.Win v2" }],
|
|
1922
1926
|
description: "Window sensor with 3-state opening (DP101), optional alarm, battery",
|
|
1923
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
1927
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
1924
1928
|
exposes: [
|
|
1925
1929
|
// DP101 → enum; device reports 0=open, 1=closed, 2=tilted (note swapped 0/1).
|
|
1926
1930
|
e
|
|
@@ -2303,7 +2307,7 @@ exports.definitions = [
|
|
|
2303
2307
|
description: "Motion detector with illuminance",
|
|
2304
2308
|
fromZigbee: [fz.ias_occupancy_alarm_1, fz.battery, fz.ias_occupancy_alarm_1_report],
|
|
2305
2309
|
toZigbee: [],
|
|
2306
|
-
extend: [m.illuminance(), tuya.modernExtend.tuyaBase(
|
|
2310
|
+
extend: [m.illuminance(), tuya.modernExtend.tuyaBase()],
|
|
2307
2311
|
exposes: [e.occupancy(), e.battery_low(), e.battery(), e.tamper()],
|
|
2308
2312
|
},
|
|
2309
2313
|
{
|
|
@@ -2311,11 +2315,10 @@ exports.definitions = [
|
|
|
2311
2315
|
model: "TS0202_2",
|
|
2312
2316
|
vendor: "Tuya",
|
|
2313
2317
|
description: "Motion sensor with scene switch",
|
|
2314
|
-
|
|
2315
|
-
|
|
2318
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
2319
|
+
fromZigbee: [fz.ias_occupancy_alarm_1, fz.battery],
|
|
2316
2320
|
configure: async (device, coordinatorEndpoint) => {
|
|
2317
2321
|
const endpoint = device.getEndpoint(1);
|
|
2318
|
-
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
2319
2322
|
await reporting.batteryPercentageRemaining(endpoint);
|
|
2320
2323
|
await reporting.batteryVoltage(endpoint);
|
|
2321
2324
|
},
|
|
@@ -2620,9 +2623,7 @@ exports.definitions = [
|
|
|
2620
2623
|
model: "TS0601_soil",
|
|
2621
2624
|
vendor: "Tuya",
|
|
2622
2625
|
description: "Soil sensor",
|
|
2623
|
-
|
|
2624
|
-
toZigbee: [tuya.tz.datapoints],
|
|
2625
|
-
configure: tuya.configureMagicPacket,
|
|
2626
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
2626
2627
|
exposes: [e.temperature(), e.soil_moisture(), tuya.exposes.temperatureUnit(), e.battery(), tuya.exposes.batteryState()],
|
|
2627
2628
|
meta: {
|
|
2628
2629
|
tuyaDatapoints: [
|
|
@@ -2639,9 +2640,7 @@ exports.definitions = [
|
|
|
2639
2640
|
model: "TS0601_soil_2",
|
|
2640
2641
|
vendor: "Tuya",
|
|
2641
2642
|
description: "Soil sensor",
|
|
2642
|
-
|
|
2643
|
-
toZigbee: [tuya.tz.datapoints],
|
|
2644
|
-
configure: tuya.configureMagicPacket,
|
|
2643
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
2645
2644
|
exposes: [
|
|
2646
2645
|
e.soil_moisture(),
|
|
2647
2646
|
e.numeric("temperature", ea.STATE).withUnit("°C").withValueMin(-10).withValueMax(60).withDescription("Soil temperature"),
|
|
@@ -2721,9 +2720,7 @@ exports.definitions = [
|
|
|
2721
2720
|
model: "TS0601_soil_3",
|
|
2722
2721
|
vendor: "Tuya",
|
|
2723
2722
|
description: "Soil sensor",
|
|
2724
|
-
|
|
2725
|
-
toZigbee: [tuya.tz.datapoints],
|
|
2726
|
-
configure: tuya.configureMagicPacket,
|
|
2723
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
2727
2724
|
exposes: [e.temperature(), e.soil_moisture(), tuya.exposes.temperatureUnit(), e.battery(), tuya.exposes.batteryState()],
|
|
2728
2725
|
meta: {
|
|
2729
2726
|
tuyaDatapoints: [
|
|
@@ -2804,9 +2801,7 @@ exports.definitions = [
|
|
|
2804
2801
|
model: "TS0601_dimmer_1_gang_1",
|
|
2805
2802
|
vendor: "Tuya",
|
|
2806
2803
|
description: "1 gang smart dimmer",
|
|
2807
|
-
|
|
2808
|
-
toZigbee: [tuya.tz.datapoints],
|
|
2809
|
-
configure: tuya.configureMagicPacket,
|
|
2804
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
2810
2805
|
exposes: (device, options) => {
|
|
2811
2806
|
const exps = [
|
|
2812
2807
|
tuya.exposes.lightBrightnessWithMinMax(),
|
|
@@ -2856,9 +2851,7 @@ exports.definitions = [
|
|
|
2856
2851
|
model: "TS0601_dimmer_1_gang_2",
|
|
2857
2852
|
vendor: "Tuya",
|
|
2858
2853
|
description: "1 gang smart dimmer",
|
|
2859
|
-
|
|
2860
|
-
toZigbee: [tuya.tz.datapoints],
|
|
2861
|
-
configure: tuya.configureMagicPacket,
|
|
2854
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
2862
2855
|
exposes: [
|
|
2863
2856
|
tuya.exposes.lightBrightness(),
|
|
2864
2857
|
tuya.exposes.countdown(),
|
|
@@ -2883,9 +2876,7 @@ exports.definitions = [
|
|
|
2883
2876
|
model: "TS0601_dimmer_1_gang_3",
|
|
2884
2877
|
vendor: "Tuya",
|
|
2885
2878
|
description: "1 gang smart dimmer",
|
|
2886
|
-
|
|
2887
|
-
toZigbee: [tuya.tz.datapoints],
|
|
2888
|
-
configure: tuya.configureMagicPacket,
|
|
2879
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
2889
2880
|
exposes: [tuya.exposes.lightBrightness(), e.voltage(), e.current(), e.power(), e.child_lock(), tuya.exposes.backlightModeOffOn()],
|
|
2890
2881
|
meta: {
|
|
2891
2882
|
tuyaDatapoints: [
|
|
@@ -2979,9 +2970,7 @@ exports.definitions = [
|
|
|
2979
2970
|
model: "TS0601_dimmer_3",
|
|
2980
2971
|
vendor: "Tuya",
|
|
2981
2972
|
description: "3 gang smart dimmer",
|
|
2982
|
-
|
|
2983
|
-
toZigbee: [tuya.tz.datapoints],
|
|
2984
|
-
configure: tuya.configureMagicPacket,
|
|
2973
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
2985
2974
|
exposes: [
|
|
2986
2975
|
tuya.exposes.lightBrightnessWithMinMax().withEndpoint("l1"),
|
|
2987
2976
|
tuya.exposes.lightBrightnessWithMinMax().withEndpoint("l2"),
|
|
@@ -3034,9 +3023,7 @@ exports.definitions = [
|
|
|
3034
3023
|
model: "TS0601_dimmer_4",
|
|
3035
3024
|
vendor: "Tuya",
|
|
3036
3025
|
description: "2 gang smart dimmer module",
|
|
3037
|
-
|
|
3038
|
-
toZigbee: [tuya.tz.datapoints],
|
|
3039
|
-
configure: tuya.configureMagicPacket,
|
|
3026
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
3040
3027
|
exposes: [
|
|
3041
3028
|
tuya.exposes.lightBrightnessWithMinMax().withEndpoint("l1"),
|
|
3042
3029
|
tuya.exposes.lightBrightnessWithMinMax().withEndpoint("l2"),
|
|
@@ -3101,9 +3088,7 @@ exports.definitions = [
|
|
|
3101
3088
|
model: "TS0601_dimmer_5",
|
|
3102
3089
|
vendor: "Tuya",
|
|
3103
3090
|
description: "1 gang smart dimmer module",
|
|
3104
|
-
|
|
3105
|
-
toZigbee: [tuya.tz.datapoints],
|
|
3106
|
-
configure: tuya.configureMagicPacket,
|
|
3091
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
3107
3092
|
exposes: [
|
|
3108
3093
|
tuya.exposes.lightBrightnessWithMinMax(),
|
|
3109
3094
|
e.enum("power_on_behavior", ea.STATE_SET, ["off", "on", "previous"]),
|
|
@@ -3155,9 +3140,7 @@ exports.definitions = [
|
|
|
3155
3140
|
model: "TS0601_dimmer_knob",
|
|
3156
3141
|
vendor: "Tuya",
|
|
3157
3142
|
description: "Zigbee smart knob dimmer",
|
|
3158
|
-
|
|
3159
|
-
toZigbee: [tuya.tz.datapoints],
|
|
3160
|
-
configure: tuya.configureMagicPacket,
|
|
3143
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
3161
3144
|
exposes: [
|
|
3162
3145
|
tuya.exposes.lightBrightness().withMinBrightness().setAccess("min_brightness", ea.STATE_SET),
|
|
3163
3146
|
tuya.exposes.lightType(),
|
|
@@ -3439,9 +3422,7 @@ exports.definitions = [
|
|
|
3439
3422
|
tuya.exposes.switch().withEndpoint("l3"),
|
|
3440
3423
|
tuya.exposes.switch().withEndpoint("l4"),
|
|
3441
3424
|
],
|
|
3442
|
-
|
|
3443
|
-
toZigbee: [tuya.tz.datapoints],
|
|
3444
|
-
configure: tuya.configureMagicPacket,
|
|
3425
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
3445
3426
|
whiteLabel: [
|
|
3446
3427
|
tuya.whitelabel("ZYXH", "TY-04Z", "4 gang switch", ["_TZE204_iik0pquw"]),
|
|
3447
3428
|
{ vendor: "Norklmes", model: "MKS-CM-W5" },
|
|
@@ -3470,9 +3451,7 @@ exports.definitions = [
|
|
|
3470
3451
|
model: "TS0601_switch_5_gang",
|
|
3471
3452
|
vendor: "Tuya",
|
|
3472
3453
|
description: "5 gang switch",
|
|
3473
|
-
|
|
3474
|
-
toZigbee: [tuya.tz.datapoints],
|
|
3475
|
-
configure: tuya.configureMagicPacket,
|
|
3454
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
3476
3455
|
exposes: [
|
|
3477
3456
|
tuya.exposes.switch().withEndpoint("l1"),
|
|
3478
3457
|
tuya.exposes.switch().withEndpoint("l2"),
|
|
@@ -3510,10 +3489,8 @@ exports.definitions = [
|
|
|
3510
3489
|
model: "TS0601_switch_6_gang",
|
|
3511
3490
|
vendor: "Tuya",
|
|
3512
3491
|
description: "6 gang switch",
|
|
3513
|
-
|
|
3514
|
-
toZigbee: [tuya.tz.datapoints],
|
|
3492
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
3515
3493
|
configure: async (device, coordinatorEndpoint) => {
|
|
3516
|
-
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
3517
3494
|
const endpoint = device.getEndpoint(1);
|
|
3518
3495
|
await reporting.bind(endpoint, coordinatorEndpoint, ["genOnOff"]);
|
|
3519
3496
|
device.powerSource = "Mains (single phase)";
|
|
@@ -3603,9 +3580,7 @@ exports.definitions = [
|
|
|
3603
3580
|
e.power_on_behavior().withAccess(ea.STATE_SET),
|
|
3604
3581
|
tuya.exposes.backlightModeOffOn().withAccess(ea.STATE_SET),
|
|
3605
3582
|
],
|
|
3606
|
-
|
|
3607
|
-
toZigbee: [tuya.tz.datapoints],
|
|
3608
|
-
configure: tuya.configureMagicPacket,
|
|
3583
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
3609
3584
|
meta: {
|
|
3610
3585
|
tuyaDatapoints: [
|
|
3611
3586
|
[1, "state", tuya.valueConverter.onOff],
|
|
@@ -3652,9 +3627,7 @@ exports.definitions = [
|
|
|
3652
3627
|
vendor: "Tuya",
|
|
3653
3628
|
description: "2 gang switch",
|
|
3654
3629
|
exposes: [e.switch().withEndpoint("l1").setAccess("state", ea.STATE_SET), e.switch().withEndpoint("l2").setAccess("state", ea.STATE_SET)],
|
|
3655
|
-
|
|
3656
|
-
toZigbee: [tuya.tz.datapoints],
|
|
3657
|
-
configure: tuya.configureMagicPacket,
|
|
3630
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
3658
3631
|
meta: {
|
|
3659
3632
|
multiEndpoint: true,
|
|
3660
3633
|
tuyaDatapoints: [
|
|
@@ -3702,9 +3675,7 @@ exports.definitions = [
|
|
|
3702
3675
|
model: "MG-ZG03W",
|
|
3703
3676
|
vendor: "Tuya",
|
|
3704
3677
|
description: "3 gang switch",
|
|
3705
|
-
|
|
3706
|
-
toZigbee: [tuya.tz.datapoints],
|
|
3707
|
-
configure: tuya.configureMagicPacket,
|
|
3678
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
3708
3679
|
exposes: [
|
|
3709
3680
|
e.switch().withEndpoint("l1").setAccess("state", ea.STATE_SET),
|
|
3710
3681
|
e.switch().withEndpoint("l2").setAccess("state", ea.STATE_SET),
|
|
@@ -4295,7 +4266,7 @@ exports.definitions = [
|
|
|
4295
4266
|
model: "BAC-003",
|
|
4296
4267
|
vendor: "Tuya",
|
|
4297
4268
|
description: "FCU thermostat temperature controller",
|
|
4298
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
4269
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
4299
4270
|
options: [
|
|
4300
4271
|
e
|
|
4301
4272
|
.enum("control_sequence_of_operation", ea.SET, ["cooling_only", "cooling_and_heating_4-pipes"])
|
|
@@ -4475,7 +4446,7 @@ exports.definitions = [
|
|
|
4475
4446
|
vendor: "Tuya",
|
|
4476
4447
|
description: "Water leak sensor",
|
|
4477
4448
|
fromZigbee: [fz.ignore_tuya_raw, legacy.fromZigbee.wls100z_water_leak],
|
|
4478
|
-
extend: [tuya.modernExtend.tuyaBase({
|
|
4449
|
+
extend: [tuya.modernExtend.tuyaBase({ bindBasicOnConfigure: true })],
|
|
4479
4450
|
exposes: [e.battery(), e.water_leak()],
|
|
4480
4451
|
},
|
|
4481
4452
|
{
|
|
@@ -4486,6 +4457,7 @@ exports.definitions = [
|
|
|
4486
4457
|
"_TZ3000_mkhkxx1p",
|
|
4487
4458
|
"_TZ3000_tgddllx4",
|
|
4488
4459
|
"_TZ3000_kqvb5akv",
|
|
4460
|
+
"_TZ3000_q8r0bbvy",
|
|
4489
4461
|
"_TZ3000_g92baclx",
|
|
4490
4462
|
"_TZ3000_qlai3277",
|
|
4491
4463
|
"_TZ3000_qaabwu5c",
|
|
@@ -5247,8 +5219,7 @@ exports.definitions = [
|
|
|
5247
5219
|
model: "TS0601_cover_6",
|
|
5248
5220
|
vendor: "Tuya",
|
|
5249
5221
|
description: "Cover motor",
|
|
5250
|
-
|
|
5251
|
-
toZigbee: [tuya.tz.datapoints],
|
|
5222
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
5252
5223
|
exposes: [
|
|
5253
5224
|
e.text("work_state", ea.STATE),
|
|
5254
5225
|
e.cover_position().setAccess("position", ea.STATE_SET),
|
|
@@ -5343,9 +5314,7 @@ exports.definitions = [
|
|
|
5343
5314
|
model: "TS0601_cover_8",
|
|
5344
5315
|
vendor: "Tuya",
|
|
5345
5316
|
description: "Cover motor",
|
|
5346
|
-
|
|
5347
|
-
fromZigbee: [tuya.fz.datapoints],
|
|
5348
|
-
toZigbee: [tuya.tz.datapoints],
|
|
5317
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
5349
5318
|
options: [exposes.options.invert_cover()],
|
|
5350
5319
|
exposes: [
|
|
5351
5320
|
e.cover_position().setAccess("position", ea.STATE_SET),
|
|
@@ -5408,7 +5377,7 @@ exports.definitions = [
|
|
|
5408
5377
|
vendor: "Tuya",
|
|
5409
5378
|
description: "Window opener",
|
|
5410
5379
|
options: [exposes.options.invert_cover()],
|
|
5411
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
5380
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
5412
5381
|
exposes: [e.cover_position().setAccess("position", ea.STATE_SET)],
|
|
5413
5382
|
meta: {
|
|
5414
5383
|
tuyaDatapoints: [
|
|
@@ -5515,9 +5484,7 @@ exports.definitions = [
|
|
|
5515
5484
|
model: "ZM79E-DT",
|
|
5516
5485
|
vendor: "Tervix",
|
|
5517
5486
|
description: "Pro Line Zigbee curtain motor",
|
|
5518
|
-
|
|
5519
|
-
toZigbee: [tuya.tz.datapoints],
|
|
5520
|
-
configure: tuya.configureMagicPacket,
|
|
5487
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
5521
5488
|
exposes: [
|
|
5522
5489
|
e.text("work_state", ea.STATE),
|
|
5523
5490
|
e.cover_position().setAccess("position", ea.STATE_SET),
|
|
@@ -5702,7 +5669,7 @@ exports.definitions = [
|
|
|
5702
5669
|
tuyaThermostatSystemMode: legacy.thermostatSystemModes3,
|
|
5703
5670
|
},
|
|
5704
5671
|
ota: true,
|
|
5705
|
-
extend: [tuya.modernExtend.tuyaBase({ forceTimeUpdates: true })],
|
|
5672
|
+
extend: [tuya.modernExtend.tuyaBase({ forceTimeUpdates: true, timeStart: "1970" })],
|
|
5706
5673
|
fromZigbee: [legacy.fromZigbee.tuya_thermostat, fz.ignore_tuya_set_time],
|
|
5707
5674
|
toZigbee: [
|
|
5708
5675
|
legacy.toZigbee.tuya_thermostat_child_lock,
|
|
@@ -5966,7 +5933,7 @@ exports.definitions = [
|
|
|
5966
5933
|
model: "TS0601_cover_3",
|
|
5967
5934
|
vendor: "Tuya",
|
|
5968
5935
|
description: "Cover motor",
|
|
5969
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
5936
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
5970
5937
|
options: [exposes.options.invert_cover()],
|
|
5971
5938
|
exposes: [
|
|
5972
5939
|
e.battery(),
|
|
@@ -6033,8 +6000,7 @@ exports.definitions = [
|
|
|
6033
6000
|
model: "TS0601_cover_4",
|
|
6034
6001
|
vendor: "Tuya",
|
|
6035
6002
|
description: "Cover",
|
|
6036
|
-
|
|
6037
|
-
toZigbee: [tuya.tz.datapoints],
|
|
6003
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
6038
6004
|
exposes: [
|
|
6039
6005
|
e.cover_position().setAccess("position", ea.STATE_SET),
|
|
6040
6006
|
e.enum("motor_direction", ea.STATE_SET, ["normal", "reversed"]).withDescription("Set the motor direction"),
|
|
@@ -6109,7 +6075,7 @@ exports.definitions = [
|
|
|
6109
6075
|
tuya.whitelabel("GIEX", "TV06", "Thermostat radiator valve", ["_TZE200_py4cm3he"]),
|
|
6110
6076
|
],
|
|
6111
6077
|
ota: true,
|
|
6112
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
6078
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
6113
6079
|
exposes: [
|
|
6114
6080
|
e.battery_low(),
|
|
6115
6081
|
e.child_lock(),
|
|
@@ -6218,7 +6184,7 @@ exports.definitions = [
|
|
|
6218
6184
|
vendor: "Tuya",
|
|
6219
6185
|
description: "Thermostat radiator valve",
|
|
6220
6186
|
whiteLabel: [{ vendor: "S366", model: "Cloud Even" }],
|
|
6221
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
6187
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
6222
6188
|
meta: {
|
|
6223
6189
|
tuyaDatapoints: [
|
|
6224
6190
|
[1, "system_mode", tuya.valueConverterBasic.lookup({ heat: true, off: false })],
|
|
@@ -6378,7 +6344,7 @@ exports.definitions = [
|
|
|
6378
6344
|
model: "TS0601_thermostat_4",
|
|
6379
6345
|
vendor: "Tuya",
|
|
6380
6346
|
description: "Thermostatic radiator valve",
|
|
6381
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
6347
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
6382
6348
|
exposes: [
|
|
6383
6349
|
e.child_lock(),
|
|
6384
6350
|
e.battery(),
|
|
@@ -6525,7 +6491,7 @@ exports.definitions = [
|
|
|
6525
6491
|
tuya.whitelabel("id3", "GTZ06", "Thermostatic radiator valve", ["_TZE200_z1tyspqw"]),
|
|
6526
6492
|
tuya.whitelabel("AVATTO", "TRV07", "Thermostatic radiator valve", ["_TZE200_bvrlmajk"]),
|
|
6527
6493
|
],
|
|
6528
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
6494
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
6529
6495
|
exposes: [
|
|
6530
6496
|
e.battery(),
|
|
6531
6497
|
e.child_lock(),
|
|
@@ -6612,7 +6578,7 @@ exports.definitions = [
|
|
|
6612
6578
|
tuya.whitelabel("Moes", "TRV801_1", "Thermostatic radiator valve", ["_TZE204_rtrmfadk"]),
|
|
6613
6579
|
],
|
|
6614
6580
|
description: "Thermostatic radiator valve",
|
|
6615
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
6581
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
6616
6582
|
exposes: [
|
|
6617
6583
|
e.battery(),
|
|
6618
6584
|
e.child_lock(),
|
|
@@ -6688,7 +6654,7 @@ exports.definitions = [
|
|
|
6688
6654
|
vendor: "Tuya",
|
|
6689
6655
|
description: "Thermostatic radiator valve.",
|
|
6690
6656
|
whiteLabel: [tuya.whitelabel("Moes", "TRV801", "Thermostatic radiator valve", ["_TZE204_9mjy74mp", "_TZE200_9mjy74mp"])],
|
|
6691
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
6657
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
6692
6658
|
exposes: [
|
|
6693
6659
|
e.battery(),
|
|
6694
6660
|
e.child_lock(),
|
|
@@ -6778,7 +6744,7 @@ exports.definitions = [
|
|
|
6778
6744
|
vendor: "Tuya",
|
|
6779
6745
|
description: "Thermostatic radiator valve.",
|
|
6780
6746
|
whiteLabel: [tuya.whitelabel("Moes", "TRV801Z", "Thermostatic radiator valve", ["_TZE204_qyr2m29i", "_TZE284_ltwbm23f"])],
|
|
6781
|
-
extend: [tuyaBase({ dp: true })],
|
|
6747
|
+
extend: [tuyaBase({ dp: true, timeStart: "1970" })],
|
|
6782
6748
|
exposes: [
|
|
6783
6749
|
e.battery(),
|
|
6784
6750
|
e.child_lock(),
|
|
@@ -7042,7 +7008,7 @@ exports.definitions = [
|
|
|
7042
7008
|
model: "TRV603-WZ",
|
|
7043
7009
|
vendor: "Tuya",
|
|
7044
7010
|
description: "Thermostatic radiator valve.",
|
|
7045
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
7011
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
7046
7012
|
exposes: [
|
|
7047
7013
|
e.battery(),
|
|
7048
7014
|
e.child_lock(),
|
|
@@ -7233,7 +7199,7 @@ exports.definitions = [
|
|
|
7233
7199
|
electricalMeasurements: true,
|
|
7234
7200
|
electricalMeasurementsFzConverter: fzLocal.TS011F_electrical_measurement,
|
|
7235
7201
|
powerOutageMemory: true,
|
|
7236
|
-
indicatorMode: (manufacturerName) => manufacturerName
|
|
7202
|
+
indicatorMode: (manufacturerName) => manufacturerName !== "_TZ3000_ww6drja5",
|
|
7237
7203
|
childLock: true,
|
|
7238
7204
|
onOffCountdown: true,
|
|
7239
7205
|
}),
|
|
@@ -7396,9 +7362,7 @@ exports.definitions = [
|
|
|
7396
7362
|
model: "TS0601_smoke_1",
|
|
7397
7363
|
vendor: "Tuya",
|
|
7398
7364
|
description: "Smoke sensor",
|
|
7399
|
-
|
|
7400
|
-
toZigbee: [tuya.tz.datapoints],
|
|
7401
|
-
configure: tuya.configureMagicPacket,
|
|
7365
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7402
7366
|
exposes: [e.smoke(), e.tamper(), e.battery_low()],
|
|
7403
7367
|
meta: {
|
|
7404
7368
|
tuyaDatapoints: [
|
|
@@ -7414,9 +7378,7 @@ exports.definitions = [
|
|
|
7414
7378
|
model: "TS0601_smoke_6",
|
|
7415
7379
|
vendor: "Tuya",
|
|
7416
7380
|
description: "Smoke sensor",
|
|
7417
|
-
|
|
7418
|
-
toZigbee: [tuya.tz.datapoints],
|
|
7419
|
-
configure: tuya.configureMagicPacket,
|
|
7381
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7420
7382
|
exposes: [e.smoke(), e.tamper(), tuya.exposes.batteryState()],
|
|
7421
7383
|
meta: {
|
|
7422
7384
|
tuyaDatapoints: [
|
|
@@ -7431,7 +7393,7 @@ exports.definitions = [
|
|
|
7431
7393
|
model: "HS2SA-1",
|
|
7432
7394
|
vendor: "Heiman",
|
|
7433
7395
|
description: "Photoelectric Smoke Alarm",
|
|
7434
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
7396
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7435
7397
|
exposes: [
|
|
7436
7398
|
e.smoke(),
|
|
7437
7399
|
e.battery(),
|
|
@@ -7454,7 +7416,7 @@ exports.definitions = [
|
|
|
7454
7416
|
model: "PA-44Z",
|
|
7455
7417
|
vendor: "Tuya",
|
|
7456
7418
|
description: "Photoelectric smoke detector",
|
|
7457
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
7419
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7458
7420
|
exposes: [
|
|
7459
7421
|
e.smoke(),
|
|
7460
7422
|
e.battery(),
|
|
@@ -7480,9 +7442,7 @@ exports.definitions = [
|
|
|
7480
7442
|
model: "TS0601_smoke_3",
|
|
7481
7443
|
description: "Photoelectric smoke detector",
|
|
7482
7444
|
whiteLabel: [{ vendor: "KnockautX", model: "SMOAL024" }],
|
|
7483
|
-
|
|
7484
|
-
fromZigbee: [tuya.fz.datapoints],
|
|
7485
|
-
toZigbee: [tuya.tz.datapoints],
|
|
7445
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7486
7446
|
exposes: [e.smoke(), tuya.exposes.batteryState()],
|
|
7487
7447
|
meta: {
|
|
7488
7448
|
tuyaDatapoints: [
|
|
@@ -7506,8 +7466,7 @@ exports.definitions = [
|
|
|
7506
7466
|
model: "TS0601_smoke_4",
|
|
7507
7467
|
vendor: "Tuya",
|
|
7508
7468
|
description: "Smoke sensor",
|
|
7509
|
-
|
|
7510
|
-
toZigbee: [tuya.tz.datapoints],
|
|
7469
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7511
7470
|
exposes: [e.smoke(), e.battery(), tuya.exposes.batteryState()],
|
|
7512
7471
|
meta: {
|
|
7513
7472
|
tuyaDatapoints: [
|
|
@@ -7522,9 +7481,7 @@ exports.definitions = [
|
|
|
7522
7481
|
model: "TS0601_smoke_5",
|
|
7523
7482
|
vendor: "Tuya",
|
|
7524
7483
|
description: "Smoke sensor",
|
|
7525
|
-
|
|
7526
|
-
toZigbee: [tuya.tz.datapoints],
|
|
7527
|
-
configure: tuya.configureMagicPacket,
|
|
7484
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7528
7485
|
exposes: [
|
|
7529
7486
|
e.smoke(),
|
|
7530
7487
|
e.tamper(),
|
|
@@ -7549,7 +7506,7 @@ exports.definitions = [
|
|
|
7549
7506
|
model: "ZS-301Z",
|
|
7550
7507
|
vendor: "Arteco",
|
|
7551
7508
|
description: "Soil moisture sensor",
|
|
7552
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
7509
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7553
7510
|
exposes: [
|
|
7554
7511
|
e.enum("battery_state", ea.STATE, ["low", "middle", "high"]).withDescription("low: 1-25%, middle: 26-50%, high: 51-100%"),
|
|
7555
7512
|
e.temperature(),
|
|
@@ -7588,7 +7545,7 @@ exports.definitions = [
|
|
|
7588
7545
|
model: "ZSS-QY-SSD-A-EN",
|
|
7589
7546
|
vendor: "Tuya",
|
|
7590
7547
|
description: "Smart smoke alarm",
|
|
7591
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
7548
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7592
7549
|
exposes: [
|
|
7593
7550
|
e.smoke(),
|
|
7594
7551
|
tuya.exposes.faultAlarm(),
|
|
@@ -7684,14 +7641,14 @@ exports.definitions = [
|
|
|
7684
7641
|
e.binary("alarm", ea.STATE_SET, true, false).withDescription("Enable the alarm"),
|
|
7685
7642
|
e.binary("silence_siren", ea.STATE_SET, true, false).withDescription("Silence the siren"),
|
|
7686
7643
|
],
|
|
7687
|
-
extend: [tuya.modernExtend.tuyaBase(
|
|
7644
|
+
extend: [tuya.modernExtend.tuyaBase()],
|
|
7688
7645
|
},
|
|
7689
7646
|
{
|
|
7690
7647
|
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_cjbofhxw", "_TZE284_cjbofhxw"]),
|
|
7691
7648
|
model: "PJ-MGW1203",
|
|
7692
7649
|
vendor: "Tuya",
|
|
7693
7650
|
description: "Clamp meter",
|
|
7694
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
7651
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7695
7652
|
exposes: [e.current(), e.power(), e.voltage(), e.energy()],
|
|
7696
7653
|
meta: {
|
|
7697
7654
|
tuyaDatapoints: [
|
|
@@ -7708,9 +7665,7 @@ exports.definitions = [
|
|
|
7708
7665
|
model: "TS0601_din_1",
|
|
7709
7666
|
vendor: "Tuya",
|
|
7710
7667
|
description: "Zigbee DIN energy meter",
|
|
7711
|
-
|
|
7712
|
-
toZigbee: [tuya.tz.datapoints],
|
|
7713
|
-
configure: tuya.configureMagicPacket,
|
|
7668
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7714
7669
|
exposes: [
|
|
7715
7670
|
tuya.exposes.switch(),
|
|
7716
7671
|
e.ac_frequency(),
|
|
@@ -7755,9 +7710,7 @@ exports.definitions = [
|
|
|
7755
7710
|
model: "RMDZB-1PNL63",
|
|
7756
7711
|
vendor: "TNCE",
|
|
7757
7712
|
description: "Zigbee DIN single phase energy meter",
|
|
7758
|
-
|
|
7759
|
-
toZigbee: [tuya.tz.datapoints],
|
|
7760
|
-
configure: tuya.configureMagicPacket,
|
|
7713
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7761
7714
|
exposes: [
|
|
7762
7715
|
tuya.exposes.switch(),
|
|
7763
7716
|
e.energy(),
|
|
@@ -7880,9 +7833,7 @@ exports.definitions = [
|
|
|
7880
7833
|
model: "STB3L-125-ZJ",
|
|
7881
7834
|
vendor: "SUTON",
|
|
7882
7835
|
description: "Zigbee DIN RCBO energy meter",
|
|
7883
|
-
|
|
7884
|
-
toZigbee: [tuya.tz.datapoints],
|
|
7885
|
-
configure: tuya.configureMagicPacket,
|
|
7836
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
7886
7837
|
exposes: [
|
|
7887
7838
|
tuya.exposes.switch(),
|
|
7888
7839
|
e.energy(),
|
|
@@ -8046,9 +7997,7 @@ exports.definitions = [
|
|
|
8046
7997
|
model: "TS0601_din_2",
|
|
8047
7998
|
vendor: "Tuya",
|
|
8048
7999
|
description: "Zigbee DIN energy meter",
|
|
8049
|
-
|
|
8050
|
-
toZigbee: [tuya.tz.datapoints],
|
|
8051
|
-
configure: tuya.configureMagicPacket,
|
|
8000
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
8052
8001
|
exposes: [
|
|
8053
8002
|
tuya.exposes.switch(),
|
|
8054
8003
|
e.energy(),
|
|
@@ -8114,9 +8063,7 @@ exports.definitions = [
|
|
|
8114
8063
|
model: "TS0601_din_3",
|
|
8115
8064
|
vendor: "Tuya",
|
|
8116
8065
|
description: "Zigbee DIN energy meter",
|
|
8117
|
-
|
|
8118
|
-
toZigbee: [tuya.tz.datapoints],
|
|
8119
|
-
configure: tuya.configureMagicPacket,
|
|
8066
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
8120
8067
|
whiteLabel: [{ vendor: "XOCA", model: "DAC2161C" }],
|
|
8121
8068
|
exposes: [
|
|
8122
8069
|
tuya.exposes.switch(),
|
|
@@ -8931,7 +8878,7 @@ exports.definitions = [
|
|
|
8931
8878
|
model: "ZWT07",
|
|
8932
8879
|
vendor: "Tuya",
|
|
8933
8880
|
description: "Wall-mount thermostat",
|
|
8934
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, respondToMcuVersionResponse: true })],
|
|
8881
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, respondToMcuVersionResponse: true, timeStart: "2000" })],
|
|
8935
8882
|
exposes: [
|
|
8936
8883
|
e
|
|
8937
8884
|
.climate()
|
|
@@ -8965,8 +8912,7 @@ exports.definitions = [
|
|
|
8965
8912
|
model: "_TZE284_6kijc7nd",
|
|
8966
8913
|
vendor: "Tervix",
|
|
8967
8914
|
description: "Tervix Zigbee thermostat",
|
|
8968
|
-
|
|
8969
|
-
toZigbee: [tuya.tz.datapoints],
|
|
8915
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
8970
8916
|
exposes: [
|
|
8971
8917
|
// Weekly Schedule (Datapoint 48) - Placeholder
|
|
8972
8918
|
// The schedule is a raw 168-byte array (7 days x 24 bytes/day):
|
|
@@ -9175,7 +9121,7 @@ exports.definitions = [
|
|
|
9175
9121
|
model: "ZWT198/ZWT100-BH",
|
|
9176
9122
|
vendor: "Tuya",
|
|
9177
9123
|
description: "Wall thermostat",
|
|
9178
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, respondToMcuVersionResponse: true })],
|
|
9124
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, respondToMcuVersionResponse: true, timeStart: "1970" })],
|
|
9179
9125
|
whiteLabel: [tuya.whitelabel("AVATTO", "WT-100-BH", "Wall thermostat", ["_TZE204_gops3slb", "_TZE284_gops3slb"])],
|
|
9180
9126
|
exposes: [
|
|
9181
9127
|
e.binary("factory_reset", ea.STATE_SET, "ON", "OFF").withDescription("Full factory reset, use with caution!"),
|
|
@@ -9326,7 +9272,7 @@ exports.definitions = [
|
|
|
9326
9272
|
model: "TGM50-ZB",
|
|
9327
9273
|
vendor: "Tuya",
|
|
9328
9274
|
description: "Beok wall thermostat",
|
|
9329
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, respondToMcuVersionResponse: true })],
|
|
9275
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, respondToMcuVersionResponse: true, timeStart: "1970" })],
|
|
9330
9276
|
exposes: [
|
|
9331
9277
|
e.child_lock(),
|
|
9332
9278
|
e.temperature_sensor_select(["internal", "external", "both"]),
|
|
@@ -9678,12 +9624,10 @@ exports.definitions = [
|
|
|
9678
9624
|
},
|
|
9679
9625
|
description: "Garage door opener",
|
|
9680
9626
|
configure: async (device, coordinatorEndpoint) => {
|
|
9681
|
-
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
9682
9627
|
const endpoint = device.getEndpoint(1);
|
|
9683
9628
|
await reporting.bind(endpoint, coordinatorEndpoint, ["genBasic"]);
|
|
9684
9629
|
},
|
|
9685
|
-
|
|
9686
|
-
toZigbee: [tuya.tz.datapoints],
|
|
9630
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
9687
9631
|
exposes: [
|
|
9688
9632
|
e.binary("state", ea.STATE_SET, true, false).withDescription("Trigger the door movement"),
|
|
9689
9633
|
e
|
|
@@ -9759,12 +9703,10 @@ exports.definitions = [
|
|
|
9759
9703
|
model: "MIR-HE200-TY",
|
|
9760
9704
|
vendor: "Tuya",
|
|
9761
9705
|
description: "Human presence sensor with fall function",
|
|
9762
|
-
|
|
9763
|
-
toZigbee: [tuya.tz.datapoints],
|
|
9706
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
9764
9707
|
configure: async (device, coordinatorEndpoint) => {
|
|
9765
9708
|
const endpoint = device.getEndpoint(1);
|
|
9766
9709
|
await tuya.sendDataPointEnum(endpoint, legacy.dataPoints.trsfTumbleSwitch, 0);
|
|
9767
|
-
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
9768
9710
|
},
|
|
9769
9711
|
exposes: [
|
|
9770
9712
|
e.illuminance(),
|
|
@@ -10290,7 +10232,7 @@ exports.definitions = [
|
|
|
10290
10232
|
model: "Y1_IN",
|
|
10291
10233
|
vendor: "Tuya",
|
|
10292
10234
|
description: "Smart human presence sensor 24G",
|
|
10293
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
10235
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
10294
10236
|
exposes: [
|
|
10295
10237
|
e.presence(),
|
|
10296
10238
|
e.illuminance(),
|
|
@@ -10322,8 +10264,7 @@ exports.definitions = [
|
|
|
10322
10264
|
model: "ZY-M100-S_1",
|
|
10323
10265
|
vendor: "Tuya",
|
|
10324
10266
|
description: "Mini human breathe sensor",
|
|
10325
|
-
|
|
10326
|
-
toZigbee: [tuya.tz.datapoints],
|
|
10267
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
10327
10268
|
whiteLabel: [tuya.whitelabel("Wenzhi", "WZ-M100-W", "Human presence sensor", ["_TZE204_e5m9c5hl"])],
|
|
10328
10269
|
exposes: [
|
|
10329
10270
|
e.illuminance(),
|
|
@@ -10371,8 +10312,7 @@ exports.definitions = [
|
|
|
10371
10312
|
model: "ZY-M100-S_2",
|
|
10372
10313
|
vendor: "Tuya",
|
|
10373
10314
|
description: "Mini human breathe sensor",
|
|
10374
|
-
|
|
10375
|
-
toZigbee: [tuya.tz.datapoints],
|
|
10315
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
10376
10316
|
exposes: [
|
|
10377
10317
|
e.illuminance(),
|
|
10378
10318
|
e.presence(),
|
|
@@ -10432,7 +10372,7 @@ exports.definitions = [
|
|
|
10432
10372
|
model: "WZ-M100",
|
|
10433
10373
|
vendor: "Wenzhi",
|
|
10434
10374
|
description: "Human presence sensor",
|
|
10435
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
10375
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
10436
10376
|
exposes: [
|
|
10437
10377
|
e.illuminance(),
|
|
10438
10378
|
e.presence(),
|
|
@@ -10504,8 +10444,7 @@ exports.definitions = [
|
|
|
10504
10444
|
model: "ZG-205ZL",
|
|
10505
10445
|
vendor: "Tuya",
|
|
10506
10446
|
description: "24Ghz/5.8GHz human presence sensor",
|
|
10507
|
-
|
|
10508
|
-
toZigbee: [tuya.tz.datapoints],
|
|
10447
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
10509
10448
|
exposes: [
|
|
10510
10449
|
e.presence(),
|
|
10511
10450
|
e.enum("motion_state", ea.STATE, ["none", "large", "small", "static"]).withDescription("Motion state"),
|
|
@@ -10619,7 +10558,7 @@ exports.definitions = [
|
|
|
10619
10558
|
description: "Temperature & humidity sensor with clock",
|
|
10620
10559
|
fromZigbee: [legacy.fromZigbee.nous_lcd_temperature_humidity_sensor, fz.ignore_tuya_set_time],
|
|
10621
10560
|
toZigbee: [legacy.toZigbee.nous_lcd_temperature_humidity_sensor],
|
|
10622
|
-
extend: [tuya.modernExtend.tuyaBase({ forceTimeUpdates: true, bindBasicOnConfigure: true })],
|
|
10561
|
+
extend: [tuya.modernExtend.tuyaBase({ forceTimeUpdates: true, bindBasicOnConfigure: true, timeStart: "1970" })],
|
|
10623
10562
|
exposes: [
|
|
10624
10563
|
e.temperature(),
|
|
10625
10564
|
e.humidity(),
|
|
@@ -10647,7 +10586,7 @@ exports.definitions = [
|
|
|
10647
10586
|
description: "Tubular motor",
|
|
10648
10587
|
fromZigbee: [legacy.fromZigbee.zb_sm_cover],
|
|
10649
10588
|
toZigbee: [legacy.toZigbee.zb_sm_cover],
|
|
10650
|
-
extend: [tuya.modernExtend.tuyaBase(
|
|
10589
|
+
extend: [tuya.modernExtend.tuyaBase()],
|
|
10651
10590
|
exposes: [
|
|
10652
10591
|
e.cover_position().setAccess("position", ea.STATE_SET),
|
|
10653
10592
|
e.enum("goto_positon", ea.SET, ["25", "50", "75", "FAVORITE"]),
|
|
@@ -10745,9 +10684,7 @@ exports.definitions = [
|
|
|
10745
10684
|
model: "ZG-227ZL",
|
|
10746
10685
|
vendor: "Tuya",
|
|
10747
10686
|
description: "Temperature & humidity LCD sensor",
|
|
10748
|
-
|
|
10749
|
-
toZigbee: [tuya.tz.datapoints],
|
|
10750
|
-
configure: tuya.configureMagicPacket,
|
|
10687
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
10751
10688
|
exposes: [
|
|
10752
10689
|
e.temperature(),
|
|
10753
10690
|
e.humidity(),
|
|
@@ -10776,10 +10713,7 @@ exports.definitions = [
|
|
|
10776
10713
|
model: "S8",
|
|
10777
10714
|
vendor: "SODA",
|
|
10778
10715
|
description: "S8 premium window handle",
|
|
10779
|
-
extend: [],
|
|
10780
|
-
toZigbee: [tuya.tz.datapoints],
|
|
10781
|
-
fromZigbee: [tuya.fz.datapoints],
|
|
10782
|
-
configure: tuya.configureMagicPacket,
|
|
10716
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
10783
10717
|
exposes: [
|
|
10784
10718
|
e.battery(),
|
|
10785
10719
|
e.battery_low(),
|
|
@@ -10933,7 +10867,6 @@ exports.definitions = [
|
|
|
10933
10867
|
dp: true,
|
|
10934
10868
|
queryOnDeviceAnnounce: true,
|
|
10935
10869
|
queryOnConfigure: true,
|
|
10936
|
-
timeStart: "off",
|
|
10937
10870
|
respondToMcuVersionResponse: true,
|
|
10938
10871
|
}),
|
|
10939
10872
|
],
|
|
@@ -10961,9 +10894,7 @@ exports.definitions = [
|
|
|
10961
10894
|
model: "ZG-102Z",
|
|
10962
10895
|
vendor: "Tuya",
|
|
10963
10896
|
description: "Door sensor",
|
|
10964
|
-
|
|
10965
|
-
toZigbee: [tuya.tz.datapoints],
|
|
10966
|
-
configure: tuya.configureMagicPacket,
|
|
10897
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
10967
10898
|
exposes: [e.contact(), e.battery()],
|
|
10968
10899
|
meta: {
|
|
10969
10900
|
tuyaDatapoints: [
|
|
@@ -10978,9 +10909,7 @@ exports.definitions = [
|
|
|
10978
10909
|
model: "ZG-102ZL",
|
|
10979
10910
|
vendor: "Tuya",
|
|
10980
10911
|
description: "Luminance door sensor",
|
|
10981
|
-
|
|
10982
|
-
toZigbee: [tuya.tz.datapoints],
|
|
10983
|
-
configure: tuya.configureMagicPacket,
|
|
10912
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
10984
10913
|
exposes: [
|
|
10985
10914
|
e.contact(),
|
|
10986
10915
|
e.illuminance().withUnit("lx"),
|
|
@@ -11010,7 +10939,7 @@ exports.definitions = [
|
|
|
11010
10939
|
model: "TS0601_pir",
|
|
11011
10940
|
vendor: "Tuya",
|
|
11012
10941
|
description: "Haozee PIR sensor",
|
|
11013
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true,
|
|
10942
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, respondToMcuVersionResponse: true })],
|
|
11014
10943
|
exposes: (device, options) => {
|
|
11015
10944
|
const exposes = [e.occupancy(), e.illuminance()];
|
|
11016
10945
|
// https://github.com/Koenkk/zigbee2mqtt.io/pull/4018
|
|
@@ -11037,9 +10966,7 @@ exports.definitions = [
|
|
|
11037
10966
|
model: "ZG-225Z",
|
|
11038
10967
|
vendor: "Tuya",
|
|
11039
10968
|
description: "Gas sensor",
|
|
11040
|
-
|
|
11041
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11042
|
-
configure: tuya.configureMagicPacket,
|
|
10969
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11043
10970
|
exposes: [
|
|
11044
10971
|
e.gas(),
|
|
11045
10972
|
tuya.exposes.gasValue().withUnit("ppm"),
|
|
@@ -11086,8 +11013,7 @@ exports.definitions = [
|
|
|
11086
11013
|
model: "ZG-204ZL",
|
|
11087
11014
|
vendor: "Tuya",
|
|
11088
11015
|
description: "Luminance motion sensor",
|
|
11089
|
-
|
|
11090
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11016
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11091
11017
|
exposes: [
|
|
11092
11018
|
e.occupancy(),
|
|
11093
11019
|
e.illuminance().withUnit("lx"),
|
|
@@ -11144,8 +11070,7 @@ exports.definitions = [
|
|
|
11144
11070
|
model: "ZG-205Z/A",
|
|
11145
11071
|
vendor: "Tuya",
|
|
11146
11072
|
description: "5.8Ghz/24Ghz Human presence sensor",
|
|
11147
|
-
|
|
11148
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11073
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11149
11074
|
exposes: [
|
|
11150
11075
|
e.presence(),
|
|
11151
11076
|
e.enum("motion_state", ea.STATE, ["none", "small", "medium", "large", "far", "near"]).withDescription("State of the motion"),
|
|
@@ -11260,8 +11185,7 @@ exports.definitions = [
|
|
|
11260
11185
|
model: "ZG-204ZM",
|
|
11261
11186
|
vendor: "Tuya",
|
|
11262
11187
|
description: "PIR 24Ghz human presence sensor",
|
|
11263
|
-
|
|
11264
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11188
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11265
11189
|
exposes: [
|
|
11266
11190
|
e.presence(),
|
|
11267
11191
|
e.enum("motion_state", ea.STATE, ["none", "large", "small", "static"]).withDescription("Motion state"),
|
|
@@ -11458,9 +11382,7 @@ exports.definitions = [
|
|
|
11458
11382
|
model: "TS0601_3_phase_clamp_meter",
|
|
11459
11383
|
vendor: "Tuya",
|
|
11460
11384
|
description: "3-phase clamp power meter",
|
|
11461
|
-
|
|
11462
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11463
|
-
configure: tuya.configureMagicPacket,
|
|
11385
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11464
11386
|
whiteLabel: [
|
|
11465
11387
|
{ vendor: "MatSee Plus", model: "PC321-Z-TY" },
|
|
11466
11388
|
{ vendor: "OWON", model: "PC321-Z-TY" },
|
|
@@ -11513,9 +11435,7 @@ exports.definitions = [
|
|
|
11513
11435
|
model: "TS0601_3_phase_clamp_meter_relay",
|
|
11514
11436
|
vendor: "Tuya",
|
|
11515
11437
|
description: "3-phase clamp power meter with relay",
|
|
11516
|
-
|
|
11517
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11518
|
-
configure: tuya.configureMagicPacket,
|
|
11438
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11519
11439
|
whiteLabel: [{ vendor: "Wenzhou Taiye Electric", model: "TAC7361C BI" }],
|
|
11520
11440
|
exposes: [
|
|
11521
11441
|
e.switch().setAccess("state", ea.STATE_SET),
|
|
@@ -11601,7 +11521,7 @@ exports.definitions = [
|
|
|
11601
11521
|
vendor: "Tuya",
|
|
11602
11522
|
description: "Dual water valve",
|
|
11603
11523
|
fromZigbee: [fz.battery],
|
|
11604
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
11524
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11605
11525
|
exposes: [
|
|
11606
11526
|
e.enum("valve_status", ea.STATE, ["manual", "auto", "idle"]).withDescription("Valve 1 status (manual, auto, idle)").withEndpoint("l1"),
|
|
11607
11527
|
e.enum("valve_status", ea.STATE, ["manual", "auto", "idle"]).withDescription("Valve 2 status (manual, auto, idle)").withEndpoint("l2"),
|
|
@@ -11651,9 +11571,7 @@ exports.definitions = [
|
|
|
11651
11571
|
model: "TS0601_fan_switch",
|
|
11652
11572
|
vendor: "Tuya",
|
|
11653
11573
|
description: "Fan switch",
|
|
11654
|
-
|
|
11655
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11656
|
-
configure: tuya.configureMagicPacket,
|
|
11574
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11657
11575
|
exposes: [
|
|
11658
11576
|
tuya.exposes.switch(),
|
|
11659
11577
|
e.power_on_behavior(["off", "on"]).withAccess(ea.STATE_SET),
|
|
@@ -11692,9 +11610,7 @@ exports.definitions = [
|
|
|
11692
11610
|
model: "TS0601_fan_and_light_switch",
|
|
11693
11611
|
vendor: "Tuya",
|
|
11694
11612
|
description: "Fan & light switch",
|
|
11695
|
-
|
|
11696
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11697
|
-
configure: tuya.configureMagicPacket,
|
|
11613
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11698
11614
|
exposes: [
|
|
11699
11615
|
e.binary("status_indication", ea.STATE_SET, "ON", "OFF").withDescription("Light switch"),
|
|
11700
11616
|
tuya.exposes.switch(),
|
|
@@ -11731,9 +11647,7 @@ exports.definitions = [
|
|
|
11731
11647
|
model: "TS0601_fan_5_levels_and_light_switch",
|
|
11732
11648
|
vendor: "Tuya",
|
|
11733
11649
|
description: "Fan with 5 levels & light switch",
|
|
11734
|
-
|
|
11735
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11736
|
-
configure: tuya.configureMagicPacket,
|
|
11650
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
11737
11651
|
exposes: [
|
|
11738
11652
|
e.binary("status_indication", ea.STATE_SET, "ON", "OFF").withDescription("Light switch"),
|
|
11739
11653
|
tuya.exposes.switch(),
|
|
@@ -12012,9 +11926,7 @@ exports.definitions = [
|
|
|
12012
11926
|
model: "TS0601_switch_4_gang_2",
|
|
12013
11927
|
vendor: "Tuya",
|
|
12014
11928
|
description: "4 gang switch with backlight",
|
|
12015
|
-
|
|
12016
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12017
|
-
configure: tuya.configureMagicPacket,
|
|
11929
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12018
11930
|
exposes: [
|
|
12019
11931
|
tuya.exposes.switch().withEndpoint("l1"),
|
|
12020
11932
|
tuya.exposes.switch().withEndpoint("l2"),
|
|
@@ -12043,8 +11955,7 @@ exports.definitions = [
|
|
|
12043
11955
|
vendor: "Tuya",
|
|
12044
11956
|
description: "Curtain/blind switch",
|
|
12045
11957
|
options: [exposes.options.invert_cover()],
|
|
12046
|
-
|
|
12047
|
-
toZigbee: [tuya.tz.datapoints],
|
|
11958
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12048
11959
|
exposes: [
|
|
12049
11960
|
e.cover_position().setAccess("position", ea.STATE_SET),
|
|
12050
11961
|
e.enum("calibration", ea.STATE_SET, ["START", "END"]).withDescription("Calibration"),
|
|
@@ -12119,8 +12030,7 @@ exports.definitions = [
|
|
|
12119
12030
|
vendor: "Tuya",
|
|
12120
12031
|
description: "Curtain/blind switch with 1 Gang switch",
|
|
12121
12032
|
options: [exposes.options.invert_cover()],
|
|
12122
|
-
|
|
12123
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12033
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12124
12034
|
exposes: [
|
|
12125
12035
|
e.cover_position().setAccess("position", ea.STATE_SET),
|
|
12126
12036
|
tuya.exposes.switch().withEndpoint("l1"),
|
|
@@ -12174,8 +12084,7 @@ exports.definitions = [
|
|
|
12174
12084
|
vendor: "Tuya",
|
|
12175
12085
|
description: "Curtain/blind switch with 2 Gang switch",
|
|
12176
12086
|
options: [exposes.options.invert_cover()],
|
|
12177
|
-
|
|
12178
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12087
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12179
12088
|
exposes: [
|
|
12180
12089
|
e.cover_position().setAccess("position", ea.STATE_SET),
|
|
12181
12090
|
tuya.exposes.switch().withEndpoint("l1"),
|
|
@@ -12231,9 +12140,7 @@ exports.definitions = [
|
|
|
12231
12140
|
vendor: "Tuya",
|
|
12232
12141
|
description: "Smart energy monitor for 1P+N system",
|
|
12233
12142
|
ota: true,
|
|
12234
|
-
|
|
12235
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12236
|
-
configure: tuya.configureMagicPacket,
|
|
12143
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12237
12144
|
exposes: [
|
|
12238
12145
|
e.voltage(),
|
|
12239
12146
|
e.power(),
|
|
@@ -12273,9 +12180,7 @@ exports.definitions = [
|
|
|
12273
12180
|
model: "SPM02",
|
|
12274
12181
|
vendor: "Tuya",
|
|
12275
12182
|
description: "Smart energy monitor for 3P+N system",
|
|
12276
|
-
|
|
12277
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12278
|
-
configure: tuya.configureMagicPacket,
|
|
12183
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12279
12184
|
exposes: [
|
|
12280
12185
|
tuya.exposes.voltageWithPhase("X"),
|
|
12281
12186
|
tuya.exposes.voltageWithPhase("Y"),
|
|
@@ -12308,9 +12213,7 @@ exports.definitions = [
|
|
|
12308
12213
|
model: "SPM01V2",
|
|
12309
12214
|
vendor: "Tuya",
|
|
12310
12215
|
description: "Smart energy monitor for 1P+N system",
|
|
12311
|
-
|
|
12312
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12313
|
-
configure: tuya.configureMagicPacket,
|
|
12216
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12314
12217
|
exposes: [
|
|
12315
12218
|
e.voltage(),
|
|
12316
12219
|
e.power(),
|
|
@@ -12384,9 +12287,7 @@ exports.definitions = [
|
|
|
12384
12287
|
model: "SPM02V2",
|
|
12385
12288
|
vendor: "Tuya",
|
|
12386
12289
|
description: "Smart energy monitor for 3P+N system",
|
|
12387
|
-
|
|
12388
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12389
|
-
configure: tuya.configureMagicPacket,
|
|
12290
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12390
12291
|
exposes: [
|
|
12391
12292
|
tuya.exposes.voltageWithPhase("a"),
|
|
12392
12293
|
tuya.exposes.voltageWithPhase("b"),
|
|
@@ -12524,9 +12425,7 @@ exports.definitions = [
|
|
|
12524
12425
|
model: "SPM01V2.5",
|
|
12525
12426
|
vendor: "Tuya",
|
|
12526
12427
|
description: "Smart energy monitor for 1P+N system",
|
|
12527
|
-
|
|
12528
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12529
|
-
configure: tuya.configureMagicPacket,
|
|
12428
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12530
12429
|
exposes: [
|
|
12531
12430
|
e.voltage(),
|
|
12532
12431
|
e.power(),
|
|
@@ -12598,9 +12497,7 @@ exports.definitions = [
|
|
|
12598
12497
|
model: "SPM02V2.5",
|
|
12599
12498
|
vendor: "Tuya",
|
|
12600
12499
|
description: "Smart energy monitor for 3P+N system",
|
|
12601
|
-
|
|
12602
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12603
|
-
configure: tuya.configureMagicPacket,
|
|
12500
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12604
12501
|
exposes: [
|
|
12605
12502
|
tuya.exposes.voltageWithPhase("a"),
|
|
12606
12503
|
tuya.exposes.voltageWithPhase("b"),
|
|
@@ -12690,9 +12587,7 @@ exports.definitions = [
|
|
|
12690
12587
|
model: "SPM02V3",
|
|
12691
12588
|
vendor: "Tuya",
|
|
12692
12589
|
description: "Smart energy monitor for 3P+N system",
|
|
12693
|
-
|
|
12694
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12695
|
-
configure: tuya.configureMagicPacket,
|
|
12590
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12696
12591
|
exposes: [
|
|
12697
12592
|
tuya.exposes.voltageWithPhase("a"),
|
|
12698
12593
|
tuya.exposes.voltageWithPhase("b"),
|
|
@@ -12759,9 +12654,7 @@ exports.definitions = [
|
|
|
12759
12654
|
model: "SDM01",
|
|
12760
12655
|
vendor: "Tuya",
|
|
12761
12656
|
description: "Smart energy monitor for 3P+N system",
|
|
12762
|
-
|
|
12763
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12764
|
-
configure: tuya.configureMagicPacket,
|
|
12657
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12765
12658
|
whiteLabel: [tuya.whitelabel("Nous", "D4Z", "Smart energy monitor for 3P+N system", ["_TZE204_loejka0i"])],
|
|
12766
12659
|
exposes: [
|
|
12767
12660
|
tuya.exposes.voltageWithPhase("a"),
|
|
@@ -12821,9 +12714,7 @@ exports.definitions = [
|
|
|
12821
12714
|
model: "SDM01V1.5",
|
|
12822
12715
|
vendor: "Tuya",
|
|
12823
12716
|
description: "Smart energy monitor for 3P+N system",
|
|
12824
|
-
|
|
12825
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12826
|
-
configure: tuya.configureMagicPacket,
|
|
12717
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12827
12718
|
exposes: [
|
|
12828
12719
|
tuya.exposes.voltageWithPhase("a"),
|
|
12829
12720
|
tuya.exposes.voltageWithPhase("b"),
|
|
@@ -12890,9 +12781,7 @@ exports.definitions = [
|
|
|
12890
12781
|
model: "SDM02V1",
|
|
12891
12782
|
vendor: "Tuya",
|
|
12892
12783
|
description: "Smart energy monitor for 2P+N system",
|
|
12893
|
-
|
|
12894
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12895
|
-
configure: tuya.configureMagicPacket,
|
|
12784
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12896
12785
|
exposes: [
|
|
12897
12786
|
tuya.exposes.voltageWithPhase("l1"),
|
|
12898
12787
|
tuya.exposes.voltageWithPhase("l2"),
|
|
@@ -12947,7 +12836,7 @@ exports.definitions = [
|
|
|
12947
12836
|
model: "TS0601_bidirectional_energy meter",
|
|
12948
12837
|
vendor: "Tuya",
|
|
12949
12838
|
description: "Bidirectional energy meter with 150A Current Clamp",
|
|
12950
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
12839
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12951
12840
|
exposes: [
|
|
12952
12841
|
e.energy(),
|
|
12953
12842
|
e.produced_energy(),
|
|
@@ -12978,9 +12867,7 @@ exports.definitions = [
|
|
|
12978
12867
|
model: "TS0601_switch_8",
|
|
12979
12868
|
vendor: "Tuya",
|
|
12980
12869
|
description: "ZYXH 8 gang switch",
|
|
12981
|
-
|
|
12982
|
-
toZigbee: [tuya.tz.datapoints],
|
|
12983
|
-
configure: tuya.configureMagicPacket,
|
|
12870
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
12984
12871
|
exposes: [
|
|
12985
12872
|
tuya.exposes.switch().withEndpoint("l1"),
|
|
12986
12873
|
tuya.exposes.switch().withEndpoint("l2"),
|
|
@@ -13014,9 +12901,7 @@ exports.definitions = [
|
|
|
13014
12901
|
model: "TS0601_switch_8_2",
|
|
13015
12902
|
vendor: "Tuya",
|
|
13016
12903
|
description: "8 gang switch",
|
|
13017
|
-
|
|
13018
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13019
|
-
configure: tuya.configureMagicPacket,
|
|
12904
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13020
12905
|
exposes: [
|
|
13021
12906
|
tuya.exposes.switch().withEndpoint("l1"),
|
|
13022
12907
|
tuya.exposes.switch().withEndpoint("l2"),
|
|
@@ -13067,9 +12952,7 @@ exports.definitions = [
|
|
|
13067
12952
|
model: "TS0601_switch_10",
|
|
13068
12953
|
vendor: "Tuya",
|
|
13069
12954
|
description: "10 gang switch",
|
|
13070
|
-
|
|
13071
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13072
|
-
configure: tuya.configureMagicPacket,
|
|
12955
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13073
12956
|
exposes: [...Array.from({ length: 10 }, (_, i) => tuya.exposes.switch().withEndpoint(`l${i + 1}`))],
|
|
13074
12957
|
endpoint: (device) => {
|
|
13075
12958
|
return {
|
|
@@ -13108,9 +12991,7 @@ exports.definitions = [
|
|
|
13108
12991
|
model: "TS0601_switch_12",
|
|
13109
12992
|
vendor: "Tuya",
|
|
13110
12993
|
description: "ZXYH 12 gang switch",
|
|
13111
|
-
|
|
13112
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13113
|
-
configure: tuya.configureMagicPacket,
|
|
12994
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13114
12995
|
exposes: [...Array.from({ length: 12 }, (_, i) => tuya.exposes.switch().withEndpoint(`l${i + 1}`))],
|
|
13115
12996
|
endpoint: (device) => {
|
|
13116
12997
|
return {
|
|
@@ -13248,8 +13129,9 @@ exports.definitions = [
|
|
|
13248
13129
|
vendor: "Tuya",
|
|
13249
13130
|
description: "Zigbee fingerbot plus",
|
|
13250
13131
|
whiteLabel: [tuya.whitelabel("Adaprox", "TS0001_fingerbot_1", "Zigbee fingerbot plus", ["_TZ3210_dse8ogfy"])],
|
|
13251
|
-
fromZigbee: [fz.on_off
|
|
13252
|
-
toZigbee: [tz.on_off
|
|
13132
|
+
fromZigbee: [fz.on_off],
|
|
13133
|
+
toZigbee: [tz.on_off],
|
|
13134
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13253
13135
|
exposes: [
|
|
13254
13136
|
e.switch(),
|
|
13255
13137
|
e.battery(),
|
|
@@ -13261,7 +13143,6 @@ exports.definitions = [
|
|
|
13261
13143
|
e.binary("touch", ea.STATE_SET, "ON", "OFF").withDescription("Touch control"),
|
|
13262
13144
|
],
|
|
13263
13145
|
configure: async (device, coordinatorEndpoint) => {
|
|
13264
|
-
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
13265
13146
|
await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ["genOnOff"]);
|
|
13266
13147
|
},
|
|
13267
13148
|
meta: {
|
|
@@ -13300,9 +13181,7 @@ exports.definitions = [
|
|
|
13300
13181
|
model: "SWS6TZ-WHITE",
|
|
13301
13182
|
vendor: "Tuya",
|
|
13302
13183
|
description: "6 gang wall switch",
|
|
13303
|
-
|
|
13304
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13305
|
-
configure: tuya.configureMagicPacket,
|
|
13184
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13306
13185
|
exposes: [
|
|
13307
13186
|
e.switch().withEndpoint("l1"),
|
|
13308
13187
|
e.switch().withEndpoint("l2"),
|
|
@@ -13337,7 +13216,7 @@ exports.definitions = [
|
|
|
13337
13216
|
model: "ZS-TYG3-SM-61Z",
|
|
13338
13217
|
vendor: "Tuya",
|
|
13339
13218
|
description: "Smart switch (4 gang + 2 scene) with backlight and neutral wire",
|
|
13340
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
13219
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13341
13220
|
exposes: [
|
|
13342
13221
|
tuya.exposes.switch().withDescription("All Switches"),
|
|
13343
13222
|
tuya.exposes.switch().withEndpoint("l1"),
|
|
@@ -13393,7 +13272,7 @@ exports.definitions = [
|
|
|
13393
13272
|
model: "ZS-TYG3-SM-21Z",
|
|
13394
13273
|
vendor: "Tuya",
|
|
13395
13274
|
description: "2 gang smart switch with backlight and neutral wire",
|
|
13396
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
13275
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13397
13276
|
exposes: [
|
|
13398
13277
|
tuya.exposes.switch().withDescription("All Switches"),
|
|
13399
13278
|
tuya.exposes.switch().withEndpoint("l1"),
|
|
@@ -13435,7 +13314,7 @@ exports.definitions = [
|
|
|
13435
13314
|
tuya.exposes.countdown().withEndpoint("l3"),
|
|
13436
13315
|
e.power_on_behavior(["off", "on", "previous"]).withAccess(ea.STATE_SET),
|
|
13437
13316
|
],
|
|
13438
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
13317
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13439
13318
|
endpoint: (device) => {
|
|
13440
13319
|
return { l1: 1, l2: 1, l3: 1, state: 1, backlight: 1 };
|
|
13441
13320
|
},
|
|
@@ -13459,7 +13338,7 @@ exports.definitions = [
|
|
|
13459
13338
|
model: "ZS-TYG3-SM-41Z",
|
|
13460
13339
|
vendor: "Tuya",
|
|
13461
13340
|
description: "4 gang smart switch with backlight and neutral wire",
|
|
13462
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
13341
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13463
13342
|
exposes: [
|
|
13464
13343
|
tuya.exposes.switch().withDescription("All Switches"),
|
|
13465
13344
|
tuya.exposes.switch().withEndpoint("l1"),
|
|
@@ -13499,9 +13378,9 @@ exports.definitions = [
|
|
|
13499
13378
|
model: "M9-zigbee-SL",
|
|
13500
13379
|
vendor: "Tuya",
|
|
13501
13380
|
description: "Smart Switch (4 gang + 4 scene) with neutral wire and motion sensing",
|
|
13502
|
-
fromZigbee: [
|
|
13503
|
-
toZigbee: [tuya.tz.
|
|
13504
|
-
|
|
13381
|
+
fromZigbee: [fz.ias_occupancy_only_alarm_2, tuya.fz.indicator_mode],
|
|
13382
|
+
toZigbee: [tuya.tz.power_on_behavior_1, tuya.tz.backlight_indicator_mode_1],
|
|
13383
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13505
13384
|
exposes: [
|
|
13506
13385
|
...[1, 2, 3, 4, 5, 6, 7, 8].map((i) => tuya.exposes.switch().withEndpoint(`l${i}`)),
|
|
13507
13386
|
...[1, 2, 3, 4, 5, 6, 7, 8].map((i) => e.power_on_behavior().withAccess(ea.STATE_SET).withEndpoint(`l${i}`)),
|
|
@@ -13580,8 +13459,7 @@ exports.definitions = [
|
|
|
13580
13459
|
model: "YXZBRB58",
|
|
13581
13460
|
vendor: "Tuya",
|
|
13582
13461
|
description: "Smart human presence sensor",
|
|
13583
|
-
|
|
13584
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13462
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13585
13463
|
exposes: [
|
|
13586
13464
|
e.illuminance(),
|
|
13587
13465
|
e.presence(),
|
|
@@ -13642,8 +13520,7 @@ exports.definitions = [
|
|
|
13642
13520
|
model: "TS0601_light",
|
|
13643
13521
|
vendor: "Tuya",
|
|
13644
13522
|
description: "Light",
|
|
13645
|
-
|
|
13646
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13523
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13647
13524
|
exposes: [tuya.exposes.lightBrightness(), e.power_on_behavior().withAccess(ea.STATE_SET)],
|
|
13648
13525
|
meta: {
|
|
13649
13526
|
tuyaDatapoints: [
|
|
@@ -13665,8 +13542,7 @@ exports.definitions = [
|
|
|
13665
13542
|
model: "YXZBSL",
|
|
13666
13543
|
vendor: "Tuya",
|
|
13667
13544
|
description: "Smart siren",
|
|
13668
|
-
|
|
13669
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13545
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13670
13546
|
exposes: [
|
|
13671
13547
|
e.binary("alarm", ea.STATE_SET, "ON", "OFF").withDescription("Turn the light of the alarm ON/OFF"),
|
|
13672
13548
|
e.enum("type", ea.STATE_SET, ["sound", "light", "sound+light", "normal"]).withDescription("Alarm type"),
|
|
@@ -13761,9 +13637,7 @@ exports.definitions = [
|
|
|
13761
13637
|
model: "ZYXH",
|
|
13762
13638
|
vendor: "Tuya",
|
|
13763
13639
|
description: "24 gang switch",
|
|
13764
|
-
|
|
13765
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13766
|
-
configure: tuya.configureMagicPacket,
|
|
13640
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13767
13641
|
exposes: [...Array.from(Array(24).keys()).map((ep) => tuya.exposes.switch().withEndpoint(`l${ep + 1}`))],
|
|
13768
13642
|
endpoint: (device) => {
|
|
13769
13643
|
return {
|
|
@@ -13828,9 +13702,7 @@ exports.definitions = [
|
|
|
13828
13702
|
model: "ZY-M100-24G",
|
|
13829
13703
|
vendor: "Tuya",
|
|
13830
13704
|
description: "24G MmWave radar human presence motion sensor",
|
|
13831
|
-
|
|
13832
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13833
|
-
configure: tuya.configureMagicPacket,
|
|
13705
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13834
13706
|
exposes: [
|
|
13835
13707
|
e.enum("state", ea.STATE, ["none", "presence", "move"]).withDescription("Presence state"),
|
|
13836
13708
|
e.presence(),
|
|
@@ -13887,9 +13759,7 @@ exports.definitions = [
|
|
|
13887
13759
|
model: "ZY-M100-24GV2",
|
|
13888
13760
|
vendor: "Tuya",
|
|
13889
13761
|
description: "24G MmWave radar human presence motion sensor",
|
|
13890
|
-
|
|
13891
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13892
|
-
configure: tuya.configureMagicPacket,
|
|
13762
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13893
13763
|
exposes: [
|
|
13894
13764
|
e.enum("state", ea.STATE, ["none", "presence", "move"]).withDescription("Presence state sensor"),
|
|
13895
13765
|
e.presence().withDescription("Occupancy"),
|
|
@@ -13938,9 +13808,7 @@ exports.definitions = [
|
|
|
13938
13808
|
model: "ZY-M100-24GV3",
|
|
13939
13809
|
vendor: "Tuya",
|
|
13940
13810
|
description: "24G MmWave radar human presence motion sensor (added distance switch)",
|
|
13941
|
-
|
|
13942
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13943
|
-
configure: tuya.configureMagicPacket,
|
|
13811
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
13944
13812
|
exposes: (device, options) => {
|
|
13945
13813
|
const exps = [
|
|
13946
13814
|
e.enum("state", ea.STATE, ["none", "presence", "move"]).withDescription("Presence state sensor"),
|
|
@@ -14045,8 +13913,7 @@ exports.definitions = [
|
|
|
14045
13913
|
model: "CTL-R1-TY-Zigbee",
|
|
14046
13914
|
vendor: "Tuya",
|
|
14047
13915
|
description: "24G radar human presence motion sensor.",
|
|
14048
|
-
|
|
14049
|
-
toZigbee: [tuya.tz.datapoints],
|
|
13916
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
14050
13917
|
exposes: [
|
|
14051
13918
|
e.illuminance().withUnit("lx"),
|
|
14052
13919
|
e.presence(),
|
|
@@ -14155,9 +14022,7 @@ exports.definitions = [
|
|
|
14155
14022
|
tuya.whitelabel("Tuya", "MTG235-ZB-RL", "24G Human presence sensor with relay", ["_TZE204_clrdrnya", "_TZE200_clrdrnya"]),
|
|
14156
14023
|
tuya.whitelabel("QA", "QASZ24R", "mmWave 24 Ghz sensor with relay", ["_TZE284_4qznlkbu"]),
|
|
14157
14024
|
],
|
|
14158
|
-
|
|
14159
|
-
fromZigbee: [tuya.fz.datapoints],
|
|
14160
|
-
toZigbee: [tuya.tz.datapoints],
|
|
14025
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
14161
14026
|
exposes: [
|
|
14162
14027
|
e.presence(),
|
|
14163
14028
|
e.illuminance(),
|
|
@@ -14304,7 +14169,7 @@ exports.definitions = [
|
|
|
14304
14169
|
description: "Bidirectional energy meter with 80A current clamp",
|
|
14305
14170
|
fromZigbee: [fzLocal.PJ1203A_strict_fz_datapoints, fzLocal.PJ1203A_sync_time_increase_seq],
|
|
14306
14171
|
toZigbee: [tuya.tz.datapoints],
|
|
14307
|
-
extend: [tuya.modernExtend.tuyaBase(
|
|
14172
|
+
extend: [tuya.modernExtend.tuyaBase()],
|
|
14308
14173
|
options: [
|
|
14309
14174
|
e
|
|
14310
14175
|
.binary("late_energy_flow_a", ea.SET, true, false)
|
|
@@ -14380,7 +14245,7 @@ exports.definitions = [
|
|
|
14380
14245
|
model: "PC311-Z-TY",
|
|
14381
14246
|
vendor: "Tuya",
|
|
14382
14247
|
description: "Bidirectional energy meter with 80A current clamp",
|
|
14383
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
14248
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
14384
14249
|
exposes: [
|
|
14385
14250
|
e.ac_frequency(),
|
|
14386
14251
|
e.voltage(),
|
|
@@ -14426,7 +14291,7 @@ exports.definitions = [
|
|
|
14426
14291
|
model: "TYBAC-006",
|
|
14427
14292
|
vendor: "Tuya",
|
|
14428
14293
|
description: "Wall-mount thermostat for 2-pipe fan-coil unit",
|
|
14429
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
14294
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
14430
14295
|
options: [
|
|
14431
14296
|
e
|
|
14432
14297
|
.enum("control_sequence_of_operation", ea.SET, ["cooling_only", "cooling_and_heating_4-pipes"])
|
|
@@ -14552,7 +14417,7 @@ exports.definitions = [
|
|
|
14552
14417
|
model: "rtsc11r",
|
|
14553
14418
|
vendor: "Tuya",
|
|
14554
14419
|
description: "5.8G human presence sensor with relay",
|
|
14555
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
14420
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
14556
14421
|
exposes: [
|
|
14557
14422
|
e.presence(),
|
|
14558
14423
|
e.illuminance().withUnit("lx"),
|
|
@@ -14611,9 +14476,7 @@ exports.definitions = [
|
|
|
14611
14476
|
model: "NAS-PS09B2",
|
|
14612
14477
|
vendor: "NEO",
|
|
14613
14478
|
description: "Human presence sensor",
|
|
14614
|
-
|
|
14615
|
-
toZigbee: [tuya.tz.datapoints],
|
|
14616
|
-
configure: tuya.configureMagicPacket,
|
|
14479
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
14617
14480
|
exposes: [
|
|
14618
14481
|
e.occupancy(),
|
|
14619
14482
|
e.enum("human_motion_state", ea.STATE, ["none", "small", "large"]).withDescription("Human Motion State"),
|
|
@@ -14794,7 +14657,7 @@ exports.definitions = [
|
|
|
14794
14657
|
model: "SP02-ZB001",
|
|
14795
14658
|
vendor: "iAlarm",
|
|
14796
14659
|
description: "Infrared motion sensor",
|
|
14797
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
14660
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
14798
14661
|
exposes: [e.tamper(), e.battery(), e.occupancy()],
|
|
14799
14662
|
meta: {
|
|
14800
14663
|
tuyaDatapoints: [
|
|
@@ -14809,9 +14672,7 @@ exports.definitions = [
|
|
|
14809
14672
|
model: "THS317-ET-TY",
|
|
14810
14673
|
vendor: "Tuya",
|
|
14811
14674
|
description: "Temperature sensor with probe",
|
|
14812
|
-
|
|
14813
|
-
toZigbee: [tuya.tz.datapoints],
|
|
14814
|
-
configure: tuya.configureMagicPacket,
|
|
14675
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
14815
14676
|
exposes: [e.temperature(), e.battery()],
|
|
14816
14677
|
whiteLabel: [tuya.whitelabel("OWON", "THS317-ET-EY", "Temperature sensor with probe", ["_TZE200_01fvxamo"])],
|
|
14817
14678
|
meta: {
|
|
@@ -14826,7 +14687,7 @@ exports.definitions = [
|
|
|
14826
14687
|
model: "DCR-RQJ",
|
|
14827
14688
|
vendor: "Tuya",
|
|
14828
14689
|
description: "Carbon monoxide sensor gas leak detector",
|
|
14829
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
14690
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
14830
14691
|
exposes: [e.gas(), tuya.exposes.gasValue().withUnit("LEL %"), e.carbon_monoxide(), e.co()],
|
|
14831
14692
|
meta: {
|
|
14832
14693
|
tuyaDatapoints: [
|
|
@@ -14856,7 +14717,7 @@ exports.definitions = [
|
|
|
14856
14717
|
model: "SZR07U",
|
|
14857
14718
|
vendor: "Tuya",
|
|
14858
14719
|
description: "24GHz millimeter wave radar",
|
|
14859
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
14720
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
14860
14721
|
exposes: [
|
|
14861
14722
|
e.presence(),
|
|
14862
14723
|
e
|
|
@@ -14952,7 +14813,6 @@ exports.definitions = [
|
|
|
14952
14813
|
dp: true,
|
|
14953
14814
|
queryOnConfigure: true,
|
|
14954
14815
|
queryIntervalSeconds: 10,
|
|
14955
|
-
timeStart: "off",
|
|
14956
14816
|
respondToMcuVersionResponse: true,
|
|
14957
14817
|
}),
|
|
14958
14818
|
],
|
|
@@ -15168,7 +15028,6 @@ exports.definitions = [
|
|
|
15168
15028
|
dp: true,
|
|
15169
15029
|
queryOnConfigure: true,
|
|
15170
15030
|
queryIntervalSeconds: 10,
|
|
15171
|
-
timeStart: "off",
|
|
15172
15031
|
respondToMcuVersionResponse: true,
|
|
15173
15032
|
}),
|
|
15174
15033
|
],
|
|
@@ -15353,7 +15212,7 @@ exports.definitions = [
|
|
|
15353
15212
|
model: "EA4161C-BI",
|
|
15354
15213
|
vendor: "Tuya",
|
|
15355
15214
|
description: "Single-phase multifunction energy meter (DIN Module)",
|
|
15356
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
15215
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
15357
15216
|
exposes: [e.current(), e.power(), e.voltage(), e.energy(), e.text("meter_id", ea.STATE).withDescription("Meter ID (ID of device)")],
|
|
15358
15217
|
meta: {
|
|
15359
15218
|
tuyaDatapoints: [
|
|
@@ -15396,7 +15255,7 @@ exports.definitions = [
|
|
|
15396
15255
|
model: "ZR360CDB",
|
|
15397
15256
|
vendor: "Zorro Alert",
|
|
15398
15257
|
description: "Multifunctional CO2 detector",
|
|
15399
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
15258
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
15400
15259
|
whiteLabel: [tuya.whitelabel("Nous", "E10", "Multifunctional CO2 detector", ["_TZE200_xpvamyfz", "_TZE284_xpvamyfz"])],
|
|
15401
15260
|
exposes: [
|
|
15402
15261
|
e.humidity(),
|
|
@@ -15774,7 +15633,7 @@ exports.definitions = [
|
|
|
15774
15633
|
model: "ZPV-01",
|
|
15775
15634
|
vendor: "Novato",
|
|
15776
15635
|
description: "Battery powered smart valve",
|
|
15777
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
15636
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
15778
15637
|
exposes: [
|
|
15779
15638
|
e.switch().setAccess("state", ea.STATE_SET),
|
|
15780
15639
|
e.enum("valve_state", ea.STATE, ["Closed", "Unknown", "Open"]).withDescription("Valve Status"),
|
|
@@ -15895,8 +15754,7 @@ exports.definitions = [
|
|
|
15895
15754
|
model: "RT_ZCZ03Z",
|
|
15896
15755
|
vendor: "Tuya",
|
|
15897
15756
|
description: "Human presence sensor 24G",
|
|
15898
|
-
|
|
15899
|
-
toZigbee: [tuya.tz.datapoints],
|
|
15757
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
15900
15758
|
exposes: [
|
|
15901
15759
|
e.illuminance(),
|
|
15902
15760
|
e.presence(),
|
|
@@ -15946,7 +15804,7 @@ exports.definitions = [
|
|
|
15946
15804
|
description: "Smart circuit breaker",
|
|
15947
15805
|
// Important: respondToMcuVersionResponse should be false otherwise there is an avalanche of commandMcuVersionResponse messages every second.
|
|
15948
15806
|
// queryIntervalSeconds: is doing a pooling to update the device's parameters, now defined to update data every 3 minutes.
|
|
15949
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, queryIntervalSeconds: 3 * 60,
|
|
15807
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, queryIntervalSeconds: 3 * 60, respondToMcuVersionResponse: true })],
|
|
15950
15808
|
exposes: [
|
|
15951
15809
|
tuya.exposes.switch(),
|
|
15952
15810
|
e.energy(),
|
|
@@ -16125,7 +15983,7 @@ exports.definitions = [
|
|
|
16125
15983
|
model: "ZY-M100-S_3",
|
|
16126
15984
|
vendor: "Tuya",
|
|
16127
15985
|
description: "Human presence detector",
|
|
16128
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
15986
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16129
15987
|
exposes: [
|
|
16130
15988
|
e.presence(),
|
|
16131
15989
|
e.illuminance(),
|
|
@@ -16164,7 +16022,7 @@ exports.definitions = [
|
|
|
16164
16022
|
model: "ZG-205Z",
|
|
16165
16023
|
vendor: "Tuya",
|
|
16166
16024
|
description: "5.8 GHz human presence sensor",
|
|
16167
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
16025
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16168
16026
|
exposes: [
|
|
16169
16027
|
e.presence(),
|
|
16170
16028
|
e
|
|
@@ -16280,9 +16138,7 @@ exports.definitions = [
|
|
|
16280
16138
|
model: "PN6",
|
|
16281
16139
|
vendor: "ZSVIOT",
|
|
16282
16140
|
description: "6-way controller",
|
|
16283
|
-
|
|
16284
|
-
toZigbee: [tuya.tz.datapoints],
|
|
16285
|
-
configure: tuya.configureMagicPacket,
|
|
16141
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16286
16142
|
exposes: [
|
|
16287
16143
|
tuya.exposes.switch(),
|
|
16288
16144
|
tuya.exposes.switchMode2().withEndpoint("l1_l2").withLabel("1-2 channels"),
|
|
@@ -16334,9 +16190,7 @@ exports.definitions = [
|
|
|
16334
16190
|
model: "PN16",
|
|
16335
16191
|
vendor: "ZSVIOT",
|
|
16336
16192
|
description: "16-way controller",
|
|
16337
|
-
|
|
16338
|
-
toZigbee: [tuya.tz.datapoints],
|
|
16339
|
-
configure: tuya.configureMagicPacket,
|
|
16193
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16340
16194
|
exposes: [
|
|
16341
16195
|
e.power_on_behavior(["off", "on", "previous"]).withAccess(ea.STATE_SET),
|
|
16342
16196
|
tuya.exposes.switch().withEndpoint("all"),
|
|
@@ -16442,9 +16296,7 @@ exports.definitions = [
|
|
|
16442
16296
|
model: "ZG-103Z",
|
|
16443
16297
|
vendor: "Tuya",
|
|
16444
16298
|
description: "Vibration sensor",
|
|
16445
|
-
|
|
16446
|
-
toZigbee: [tuya.tz.datapoints],
|
|
16447
|
-
configure: tuya.configureMagicPacket,
|
|
16299
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16448
16300
|
exposes: [
|
|
16449
16301
|
e.vibration(),
|
|
16450
16302
|
e.tilt(),
|
|
@@ -16487,8 +16339,7 @@ exports.definitions = [
|
|
|
16487
16339
|
model: "ZG-302ZM",
|
|
16488
16340
|
vendor: "HOBEIAN",
|
|
16489
16341
|
description: "Motion sensing switch",
|
|
16490
|
-
|
|
16491
|
-
toZigbee: [tuya.tz.datapoints],
|
|
16342
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16492
16343
|
exposes: [
|
|
16493
16344
|
e.presence(),
|
|
16494
16345
|
e.binary("switch1", ea.STATE_SET, "ON", "OFF").withDescription("Switch1"),
|
|
@@ -16581,9 +16432,7 @@ exports.definitions = [
|
|
|
16581
16432
|
model: "ZG-303Z",
|
|
16582
16433
|
vendor: "HOBEIAN",
|
|
16583
16434
|
description: "Soil moisture sensor",
|
|
16584
|
-
|
|
16585
|
-
toZigbee: [tuya.tz.datapoints],
|
|
16586
|
-
configure: tuya.configureMagicPacket,
|
|
16435
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16587
16436
|
exposes: [
|
|
16588
16437
|
e.enum("water_warning", ea.STATE, ["none", "alarm"]).withDescription("Water shortage warning"),
|
|
16589
16438
|
e.temperature(),
|
|
@@ -16627,10 +16476,8 @@ exports.definitions = [
|
|
|
16627
16476
|
model: "TS0601_din_4",
|
|
16628
16477
|
vendor: "Tuya",
|
|
16629
16478
|
description: "Din rail switch with power monitoring and threshold settings",
|
|
16630
|
-
|
|
16631
|
-
toZigbee: [tuya.tz.datapoints],
|
|
16479
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16632
16480
|
configure: async (device, coordinatorEndpoint) => {
|
|
16633
|
-
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
16634
16481
|
// Required to get the device to start reporting
|
|
16635
16482
|
await device.getEndpoint(1).command("manuSpecificTuya", "dataQuery", {});
|
|
16636
16483
|
},
|
|
@@ -16675,9 +16522,7 @@ exports.definitions = [
|
|
|
16675
16522
|
model: "ZA03",
|
|
16676
16523
|
vendor: "Tuya",
|
|
16677
16524
|
description: "Siren alarm",
|
|
16678
|
-
|
|
16679
|
-
toZigbee: [tuya.tz.datapoints],
|
|
16680
|
-
configure: tuya.configureMagicPacket,
|
|
16525
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16681
16526
|
exposes: [
|
|
16682
16527
|
e.binary("alarm", ea.STATE_SET, "ON", "OFF").withDescription("Sound the alarm"),
|
|
16683
16528
|
e.enum("volume", ea.STATE_SET, ["low", "medium", "high", "mute"]),
|
|
@@ -16783,10 +16628,7 @@ exports.definitions = [
|
|
|
16783
16628
|
model: "ZY_HPS01",
|
|
16784
16629
|
vendor: "Tuya",
|
|
16785
16630
|
description: "mmWave radar 5.8GHz",
|
|
16786
|
-
|
|
16787
|
-
toZigbee: [tuya.tz.datapoints],
|
|
16788
|
-
configure: tuya.configureMagicPacket,
|
|
16789
|
-
extend: [],
|
|
16631
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16790
16632
|
whiteLabel: [tuya.whitelabel("Nova Digital", "ZTS-MM", "mmWave radar 5.8GHz", ["_TZE204_lbbg34rj"])],
|
|
16791
16633
|
exposes: [
|
|
16792
16634
|
e.illuminance().withUnit("lx"),
|
|
@@ -16860,8 +16702,7 @@ exports.definitions = [
|
|
|
16860
16702
|
model: "ZPIR-10",
|
|
16861
16703
|
vendor: "Tuya",
|
|
16862
16704
|
description: "Treatlife human presence sensor",
|
|
16863
|
-
|
|
16864
|
-
toZigbee: [tuya.tz.datapoints],
|
|
16705
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
16865
16706
|
exposes: [e.occupancy(), e.battery(), e.illuminance()],
|
|
16866
16707
|
meta: {
|
|
16867
16708
|
tuyaDatapoints: [
|
|
@@ -16876,7 +16717,7 @@ exports.definitions = [
|
|
|
16876
16717
|
model: "TS0601_thermostat_thermosphere",
|
|
16877
16718
|
vendor: "Tuya",
|
|
16878
16719
|
description: "ThermoSphere thermostat",
|
|
16879
|
-
extend: [tuyaBase({ dp: true })],
|
|
16720
|
+
extend: [tuyaBase({ dp: true, timeStart: "1970" })],
|
|
16880
16721
|
exposes: [
|
|
16881
16722
|
e
|
|
16882
16723
|
.climate()
|
|
@@ -17043,7 +16884,7 @@ exports.definitions = [
|
|
|
17043
16884
|
model: "TS0601_GTZ10",
|
|
17044
16885
|
vendor: "Tuya",
|
|
17045
16886
|
description: "Thermostat radiator valve",
|
|
17046
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
16887
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
17047
16888
|
ota: true,
|
|
17048
16889
|
exposes: [
|
|
17049
16890
|
e.battery(),
|
|
@@ -17328,7 +17169,7 @@ exports.definitions = [
|
|
|
17328
17169
|
model: "HHST001",
|
|
17329
17170
|
vendor: "HeatHUB",
|
|
17330
17171
|
description: "Fan coil thermostat",
|
|
17331
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
17172
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
17332
17173
|
exposes: [
|
|
17333
17174
|
e.binary("state", ea.STATE_SET, "ON", "OFF").withDescription("Turn the thermostat ON/OFF"),
|
|
17334
17175
|
e
|
|
@@ -17406,9 +17247,7 @@ exports.definitions = [
|
|
|
17406
17247
|
model: "GX03",
|
|
17407
17248
|
vendor: "GIEX",
|
|
17408
17249
|
description: "GIEX 2 zone watering timer",
|
|
17409
|
-
|
|
17410
|
-
toZigbee: [tuya.tz.datapoints],
|
|
17411
|
-
configure: tuya.configureMagicPacket,
|
|
17250
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
17412
17251
|
exposes: [
|
|
17413
17252
|
e.binary("valve_1", ea.STATE_SET, "ON", "OFF").withDescription("Switch state"),
|
|
17414
17253
|
e
|
|
@@ -17460,9 +17299,7 @@ exports.definitions = [
|
|
|
17460
17299
|
model: "PJ3201A",
|
|
17461
17300
|
vendor: "Dongguan Pinjia Technology Co.,LTD.",
|
|
17462
17301
|
description: "Human Presence Sensor",
|
|
17463
|
-
|
|
17464
|
-
toZigbee: [tuya.tz.datapoints],
|
|
17465
|
-
configure: tuya.configureMagicPacket,
|
|
17302
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
17466
17303
|
exposes: [
|
|
17467
17304
|
e.presence().withDescription("Indicates whether the device detected presence. Will be true also when movement (occupancy) is detected."),
|
|
17468
17305
|
e
|
|
@@ -17719,7 +17556,7 @@ exports.definitions = [
|
|
|
17719
17556
|
model: "PO-BOCO-ELEC",
|
|
17720
17557
|
vendor: "Powernity",
|
|
17721
17558
|
description: "Pilot wire heating module",
|
|
17722
|
-
extend: [tuyaBase({ dp: true })],
|
|
17559
|
+
extend: [tuyaBase({ dp: true, timeStart: "1970" })],
|
|
17723
17560
|
exposes: [
|
|
17724
17561
|
e
|
|
17725
17562
|
.climate()
|
|
@@ -17987,7 +17824,7 @@ exports.definitions = [
|
|
|
17987
17824
|
model: "TR-M3Z",
|
|
17988
17825
|
vendor: "Tuya",
|
|
17989
17826
|
description: "Thermostatic radiator valve actuator",
|
|
17990
|
-
extend: [tuyaBase({ dp: true })],
|
|
17827
|
+
extend: [tuyaBase({ dp: true, timeStart: "1970" })],
|
|
17991
17828
|
exposes: [
|
|
17992
17829
|
e.child_lock(),
|
|
17993
17830
|
e.battery(),
|
|
@@ -18141,7 +17978,7 @@ exports.definitions = [
|
|
|
18141
17978
|
model: "AE-669K",
|
|
18142
17979
|
vendor: "ACMELEC",
|
|
18143
17980
|
description: "Compatible with Mitsubishi Electric vrf system",
|
|
18144
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
17981
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18145
17982
|
exposes: [
|
|
18146
17983
|
e.binary("state", ea.STATE_SET, "ON", "OFF").withDescription("Turn the thermostat ON/OFF"),
|
|
18147
17984
|
e
|
|
@@ -18185,9 +18022,7 @@ exports.definitions = [
|
|
|
18185
18022
|
model: "ATMS10013Z3",
|
|
18186
18023
|
vendor: "Ourtop",
|
|
18187
18024
|
description: "Zigbee 3 Phase Meter",
|
|
18188
|
-
|
|
18189
|
-
toZigbee: [tuya.tz.datapoints],
|
|
18190
|
-
configure: tuya.configureMagicPacket,
|
|
18025
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18191
18026
|
whiteLabel: [{ vendor: "Ourtop", model: "ATMS100133Z" }],
|
|
18192
18027
|
exposes: [
|
|
18193
18028
|
e.energy(),
|
|
@@ -18232,9 +18067,7 @@ exports.definitions = [
|
|
|
18232
18067
|
model: "ZG-WK-DA-Wh-Zigbee",
|
|
18233
18068
|
vendor: "Tuya",
|
|
18234
18069
|
description: "Wall thermostat with humidity sensor",
|
|
18235
|
-
|
|
18236
|
-
toZigbee: [tuya.tz.datapoints],
|
|
18237
|
-
configure: tuya.configureMagicPacket,
|
|
18070
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18238
18071
|
exposes: [
|
|
18239
18072
|
e.humidity(),
|
|
18240
18073
|
e.child_lock(),
|
|
@@ -18417,7 +18250,7 @@ exports.definitions = [
|
|
|
18417
18250
|
model: "HY-SZLUMPIR",
|
|
18418
18251
|
vendor: "Homcloud",
|
|
18419
18252
|
description: "PIR sensor",
|
|
18420
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true,
|
|
18253
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, respondToMcuVersionResponse: true })],
|
|
18421
18254
|
exposes: [e.occupancy(), e.illuminance(), e.battery()],
|
|
18422
18255
|
meta: {
|
|
18423
18256
|
tuyaDatapoints: [
|
|
@@ -18432,7 +18265,7 @@ exports.definitions = [
|
|
|
18432
18265
|
model: "XZ-AKT101",
|
|
18433
18266
|
vendor: "Tuya",
|
|
18434
18267
|
description: "Intelligent air conditioning wall switch",
|
|
18435
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
18268
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18436
18269
|
ota: true,
|
|
18437
18270
|
exposes: [
|
|
18438
18271
|
e.binary("air_switch", ea.STATE_SET, true, false),
|
|
@@ -18486,8 +18319,7 @@ exports.definitions = [
|
|
|
18486
18319
|
model: "ZBN-JT-63",
|
|
18487
18320
|
vendor: "Tuya",
|
|
18488
18321
|
description: "Din rail switch with power monitoring",
|
|
18489
|
-
|
|
18490
|
-
toZigbee: [tuya.tz.datapoints],
|
|
18322
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18491
18323
|
exposes: [
|
|
18492
18324
|
tuya.exposes.switch(),
|
|
18493
18325
|
e.numeric("power", ea.STATE).withDescription("power").withUnit("W").withDescription("Instantaneous measured power"),
|
|
@@ -18577,7 +18409,7 @@ exports.definitions = [
|
|
|
18577
18409
|
model: "EPJ-ZB",
|
|
18578
18410
|
vendor: "Nova Digital",
|
|
18579
18411
|
description: "Smart sliding window pusher",
|
|
18580
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
18412
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18581
18413
|
exposes: [
|
|
18582
18414
|
e.battery(),
|
|
18583
18415
|
e.cover_position(),
|
|
@@ -18613,9 +18445,7 @@ exports.definitions = [
|
|
|
18613
18445
|
model: "ZG-102ZM",
|
|
18614
18446
|
vendor: "HOBEIAN",
|
|
18615
18447
|
description: "Vibration sensor",
|
|
18616
|
-
|
|
18617
|
-
toZigbee: [tuya.tz.datapoints],
|
|
18618
|
-
configure: tuya.configureMagicPacket,
|
|
18448
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18619
18449
|
exposes: [
|
|
18620
18450
|
e.vibration(),
|
|
18621
18451
|
e.contact(),
|
|
@@ -18643,8 +18473,7 @@ exports.definitions = [
|
|
|
18643
18473
|
model: "ZG-204ZV",
|
|
18644
18474
|
vendor: "HOBEIAN",
|
|
18645
18475
|
description: "Millimeter wave motion detection",
|
|
18646
|
-
|
|
18647
|
-
toZigbee: [tuya.tz.datapoints],
|
|
18476
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18648
18477
|
exposes: [
|
|
18649
18478
|
e.presence(),
|
|
18650
18479
|
e.illuminance(),
|
|
@@ -18700,9 +18529,7 @@ exports.definitions = [
|
|
|
18700
18529
|
model: "ZG-223Z",
|
|
18701
18530
|
vendor: "HOBEIAN",
|
|
18702
18531
|
description: "Rainwater detection sensor",
|
|
18703
|
-
|
|
18704
|
-
toZigbee: [tuya.tz.datapoints],
|
|
18705
|
-
configure: tuya.configureMagicPacket,
|
|
18532
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18706
18533
|
exposes: [
|
|
18707
18534
|
e.enum("rainwater", ea.STATE, ["none", "raining"]).withDescription("Sensor rainwater status"),
|
|
18708
18535
|
e.illuminance(),
|
|
@@ -18744,7 +18571,7 @@ exports.definitions = [
|
|
|
18744
18571
|
model: "RD24G01",
|
|
18745
18572
|
vendor: "Tuya",
|
|
18746
18573
|
description: "24GHz human presence sensor",
|
|
18747
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
18574
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18748
18575
|
exposes: [
|
|
18749
18576
|
exposes
|
|
18750
18577
|
.enum("presence_state", exposes.access.STATE, ["none", "motion", "stationary"])
|
|
@@ -18793,7 +18620,7 @@ exports.definitions = [
|
|
|
18793
18620
|
model: "M515EGBZTN",
|
|
18794
18621
|
vendor: "Quoya",
|
|
18795
18622
|
description: "Zigbee roller blind",
|
|
18796
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
18623
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18797
18624
|
options: [exposes.options.invert_cover()],
|
|
18798
18625
|
exposes: [
|
|
18799
18626
|
e.cover_position().setAccess("position", ea.STATE_SET),
|
|
@@ -18840,9 +18667,7 @@ exports.definitions = [
|
|
|
18840
18667
|
model: "CS-201Z",
|
|
18841
18668
|
vendor: "COOLO",
|
|
18842
18669
|
description: "Soil moisture sensor",
|
|
18843
|
-
|
|
18844
|
-
toZigbee: [tuya.tz.datapoints],
|
|
18845
|
-
configure: tuya.configureMagicPacket,
|
|
18670
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18846
18671
|
exposes: [
|
|
18847
18672
|
e.dry(),
|
|
18848
18673
|
e.temperature(),
|
|
@@ -18995,8 +18820,8 @@ exports.definitions = [
|
|
|
18995
18820
|
model: "TS0601_knob_dimmer_switch",
|
|
18996
18821
|
vendor: "Tuya",
|
|
18997
18822
|
description: "Dimmer knob with two lights",
|
|
18998
|
-
|
|
18999
|
-
toZigbee: [tzLocal.TS0601_knob_dimmer_switch_group_id
|
|
18823
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
18824
|
+
toZigbee: [tzLocal.TS0601_knob_dimmer_switch_group_id],
|
|
19000
18825
|
exposes: [
|
|
19001
18826
|
e.switch(),
|
|
19002
18827
|
e.switch().withEndpoint("l1"),
|
|
@@ -19029,7 +18854,6 @@ exports.definitions = [
|
|
|
19029
18854
|
},
|
|
19030
18855
|
configure: async (device, coordinatorEndpoint) => {
|
|
19031
18856
|
const endpoint = device.getEndpoint(1);
|
|
19032
|
-
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
19033
18857
|
await endpoint.command("genBasic", "tuyaSetup", {}, { disableDefaultResponse: true });
|
|
19034
18858
|
},
|
|
19035
18859
|
endpoint: (device) => ({
|
|
@@ -19043,9 +18867,7 @@ exports.definitions = [
|
|
|
19043
18867
|
model: "HY607W-3A",
|
|
19044
18868
|
vendor: "Tuya",
|
|
19045
18869
|
description: "Thermostat for gas boiler",
|
|
19046
|
-
|
|
19047
|
-
toZigbee: [tuya.tz.datapoints],
|
|
19048
|
-
configure: tuya.configureMagicPacket,
|
|
18870
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19049
18871
|
exposes: [
|
|
19050
18872
|
e.climate().withLocalTemperature(ea.STATE).withSetpoint("occupied_heating_setpoint", 5, 35, 0.5, ea.STATE_SET),
|
|
19051
18873
|
e
|
|
@@ -19107,8 +18929,7 @@ exports.definitions = [
|
|
|
19107
18929
|
model: "ZG-204ZH",
|
|
19108
18930
|
vendor: "HOBEIAN",
|
|
19109
18931
|
description: "PIR 24Ghz human presence sensor",
|
|
19110
|
-
|
|
19111
|
-
toZigbee: [tuya.tz.datapoints],
|
|
18932
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19112
18933
|
exposes: [
|
|
19113
18934
|
e.presence(),
|
|
19114
18935
|
e.illuminance(),
|
|
@@ -19228,8 +19049,7 @@ exports.definitions = [
|
|
|
19228
19049
|
vendor: "Tongou",
|
|
19229
19050
|
description: "Zigbee energy meter (transformer clamp)",
|
|
19230
19051
|
whiteLabel: [tuya.whitelabel("Tongou", "TOSA1-01WXJAT2A", "Smart energy meter, two wire", ["_TZE284_4hdbt6rn"])],
|
|
19231
|
-
|
|
19232
|
-
toZigbee: [tuya.tz.datapoints],
|
|
19052
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19233
19053
|
exposes: [
|
|
19234
19054
|
e.energy(),
|
|
19235
19055
|
e.voltage(),
|
|
@@ -19441,7 +19261,7 @@ exports.definitions = [
|
|
|
19441
19261
|
model: "_TZE204_3regm3h6",
|
|
19442
19262
|
vendor: "Tuya",
|
|
19443
19263
|
description: "Smart thermostat for electric radiator with pilot wire",
|
|
19444
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19264
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "1970" })],
|
|
19445
19265
|
exposes: [
|
|
19446
19266
|
e.binary("state", ea.STATE_SET, "ON", "OFF").withDescription("Turn the heater on or off").withCategory("config"),
|
|
19447
19267
|
e.child_lock(),
|
|
@@ -19631,7 +19451,7 @@ exports.definitions = [
|
|
|
19631
19451
|
model: "ZS-300Z",
|
|
19632
19452
|
vendor: "Arteco",
|
|
19633
19453
|
description: "Soil moisture sensor",
|
|
19634
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true
|
|
19454
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19635
19455
|
exposes: [
|
|
19636
19456
|
e.enum("water_warning", ea.STATE, ["none", "alarm"]).withDescription("Water shortage warning"),
|
|
19637
19457
|
e.enum("battery_state", ea.STATE, ["low", "middle", "high"]).withDescription("low: 16.67%, middle:16.68-83.33%, high: 83.34-100%"),
|
|
@@ -19675,8 +19495,7 @@ exports.definitions = [
|
|
|
19675
19495
|
model: "ZG-204ZK",
|
|
19676
19496
|
vendor: "HOBEIAN",
|
|
19677
19497
|
description: "24Ghz human presence sensor",
|
|
19678
|
-
|
|
19679
|
-
toZigbee: [tuya.tz.datapoints],
|
|
19498
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19680
19499
|
exposes: [
|
|
19681
19500
|
e.presence(),
|
|
19682
19501
|
e.illuminance(),
|
|
@@ -19730,8 +19549,7 @@ exports.definitions = [
|
|
|
19730
19549
|
model: "ZG-204ZE",
|
|
19731
19550
|
vendor: "HOBEIAN",
|
|
19732
19551
|
description: "10G mw motion detection",
|
|
19733
|
-
|
|
19734
|
-
toZigbee: [tuya.tz.datapoints],
|
|
19552
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19735
19553
|
exposes: [
|
|
19736
19554
|
e.presence(),
|
|
19737
19555
|
e.battery(),
|
|
@@ -19937,7 +19755,7 @@ exports.definitions = [
|
|
|
19937
19755
|
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_mvtclclq"]),
|
|
19938
19756
|
model: "DS-1450WN",
|
|
19939
19757
|
vendor: "Tuya",
|
|
19940
|
-
description: "Smart Zigbee Switch with
|
|
19758
|
+
description: "Smart Zigbee Switch with power monitoring",
|
|
19941
19759
|
extend: [tuya.modernExtend.tuyaBase({ dp: true })],
|
|
19942
19760
|
exposes: [
|
|
19943
19761
|
e.switch().withEndpoint("usb_a"),
|
|
@@ -20020,7 +19838,7 @@ exports.definitions = [
|
|
|
20020
19838
|
model: "TS0601_thermostat_14",
|
|
20021
19839
|
vendor: "AVATTO",
|
|
20022
19840
|
description: "Thermostatic radiator valve",
|
|
20023
|
-
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true })],
|
|
19841
|
+
extend: [tuya.modernExtend.tuyaBase({ dp: true, forceTimeUpdates: true, timeStart: "1970" })],
|
|
20024
19842
|
exposes: [
|
|
20025
19843
|
e.child_lock(),
|
|
20026
19844
|
e.battery(),
|