zigbee-herdsman-converters 21.3.0 → 21.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/devices/candeo.js +1 -1
- package/devices/candeo.js.map +1 -1
- package/devices/danfoss.d.ts.map +1 -1
- package/devices/danfoss.js +29 -4
- package/devices/danfoss.js.map +1 -1
- package/devices/ikea.js +3 -3
- package/devices/ikea.js.map +1 -1
- package/devices/inovelli.d.ts.map +1 -1
- package/devices/inovelli.js +162 -293
- package/devices/inovelli.js.map +1 -1
- package/devices/miboxer.d.ts.map +1 -1
- package/devices/miboxer.js +2 -1
- package/devices/miboxer.js.map +1 -1
- package/devices/moes.d.ts.map +1 -1
- package/devices/moes.js +5 -1
- package/devices/moes.js.map +1 -1
- package/devices/neo.js +1 -1
- package/devices/neo.js.map +1 -1
- package/devices/sonoff.d.ts.map +1 -1
- package/devices/sonoff.js +11 -3
- package/devices/sonoff.js.map +1 -1
- package/devices/tech.d.ts.map +1 -1
- package/devices/tech.js +4 -1
- package/devices/tech.js.map +1 -1
- package/devices/third_reality.d.ts.map +1 -1
- package/devices/third_reality.js +7 -3
- package/devices/third_reality.js.map +1 -1
- package/devices/tuya.d.ts.map +1 -1
- package/devices/tuya.js +116 -10
- package/devices/tuya.js.map +1 -1
- package/lib/lumi.d.ts.map +1 -1
- package/lib/lumi.js +4 -0
- package/lib/lumi.js.map +1 -1
- package/lib/modernExtend.d.ts +1 -0
- package/lib/modernExtend.d.ts.map +1 -1
- package/lib/modernExtend.js +22 -7
- package/lib/modernExtend.js.map +1 -1
- package/lib/tuya.d.ts.map +1 -1
- package/lib/tuya.js +2 -4
- package/lib/tuya.js.map +1 -1
- package/package.json +6 -6
package/devices/tuya.js
CHANGED
|
@@ -802,6 +802,7 @@ const definitions = [
|
|
|
802
802
|
{ vendor: 'Tesla Smart', model: 'TSL-SEN-SMOKE' },
|
|
803
803
|
{ vendor: 'Dongguan Daying Electornics Technology', model: 'YG400A' },
|
|
804
804
|
tuya.whitelabel('Tuya', 'TS0205_smoke_2', 'Smoke sensor', ['_TZ3210_up3pngle']),
|
|
805
|
+
tuya.whitelabel('Nedis', 'ZBDS10WT', 'Smoke sensor', ['_TYZB01_wqcac7lo']),
|
|
805
806
|
],
|
|
806
807
|
// Configure battery % fails
|
|
807
808
|
// https://github.com/Koenkk/zigbee2mqtt/issues/22421
|
|
@@ -1289,7 +1290,7 @@ const definitions = [
|
|
|
1289
1290
|
],
|
|
1290
1291
|
},
|
|
1291
1292
|
{
|
|
1292
|
-
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_ogkdpgy2', '_TZE200_3ejwxpmu']),
|
|
1293
|
+
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_ogkdpgy2', '_TZE200_3ejwxpmu', '_TZE204_3ejwxpmu']),
|
|
1293
1294
|
model: 'TS0601_temperature_humidity_co2_sensor',
|
|
1294
1295
|
vendor: 'Tuya',
|
|
1295
1296
|
description: 'NDIR co2 sensor',
|
|
@@ -1829,12 +1830,14 @@ const definitions = [
|
|
|
1829
1830
|
model: 'IH012-RT01',
|
|
1830
1831
|
vendor: 'Tuya',
|
|
1831
1832
|
description: 'Motion sensor',
|
|
1832
|
-
fromZigbee: [fromZigbee_1.default.
|
|
1833
|
+
fromZigbee: [fromZigbee_1.default.ignore_basic_report, fromZigbee_1.default.ZM35HQ_attr, fromZigbee_1.default.battery],
|
|
1833
1834
|
toZigbee: [toZigbee_1.default.ZM35HQ_attr],
|
|
1834
|
-
extend: [
|
|
1835
|
+
extend: [
|
|
1836
|
+
(0, modernExtend_1.quirkCheckinInterval)(15000),
|
|
1837
|
+
// Occupancy reporting interval is 60s, so allow for one dropped update plus a small safety margin of 5s
|
|
1838
|
+
(0, modernExtend_1.iasZoneAlarm)({ zoneType: 'occupancy', zoneAttributes: ['alarm_1', 'battery_low'], keepAliveTimeout: 125 }),
|
|
1839
|
+
],
|
|
1835
1840
|
exposes: [
|
|
1836
|
-
e.occupancy(),
|
|
1837
|
-
e.battery_low(),
|
|
1838
1841
|
e.battery(),
|
|
1839
1842
|
e.battery_voltage(),
|
|
1840
1843
|
e.enum('sensitivity', ea.ALL, ['low', 'medium', 'high']).withDescription('PIR sensor sensitivity'),
|
|
@@ -1884,6 +1887,7 @@ const definitions = [
|
|
|
1884
1887
|
{ modelID: 'TS0207', manufacturerName: '_TZ3000_5k5vh43t' },
|
|
1885
1888
|
{ modelID: 'TS0207', manufacturerName: '_TZ3000_kxlmv9ag' },
|
|
1886
1889
|
{ modelID: 'TS0207', manufacturerName: '_TZ3000_wmlc9p9z' },
|
|
1890
|
+
{ modelID: 'TS0207', manufacturerName: '_TZ3000_shopg9ss' },
|
|
1887
1891
|
],
|
|
1888
1892
|
model: 'TS0207_repeater',
|
|
1889
1893
|
vendor: 'Tuya',
|
|
@@ -3754,6 +3758,7 @@ const definitions = [
|
|
|
3754
3758
|
'_TZ3000_zmy4lslw',
|
|
3755
3759
|
'_TZ3000_ruxexjfz',
|
|
3756
3760
|
'_TZ3000_4xfqlgqo',
|
|
3761
|
+
'_TZ3000_hojntt34',
|
|
3757
3762
|
'_TZ3000_eei0ubpy',
|
|
3758
3763
|
'_TZ3000_qaa59zqd',
|
|
3759
3764
|
'_TZ3000_lmlsduws',
|
|
@@ -3767,7 +3772,7 @@ const definitions = [
|
|
|
3767
3772
|
{ vendor: 'OXT', model: 'SWTZ22' },
|
|
3768
3773
|
{ vendor: 'Moes', model: 'ZM-104B-M' },
|
|
3769
3774
|
tuya.whitelabel('pcblab.io', 'RR620ZB', '2 gang Zigbee switch module', ['_TZ3000_4xfqlgqo']),
|
|
3770
|
-
tuya.whitelabel('Nous', 'L13Z', '2 gang switch', ['_TZ3000_ruxexjfz']),
|
|
3775
|
+
tuya.whitelabel('Nous', 'L13Z', '2 gang switch', ['_TZ3000_ruxexjfz', '_TZ3000_hojntt34']),
|
|
3771
3776
|
tuya.whitelabel('Tuya', 'ZG-2002-RF', 'Three mode Zigbee Switch', ['_TZ3000_lugaswf8']),
|
|
3772
3777
|
tuya.whitelabel('Mercator Ikuü', 'SSW02', '2 gang switch', ['_TZ3000_fbjdkph9']),
|
|
3773
3778
|
],
|
|
@@ -4702,8 +4707,13 @@ const definitions = [
|
|
|
4702
4707
|
fromZigbee: [tuya.fz.datapoints],
|
|
4703
4708
|
toZigbee: [tuya.tz.datapoints],
|
|
4704
4709
|
whiteLabel: [
|
|
4705
|
-
tuya.whitelabel('AVATTO', 'ME167', 'Thermostatic radiator valve', [
|
|
4706
|
-
|
|
4710
|
+
tuya.whitelabel('AVATTO', 'ME167', 'Thermostatic radiator valve', [
|
|
4711
|
+
'_TZE200_p3dbf6qs',
|
|
4712
|
+
'_TZE200_bvu2wnxz',
|
|
4713
|
+
'_TZE200_6rdj8dzm',
|
|
4714
|
+
'_TZE200_9xfjixap',
|
|
4715
|
+
]),
|
|
4716
|
+
tuya.whitelabel('AVATTO', 'ME168', 'Thermostatic radiator valve', ['_TZE200_rxntag7i']),
|
|
4707
4717
|
tuya.whitelabel('AVATTO', 'TRV06_1', 'Thermostatic radiator valve', ['_TZE200_hvaxb2tc', '_TZE284_o3x45p96']),
|
|
4708
4718
|
tuya.whitelabel('EARU', 'TRV06', 'Smart thermostat module', ['_TZE200_yqgbrdyo', '_TZE200_rxq4iti9']),
|
|
4709
4719
|
tuya.whitelabel('AVATTO', 'AVATTO_TRV06', 'Thermostatic radiator valve', ['_TZE284_c6wv4xyo', '_TZE204_o3x45p96']),
|
|
@@ -7073,7 +7083,7 @@ const definitions = [
|
|
|
7073
7083
|
whiteLabel: [tuya.whitelabel('Tuya', 'QT-07S', 'Soil sensor', ['_TZE204_myd45weu'])],
|
|
7074
7084
|
},
|
|
7075
7085
|
{
|
|
7076
|
-
fingerprint: tuya.fingerprint('TS0222', ['_TZ3000_8uxxzz4b', '_TZ3000_hy6ncvmw', '_TZ3000_9kbbfeho']),
|
|
7086
|
+
fingerprint: tuya.fingerprint('TS0222', ['_TZ3000_8uxxzz4b', '_TZ3000_hy6ncvmw', '_TZ3000_9kbbfeho', '_TZ3000_l6rsaipj']),
|
|
7077
7087
|
model: 'TS0222_light',
|
|
7078
7088
|
vendor: 'Tuya',
|
|
7079
7089
|
description: 'Light sensor',
|
|
@@ -13200,7 +13210,103 @@ const definitions = [
|
|
|
13200
13210
|
[105, 'valve_1', tuya.valueConverterBasic.lookup({ OFF: tuya.enum(2), ON: tuya.enum(0) })],
|
|
13201
13211
|
[13, 'countdown_1', tuya.valueConverter.raw],
|
|
13202
13212
|
[14, 'countdown_2', tuya.valueConverter.raw],
|
|
13203
|
-
|
|
13213
|
+
],
|
|
13214
|
+
},
|
|
13215
|
+
},
|
|
13216
|
+
{
|
|
13217
|
+
fingerprint: tuya.fingerprint('TS0601', ['_TZE204_eaulras5']),
|
|
13218
|
+
model: 'PJ3201A',
|
|
13219
|
+
vendor: 'Dongguan Pinjia Technology Co.,LTD.',
|
|
13220
|
+
description: 'Human Presence Sensor',
|
|
13221
|
+
fromZigbee: [tuya.fz.datapoints],
|
|
13222
|
+
toZigbee: [tuya.tz.datapoints],
|
|
13223
|
+
configure: tuya.configureMagicPacket,
|
|
13224
|
+
exposes: [
|
|
13225
|
+
e.presence().withDescription('Indicates whether the device detected presence. Will be true also when movement (occupancy) is detected.'),
|
|
13226
|
+
e
|
|
13227
|
+
.occupancy()
|
|
13228
|
+
.withDescription('Indicates whether the device detected movement. Will be true when movement. Can remain true even if the target left the detection range. In this case presence will be reset to false reliably.'),
|
|
13229
|
+
e.numeric('closest_target_distance', ea.STATE).withDescription('the target distance away from the sensor').withUnit('m'),
|
|
13230
|
+
e
|
|
13231
|
+
.numeric('movement_timeout', ea.STATE_SET)
|
|
13232
|
+
.withValueMin(0)
|
|
13233
|
+
.withValueMax(43200)
|
|
13234
|
+
.withValueStep(1)
|
|
13235
|
+
.withDescription('Timeout until the movement (occupancy) is reset when no further movement is detected. (Occupancy -> None)')
|
|
13236
|
+
.withUnit('s'),
|
|
13237
|
+
e
|
|
13238
|
+
.numeric('idle_timeout', ea.STATE_SET)
|
|
13239
|
+
.withValueMin(0)
|
|
13240
|
+
.withValueMax(43200)
|
|
13241
|
+
.withValueStep(1)
|
|
13242
|
+
.withDescription('Timeout until the presence is reset when no further presence is detected (Presence -> None)')
|
|
13243
|
+
.withUnit('s'),
|
|
13244
|
+
e.illuminance(),
|
|
13245
|
+
e
|
|
13246
|
+
.numeric('far_movement_sensitivity', ea.STATE_SET)
|
|
13247
|
+
.withValueMin(0)
|
|
13248
|
+
.withValueMax(10)
|
|
13249
|
+
.withValueStep(1)
|
|
13250
|
+
.withDescription('the moving detecting sensitivity 1 meter away'),
|
|
13251
|
+
e
|
|
13252
|
+
.numeric('near_movement_sensitivity', ea.STATE_SET)
|
|
13253
|
+
.withValueMin(0)
|
|
13254
|
+
.withValueMax(10)
|
|
13255
|
+
.withValueStep(1)
|
|
13256
|
+
.withDescription('the moving detecting sensitivity within 1 meter'),
|
|
13257
|
+
e
|
|
13258
|
+
.numeric('near_presence_sensitivity', ea.STATE_SET)
|
|
13259
|
+
.withValueMin(0)
|
|
13260
|
+
.withValueMax(10)
|
|
13261
|
+
.withValueStep(1)
|
|
13262
|
+
.withDescription('the presence detecting sensitivity within 1 meter'),
|
|
13263
|
+
e
|
|
13264
|
+
.numeric('far_presence_sensitivity', ea.STATE_SET)
|
|
13265
|
+
.withValueMin(0)
|
|
13266
|
+
.withValueMax(10)
|
|
13267
|
+
.withValueStep(1)
|
|
13268
|
+
.withDescription('the presence detecting sensitivity 1 meter away'),
|
|
13269
|
+
e
|
|
13270
|
+
.numeric('closest_detection_distance', ea.STATE_SET)
|
|
13271
|
+
.withValueMin(0.1)
|
|
13272
|
+
.withValueMax(7)
|
|
13273
|
+
.withValueStep(0.1)
|
|
13274
|
+
.withDescription('The closest distance that can be detected')
|
|
13275
|
+
.withUnit('m'),
|
|
13276
|
+
e
|
|
13277
|
+
.numeric('largest_movement_detection_distance', ea.STATE_SET)
|
|
13278
|
+
.withValueMin(0.1)
|
|
13279
|
+
.withValueMax(7)
|
|
13280
|
+
.withValueStep(0.1)
|
|
13281
|
+
.withDescription('The farest distance that can be detected (moving)')
|
|
13282
|
+
.withUnit('m'),
|
|
13283
|
+
e
|
|
13284
|
+
.numeric('largest_presence_detection_distance', ea.STATE_SET)
|
|
13285
|
+
.withValueMin(0.1)
|
|
13286
|
+
.withValueMax(7)
|
|
13287
|
+
.withValueStep(0.1)
|
|
13288
|
+
.withDescription('The farest distance that can be detected (present)')
|
|
13289
|
+
.withUnit('m'),
|
|
13290
|
+
e.binary('restore_factory', ea.STATE_SET, 'ON', 'OFF').withDescription('restore_factory'),
|
|
13291
|
+
e.binary('led_indicator', ea.STATE_SET, 'ON', 'OFF').withDescription('turn on or off the led '),
|
|
13292
|
+
],
|
|
13293
|
+
meta: {
|
|
13294
|
+
tuyaDatapoints: [
|
|
13295
|
+
[104, 'presence', tuya.valueConverter.trueFalse1],
|
|
13296
|
+
[112, 'occupancy', tuya.valueConverter.trueFalseInvert],
|
|
13297
|
+
[9, 'closest_target_distance', tuya.valueConverter.divideBy100],
|
|
13298
|
+
[101, 'movement_timeout', tuya.valueConverter.raw],
|
|
13299
|
+
[102, 'idle_timeout', tuya.valueConverter.raw],
|
|
13300
|
+
[103, 'illuminance', tuya.valueConverter.divideBy10],
|
|
13301
|
+
[105, 'far_movement_sensitivity', tuya.valueConverter.raw],
|
|
13302
|
+
[110, 'near_movement_sensitivity', tuya.valueConverter.raw],
|
|
13303
|
+
[109, 'near_presence_sensitivity', tuya.valueConverter.raw],
|
|
13304
|
+
[111, 'far_presence_sensitivity', tuya.valueConverter.raw],
|
|
13305
|
+
[3, 'closest_detection_distance', tuya.valueConverter.divideBy100],
|
|
13306
|
+
[4, 'largest_movement_detection_distance', tuya.valueConverter.divideBy100],
|
|
13307
|
+
[108, 'largest_presence_detection_distance', tuya.valueConverter.divideBy100],
|
|
13308
|
+
[106, 'restore_factory', tuya.valueConverterBasic.lookup({ ON: false, OFF: true })],
|
|
13309
|
+
[107, 'led_indicator', tuya.valueConverterBasic.lookup({ ON: false, OFF: true })],
|
|
13204
13310
|
],
|
|
13205
13311
|
},
|
|
13206
13312
|
},
|