zigbee-herdsman-converters 20.16.2 → 20.17.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 +34 -0
- package/devices/candeo.d.ts.map +1 -1
- package/devices/candeo.js +7 -0
- package/devices/candeo.js.map +1 -1
- package/devices/ikea.d.ts.map +1 -1
- package/devices/ikea.js +0 -1
- package/devices/ikea.js.map +1 -1
- package/devices/moes.js +1 -1
- package/devices/moes.js.map +1 -1
- package/devices/paulmann.d.ts.map +1 -1
- package/devices/paulmann.js +7 -0
- package/devices/paulmann.js.map +1 -1
- package/devices/perenio.d.ts.map +1 -1
- package/devices/perenio.js +32 -19
- package/devices/perenio.js.map +1 -1
- package/devices/sonoff.d.ts.map +1 -1
- package/devices/sonoff.js +2 -15
- package/devices/sonoff.js.map +1 -1
- package/devices/sunricher.d.ts.map +1 -1
- package/devices/sunricher.js +8 -1
- package/devices/sunricher.js.map +1 -1
- package/devices/third_reality.d.ts.map +1 -1
- package/devices/third_reality.js +3 -7
- package/devices/third_reality.js.map +1 -1
- package/devices/tuya.d.ts.map +1 -1
- package/devices/tuya.js +105 -14
- package/devices/tuya.js.map +1 -1
- package/lib/ikea.d.ts.map +1 -1
- package/lib/ikea.js +4 -1
- package/lib/ikea.js.map +1 -1
- package/lib/modernExtend.d.ts.map +1 -1
- package/lib/modernExtend.js +7 -2
- package/lib/modernExtend.js.map +1 -1
- package/lib/tuya.d.ts +8 -0
- package/lib/tuya.d.ts.map +1 -1
- package/lib/tuya.js +172 -0
- package/lib/tuya.js.map +1 -1
- package/lib/utils.d.ts +2 -1
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +10 -0
- package/lib/utils.js.map +1 -1
- package/package.json +6 -5
package/devices/tuya.js
CHANGED
|
@@ -791,12 +791,18 @@ const definitions = [
|
|
|
791
791
|
{ vendor: 'Dongguan Daying Electornics Technology', model: 'YG400A' },
|
|
792
792
|
tuya.whitelabel('Tuya', 'TS0205_smoke_2', 'Smoke sensor', ['_TZ3210_up3pngle']),
|
|
793
793
|
],
|
|
794
|
-
fromZigbee: [fromZigbee_1.default.ias_smoke_alarm_1, fromZigbee_1.default.ignore_basic_report],
|
|
795
|
-
toZigbee: [],
|
|
796
|
-
exposes: [e.smoke(), e.battery_low(), e.tamper()],
|
|
797
794
|
// Configure battery % fails
|
|
798
795
|
// https://github.com/Koenkk/zigbee2mqtt/issues/22421
|
|
799
|
-
extend: [(0, modernExtend_1.battery)({ percentageReporting: false })],
|
|
796
|
+
extend: [(0, modernExtend_1.battery)({ percentageReporting: false }), (0, modernExtend_1.iasZoneAlarm)({ zoneType: 'smoke', zoneAttributes: ['alarm_1', 'tamper'] })],
|
|
797
|
+
configure: async (device, coordinatorEndpoint) => {
|
|
798
|
+
if (device?.manufacturerName === '_TZ3210_up3pngle') {
|
|
799
|
+
// Required for this version
|
|
800
|
+
// https://github.com/Koenkk/zigbee-herdsman-converters/pull/8004
|
|
801
|
+
const endpoint = device.getEndpoint(1);
|
|
802
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
|
|
803
|
+
await reporting.batteryPercentageRemaining(endpoint);
|
|
804
|
+
}
|
|
805
|
+
},
|
|
800
806
|
},
|
|
801
807
|
{
|
|
802
808
|
zigbeeModel: ['TS0111'],
|
|
@@ -1549,7 +1555,11 @@ const definitions = [
|
|
|
1549
1555
|
tuya.whitelabel('Moes', 'ZB-TDA9-RCW-E27-MS', 'RGB+CCT 9W E27 LED bulb', ['_TZ3210_wxa85bwk']),
|
|
1550
1556
|
tuya.whitelabel('Moes', 'ZB-LZD10-RCW', '10W RGB+CCT Smart Downlight', ['_TZ3210_s9lumfhn', '_TZ3210_jjqdqxfq']),
|
|
1551
1557
|
tuya.whitelabel('MiBoxer', 'FUT106ZR', 'GU10 bulb', ['_TZB210_rwy5hexp']),
|
|
1552
|
-
tuya.whitelabel('Tuya', 'TS0505B_1_1', 'Zigbee 3.0 18W led light bulb E27 RGBCW', [
|
|
1558
|
+
tuya.whitelabel('Tuya', 'TS0505B_1_1', 'Zigbee 3.0 18W led light bulb E27 RGBCW', [
|
|
1559
|
+
'_TZ3210_jd3z4yig',
|
|
1560
|
+
'_TZ3210_r5afgmkl',
|
|
1561
|
+
'_TZ3210_mja6r5ix',
|
|
1562
|
+
]),
|
|
1553
1563
|
tuya.whitelabel('MiBoxer', 'FUTC11ZR', 'Outdoor light', ['_TZB210_zmppwawa']),
|
|
1554
1564
|
],
|
|
1555
1565
|
extend: [tuya.modernExtend.tuyaLight({ colorTemp: { range: [153, 500] }, color: true })],
|
|
@@ -1564,7 +1574,6 @@ const definitions = [
|
|
|
1564
1574
|
description: 'Zigbee RGB+CCT light',
|
|
1565
1575
|
whiteLabel: [
|
|
1566
1576
|
tuya.whitelabel('Lidl', '14149505L/14149506L_2', 'Livarno Lux light bar RGB+CCT (black/white)', ['_TZ3210_iystcadi']),
|
|
1567
|
-
tuya.whitelabel('Tuya', 'TS0505B_2_1', 'Zigbee 3.0 18W led light bulb E27 RGBCW', ['_TZ3210_mja6r5ix']),
|
|
1568
1577
|
tuya.whitelabel('Tuya', 'TS0505B_2_2', 'Zigbee GU10/E14 5W smart bulb', ['_TZ3210_it1u8ahz']),
|
|
1569
1578
|
],
|
|
1570
1579
|
toZigbee: [toZigbee_1.default.on_off, tzLocal.led_control, tuya.tz.do_not_disturb],
|
|
@@ -3590,6 +3599,7 @@ const definitions = [
|
|
|
3590
3599
|
{ vendor: 'Lonsonho', model: 'X701' },
|
|
3591
3600
|
{ vendor: 'Bandi', model: 'BDS03G1' },
|
|
3592
3601
|
tuya.whitelabel('Nous', 'B1Z', '1 gang switch', ['_TZ3000_ctftgjwb']),
|
|
3602
|
+
tuya.whitelabel('Tuya', 'XMSJ', 'Zigbee USB power switch', ['_TZ3000_8n7lqbm0']),
|
|
3593
3603
|
],
|
|
3594
3604
|
configure: async (device, coordinatorEndpoint) => {
|
|
3595
3605
|
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
@@ -3890,7 +3900,7 @@ const definitions = [
|
|
|
3890
3900
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_1fuxihti' },
|
|
3891
3901
|
{ modelID: 'TS0601', manufacturerName: '_TZE204_1fuxihti' },
|
|
3892
3902
|
{ modelID: 'TS0601', manufacturerName: '_TZE204_57hjqelq' },
|
|
3893
|
-
{ modelID: 'TS0601', manufacturerName: '_TZE204_m1wl5fvq
|
|
3903
|
+
{ modelID: 'TS0601', manufacturerName: '_TZE204_m1wl5fvq' },
|
|
3894
3904
|
// Roller blinds:
|
|
3895
3905
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_fctwhugx' },
|
|
3896
3906
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_hsgrhjpf' },
|
|
@@ -3899,6 +3909,7 @@ const definitions = [
|
|
|
3899
3909
|
// Tubular motors:
|
|
3900
3910
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_5sbebbzs' },
|
|
3901
3911
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_udank5zs' },
|
|
3912
|
+
{ modelID: 'TS0601', manufacturerName: '_TZE204_dpqsvdbi' },
|
|
3902
3913
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_zuz7f94z' },
|
|
3903
3914
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_nv6nxo0c' },
|
|
3904
3915
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_3ylew7b4' },
|
|
@@ -4112,6 +4123,7 @@ const definitions = [
|
|
|
4112
4123
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_rufdtfyv' },
|
|
4113
4124
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_lpwgshtl' },
|
|
4114
4125
|
{ modelID: 'TS0601', manufacturerName: '_TZE200_rk1wojce' }, // Emos P5630S
|
|
4126
|
+
{ modelID: 'TS0601', manufacturerName: '_TZE200_rndg81sf' },
|
|
4115
4127
|
],
|
|
4116
4128
|
model: 'TS0601_thermostat',
|
|
4117
4129
|
vendor: 'Tuya',
|
|
@@ -5079,13 +5091,13 @@ const definitions = [
|
|
|
5079
5091
|
await tuya.configureMagicPacket(device, coordinatorEndpoint);
|
|
5080
5092
|
const endpoint = device.getEndpoint(1);
|
|
5081
5093
|
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
|
|
5082
|
-
|
|
5083
|
-
|
|
5084
|
-
|
|
5085
|
-
|
|
5086
|
-
|
|
5087
|
-
|
|
5088
|
-
|
|
5094
|
+
await reporting.rmsVoltage(endpoint, { change: 5 });
|
|
5095
|
+
await reporting.rmsCurrent(endpoint, { change: 50 });
|
|
5096
|
+
if (!['_TZ3000_0zfrhq4i', '_TZ3000_okaz9tjs', '_TZ3000_typdpbpg'].includes(device.manufacturerName)) {
|
|
5097
|
+
// Gives INVALID_DATA_TYPE error for _TZ3000_0zfrhq4i (as well as a few others in issue 20028)
|
|
5098
|
+
// https://github.com/Koenkk/zigbee2mqtt/discussions/19680#discussioncomment-7667035
|
|
5099
|
+
await reporting.activePower(endpoint, { change: 10 });
|
|
5100
|
+
}
|
|
5089
5101
|
await reporting.currentSummDelivered(endpoint);
|
|
5090
5102
|
const acCurrentDivisor = device.manufacturerName === '_TZ3000_typdpbpg' ? 2000 : 1000;
|
|
5091
5103
|
endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', { acCurrentDivisor, acCurrentMultiplier: 1 });
|
|
@@ -5477,6 +5489,69 @@ const definitions = [
|
|
|
5477
5489
|
tuya.exposes.currentWithPhase('c'),
|
|
5478
5490
|
e.temperature(),
|
|
5479
5491
|
e.binary('leakage_test', ea.STATE_SET, 'ON', 'OFF').withDescription('Turn ON to perform a leagage test'),
|
|
5492
|
+
e
|
|
5493
|
+
.binary('over_current_breaker', ea.STATE_SET, 'ON', 'OFF')
|
|
5494
|
+
.withDescription('OFF - alarm only, ON - relay will turn off when threshold reached'),
|
|
5495
|
+
e
|
|
5496
|
+
.numeric('over_current_threshold', ea.STATE_SET)
|
|
5497
|
+
.withUnit('A')
|
|
5498
|
+
.withDescription('Setup the value on the device')
|
|
5499
|
+
.withValueMin(1)
|
|
5500
|
+
.withValueMax(63),
|
|
5501
|
+
e
|
|
5502
|
+
.binary('over_voltage_breaker', ea.STATE_SET, 'ON', 'OFF')
|
|
5503
|
+
.withDescription('OFF - alarm only, ON - relay will turn off when threshold reached'),
|
|
5504
|
+
e
|
|
5505
|
+
.numeric('over_voltage_threshold', ea.STATE_SET)
|
|
5506
|
+
.withUnit('V')
|
|
5507
|
+
.withDescription('Setup value on the device')
|
|
5508
|
+
.withValueMin(250)
|
|
5509
|
+
.withValueMax(300),
|
|
5510
|
+
e
|
|
5511
|
+
.binary('under_voltage_breaker', ea.STATE_SET, 'ON', 'OFF')
|
|
5512
|
+
.withDescription('OFF - alarm only, ON - relay will turn off when threshold reached'),
|
|
5513
|
+
e
|
|
5514
|
+
.numeric('under_voltage_threshold', ea.STATE_SET)
|
|
5515
|
+
.withUnit('V')
|
|
5516
|
+
.withDescription('Setup value on the device')
|
|
5517
|
+
.withValueMin(150)
|
|
5518
|
+
.withValueMax(200),
|
|
5519
|
+
e
|
|
5520
|
+
.binary('insufficient_balance_breaker', ea.STATE_SET, 'ON', 'OFF')
|
|
5521
|
+
.withDescription('OFF - alarm only, ON - relay will turn off when threshold reached'),
|
|
5522
|
+
e
|
|
5523
|
+
.numeric('insufficient_balance_threshold', ea.STATE_SET)
|
|
5524
|
+
.withUnit('kWh')
|
|
5525
|
+
.withDescription('Setup value on the device')
|
|
5526
|
+
.withValueMin(1)
|
|
5527
|
+
.withValueMax(65535),
|
|
5528
|
+
e
|
|
5529
|
+
.binary('overload_breaker', ea.STATE_SET, 'ON', 'OFF')
|
|
5530
|
+
.withDescription('OFF - alarm only, ON - relay will turn off when threshold reached'),
|
|
5531
|
+
e
|
|
5532
|
+
.numeric('overload_threshold', ea.STATE_SET)
|
|
5533
|
+
.withUnit('kW')
|
|
5534
|
+
.withDescription('Setup value on the device')
|
|
5535
|
+
.withValueMin(1)
|
|
5536
|
+
.withValueMax(25),
|
|
5537
|
+
e
|
|
5538
|
+
.binary('leakage_breaker', ea.STATE_SET, 'ON', 'OFF')
|
|
5539
|
+
.withDescription('OFF - alarm only, ON - relay will turn off when threshold reached'),
|
|
5540
|
+
e
|
|
5541
|
+
.numeric('leakage_threshold', ea.STATE_SET)
|
|
5542
|
+
.withUnit('mA')
|
|
5543
|
+
.withDescription('Setup value on the device')
|
|
5544
|
+
.withValueMin(10)
|
|
5545
|
+
.withValueMax(90),
|
|
5546
|
+
e
|
|
5547
|
+
.binary('high_temperature_breaker', ea.STATE_SET, 'ON', 'OFF')
|
|
5548
|
+
.withDescription('OFF - alarm only, ON - relay will turn off when threshold reached'),
|
|
5549
|
+
e
|
|
5550
|
+
.numeric('high_temperature_threshold', ea.STATE_SET)
|
|
5551
|
+
.withUnit('°C')
|
|
5552
|
+
.withDescription('Setup value on the device')
|
|
5553
|
+
.withValueMin(40)
|
|
5554
|
+
.withValueMax(100),
|
|
5480
5555
|
],
|
|
5481
5556
|
meta: {
|
|
5482
5557
|
tuyaDatapoints: [
|
|
@@ -5509,6 +5584,22 @@ const definitions = [
|
|
|
5509
5584
|
}),
|
|
5510
5585
|
],
|
|
5511
5586
|
[16, 'state', tuya.valueConverter.onOff],
|
|
5587
|
+
[17, null, tuya.valueConverter.threshold_2],
|
|
5588
|
+
[17, 'overload_breaker', tuya.valueConverter.threshold_2],
|
|
5589
|
+
[17, 'overload_threshold', tuya.valueConverter.threshold_2],
|
|
5590
|
+
[17, 'leakage_threshold', tuya.valueConverter.threshold_2],
|
|
5591
|
+
[17, 'leakage_breaker', tuya.valueConverter.threshold_2],
|
|
5592
|
+
[17, 'high_temperature_threshold', tuya.valueConverter.threshold_2],
|
|
5593
|
+
[17, 'high_temperature_breaker', tuya.valueConverter.threshold_2],
|
|
5594
|
+
[18, null, tuya.valueConverter.threshold_3],
|
|
5595
|
+
[18, 'over_current_threshold', tuya.valueConverter.threshold_3],
|
|
5596
|
+
[18, 'over_current_breaker', tuya.valueConverter.threshold_3],
|
|
5597
|
+
[18, 'over_voltage_threshold', tuya.valueConverter.threshold_3],
|
|
5598
|
+
[18, 'over_voltage_breaker', tuya.valueConverter.threshold_3],
|
|
5599
|
+
[18, 'under_voltage_threshold', tuya.valueConverter.threshold_3],
|
|
5600
|
+
[18, 'under_voltage_breaker', tuya.valueConverter.threshold_3],
|
|
5601
|
+
[18, 'insufficient_balance_threshold', tuya.valueConverter.threshold_3],
|
|
5602
|
+
[18, 'insufficient_balance_breaker', tuya.valueConverter.threshold_3],
|
|
5512
5603
|
[21, 'leakage_test', tuya.valueConverter.onOff], // Leakage test
|
|
5513
5604
|
[102, 'temperature', tuya.valueConverter.divideBy10],
|
|
5514
5605
|
// Ignored for now; we don't know what the values mean
|