zigbee-herdsman-converters 14.0.370 → 14.0.371
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/converters/fromZigbee.js +51 -1
- package/devices/philips.js +3 -3
- package/devices/shinasystem.js +1 -0
- package/devices/tuya.js +26 -1
- package/devices/xiaomi.js +16 -0
- package/lib/tuya.js +5 -1
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -2577,6 +2577,28 @@ const converters = {
|
|
|
2577
2577
|
}
|
|
2578
2578
|
},
|
|
2579
2579
|
},
|
|
2580
|
+
wls100z_water_leak: {
|
|
2581
|
+
cluster: 'manuSpecificTuya',
|
|
2582
|
+
type: ['commandDataResponse', 'commandDataReport'],
|
|
2583
|
+
convert: (model, msg, publish, options, meta) => {
|
|
2584
|
+
const result = {};
|
|
2585
|
+
for (const dpValue of msg.data.dpValues) {
|
|
2586
|
+
const value = tuya.getDataValue(dpValue);
|
|
2587
|
+
switch (dpValue.dp) {
|
|
2588
|
+
case tuya.dataPoints.wlsWaterLeak:
|
|
2589
|
+
result.water_leak = value < 1;
|
|
2590
|
+
break;
|
|
2591
|
+
case tuya.dataPoints.wlsBatteryPercentage:
|
|
2592
|
+
result.battery = value;
|
|
2593
|
+
break;
|
|
2594
|
+
default:
|
|
2595
|
+
meta.logger.warn(`zigbee-herdsman-converters:wls100z_water_leak:` +
|
|
2596
|
+
`NOT RECOGNIZED DP #${dpValue.dp} with data ${JSON.stringify(dpValue)}`);
|
|
2597
|
+
}
|
|
2598
|
+
}
|
|
2599
|
+
return result;
|
|
2600
|
+
},
|
|
2601
|
+
},
|
|
2580
2602
|
livolo_switch_state: {
|
|
2581
2603
|
cluster: 'genOnOff',
|
|
2582
2604
|
type: ['attributeReport', 'readResponse'],
|
|
@@ -7450,6 +7472,25 @@ const converters = {
|
|
|
7450
7472
|
}
|
|
7451
7473
|
},
|
|
7452
7474
|
},
|
|
7475
|
+
tuya_smart_vibration_sensor: {
|
|
7476
|
+
cluster: 'manuSpecificTuya',
|
|
7477
|
+
type: ['commandGetData', 'commandDataResponse', 'raw'],
|
|
7478
|
+
convert: (model, msg, publish, options, meta) => {
|
|
7479
|
+
const dp = msg.data.dp;
|
|
7480
|
+
const value = tuya.getDataValue(msg.data.datatype, msg.data.data);
|
|
7481
|
+
switch (dp) {
|
|
7482
|
+
case tuya.dataPoints.state:
|
|
7483
|
+
return {contact: Boolean(value)};
|
|
7484
|
+
case tuya.dataPoints.thitBatteryPercentage:
|
|
7485
|
+
return {battery: value};
|
|
7486
|
+
case tuya.dataPoints.tuyaVibration:
|
|
7487
|
+
return {vibration: Boolean(value)};
|
|
7488
|
+
default:
|
|
7489
|
+
meta.logger.warn(`zigbee-herdsman-converters:tuya_smart_vibration_sensor: NOT RECOGNIZED ` +
|
|
7490
|
+
`DP #${dp} with data ${JSON.stringify(msg.data)}`);
|
|
7491
|
+
}
|
|
7492
|
+
},
|
|
7493
|
+
},
|
|
7453
7494
|
moes_thermostat_tv: {
|
|
7454
7495
|
cluster: 'manuSpecificTuya',
|
|
7455
7496
|
type: ['commandDataResponse', 'commandDataReport', 'raw'],
|
|
@@ -7540,7 +7581,11 @@ const converters = {
|
|
|
7540
7581
|
cluster: 'genAnalogInput',
|
|
7541
7582
|
type: ['attributeReport', 'readResponse'],
|
|
7542
7583
|
convert: (model, msg, publish, options, meta) => {
|
|
7543
|
-
|
|
7584
|
+
const lookup = {'0': 'idle', '1': 'in', '2': 'out'};
|
|
7585
|
+
const value = precisionRound(parseFloat(msg.data['presentValue']), 1);
|
|
7586
|
+
let result = null;
|
|
7587
|
+
result = {people: precisionRound(msg.data.presentValue, 0), status: lookup[value*10%10]};
|
|
7588
|
+
return result;
|
|
7544
7589
|
},
|
|
7545
7590
|
},
|
|
7546
7591
|
sihas_action: {
|
|
@@ -7878,6 +7923,11 @@ const converters = {
|
|
|
7878
7923
|
type: ['commandMcuSyncTime'],
|
|
7879
7924
|
convert: (model, msg, publish, options, meta) => null,
|
|
7880
7925
|
},
|
|
7926
|
+
ignore_tuya_raw: {
|
|
7927
|
+
cluster: 'manuSpecificTuya',
|
|
7928
|
+
type: ['raw'],
|
|
7929
|
+
convert: (model, msg, publish, options, meta) => null,
|
|
7930
|
+
},
|
|
7881
7931
|
// #endregion
|
|
7882
7932
|
};
|
|
7883
7933
|
|
package/devices/philips.js
CHANGED
|
@@ -2324,7 +2324,7 @@ module.exports = [
|
|
|
2324
2324
|
ota: ota.zigbeeOTA,
|
|
2325
2325
|
},
|
|
2326
2326
|
{
|
|
2327
|
-
zigbeeModel: ['5309331P6'],
|
|
2327
|
+
zigbeeModel: ['5309331P6', '5309330P6'],
|
|
2328
2328
|
model: '5309331P6',
|
|
2329
2329
|
vendor: 'Philips',
|
|
2330
2330
|
description: 'Hue White ambiance Runner triple spotlight',
|
|
@@ -2333,7 +2333,7 @@ module.exports = [
|
|
|
2333
2333
|
ota: ota.zigbeeOTA,
|
|
2334
2334
|
},
|
|
2335
2335
|
{
|
|
2336
|
-
zigbeeModel: ['5309230P6'],
|
|
2336
|
+
zigbeeModel: ['5309230P6', '5309231P6'],
|
|
2337
2337
|
model: '5309230P6',
|
|
2338
2338
|
vendor: 'Philips',
|
|
2339
2339
|
description: 'Hue White ambiance Runner double spotlight',
|
|
@@ -2378,7 +2378,7 @@ module.exports = [
|
|
|
2378
2378
|
ota: ota.zigbeeOTA,
|
|
2379
2379
|
},
|
|
2380
2380
|
{
|
|
2381
|
-
zigbeeModel: ['5309030P9'],
|
|
2381
|
+
zigbeeModel: ['5309030P9', '5309031P9', '5309030P6', '5309031P6'],
|
|
2382
2382
|
model: '5309030P9',
|
|
2383
2383
|
vendor: 'Philips',
|
|
2384
2384
|
description: 'Hue White ambiance Runner single spotlight',
|
package/devices/shinasystem.js
CHANGED
|
@@ -24,6 +24,7 @@ module.exports = [
|
|
|
24
24
|
await endpoint.configureReporting('genAnalogInput', payload);
|
|
25
25
|
},
|
|
26
26
|
exposes: [e.battery(), e.battery_voltage(),
|
|
27
|
+
exposes.enum('status', ea.STATE, ['idle', 'in', 'out']).withDescription('Currently status'),
|
|
27
28
|
exposes.numeric('people', ea.ALL).withValueMin(0).withValueMax(50).withDescription('People count')],
|
|
28
29
|
},
|
|
29
30
|
{
|
package/devices/tuya.js
CHANGED
|
@@ -664,6 +664,20 @@ module.exports = [
|
|
|
664
664
|
toZigbee: [],
|
|
665
665
|
whiteLabel: [{vendor: 'Neo', model: 'NAS-WS02B0'}],
|
|
666
666
|
},
|
|
667
|
+
{
|
|
668
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_jthf7vb6'}],
|
|
669
|
+
model: 'WLS-100z',
|
|
670
|
+
vendor: 'TuYa',
|
|
671
|
+
description: 'Water leak sensor',
|
|
672
|
+
fromZigbee: [fz.ignore_basic_report, fz.ignore_tuya_raw, fz.wls100z_water_leak],
|
|
673
|
+
toZigbee: [],
|
|
674
|
+
onEvent: tuya.onEventSetTime,
|
|
675
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
676
|
+
const endpoint = device.getEndpoint(1);
|
|
677
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genBasic']);
|
|
678
|
+
},
|
|
679
|
+
exposes: [e.battery(), e.water_leak()],
|
|
680
|
+
},
|
|
667
681
|
{
|
|
668
682
|
zigbeeModel: ['TS0001'],
|
|
669
683
|
model: 'TS0001',
|
|
@@ -1682,7 +1696,9 @@ module.exports = [
|
|
|
1682
1696
|
],
|
|
1683
1697
|
},
|
|
1684
1698
|
{
|
|
1685
|
-
fingerprint: [
|
|
1699
|
+
fingerprint: [
|
|
1700
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_vrfecyku'},
|
|
1701
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_lu01t0zl'}],
|
|
1686
1702
|
model: 'MIR-HE200-TY',
|
|
1687
1703
|
vendor: 'TuYa',
|
|
1688
1704
|
description: 'Human presence sensor',
|
|
@@ -1810,4 +1826,13 @@ module.exports = [
|
|
|
1810
1826
|
toZigbee: [],
|
|
1811
1827
|
exposes: [e.action(['toggle', 'brightness_step_up', 'brightness_step_down'])],
|
|
1812
1828
|
},
|
|
1829
|
+
{
|
|
1830
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_kzm5w4iz'}],
|
|
1831
|
+
model: 'TS0601_vibration_sensor',
|
|
1832
|
+
vendor: 'TuYa',
|
|
1833
|
+
description: 'Smart vibration sensor',
|
|
1834
|
+
fromZigbee: [fz.tuya_smart_vibration_sensor],
|
|
1835
|
+
toZigbee: [],
|
|
1836
|
+
exposes: [e.contact(), e.battery(), e.vibration()],
|
|
1837
|
+
},
|
|
1813
1838
|
];
|
package/devices/xiaomi.js
CHANGED
|
@@ -89,6 +89,22 @@ module.exports = [
|
|
|
89
89
|
e.power_outage_memory().withAccess(ea.STATE_SET)]),
|
|
90
90
|
ota: ota.zigbeeOTA,
|
|
91
91
|
},
|
|
92
|
+
{
|
|
93
|
+
zigbeeModel: ['lumi.light.acn003'],
|
|
94
|
+
model: 'ZNXDD01LM',
|
|
95
|
+
vendor: 'Xiaomi',
|
|
96
|
+
description: 'Aqara ceiling light L1-350',
|
|
97
|
+
extend: xiaomiExtend.light_onoff_brightness_colortemp({disableEffect: true, colorTempRange: [153, 370]}),
|
|
98
|
+
ota: ota.zigbeeOTA,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
zigbeeModel: ['lumi.light.cwac02'],
|
|
102
|
+
model: 'ZNLDP13LM',
|
|
103
|
+
vendor: 'Xiaomi',
|
|
104
|
+
description: 'Aqara T1 smart LED bulb',
|
|
105
|
+
extend: xiaomiExtend.light_onoff_brightness_colortemp({disableEffect: true, colorTempRange: [153, 370]}),
|
|
106
|
+
ota: ota.zigbeeOTA,
|
|
107
|
+
},
|
|
92
108
|
{
|
|
93
109
|
zigbeeModel: ['lumi.light.cwopcn01'],
|
|
94
110
|
model: 'XDD11LM',
|
package/lib/tuya.js
CHANGED
|
@@ -524,12 +524,16 @@ const dataPoints = {
|
|
|
524
524
|
nousMinTemp: 11,
|
|
525
525
|
nousTempAlarm: 14,
|
|
526
526
|
nousTempSensitivity: 19,
|
|
527
|
-
|
|
528
527
|
// TUYA / HUMIDITY/ILLUMINANCE/TEMPERATURE SENSOR
|
|
529
528
|
thitBatteryPercentage: 3,
|
|
530
529
|
thitIlluminanceLux: 7,
|
|
531
530
|
thitHumidity: 9,
|
|
532
531
|
thitTemperature: 8,
|
|
532
|
+
// TUYA SMART VIBRATION SENSOR
|
|
533
|
+
tuyaVibration: 10,
|
|
534
|
+
// TUYA WLS-100z Water Leak Sensor
|
|
535
|
+
wlsWaterLeak: 1,
|
|
536
|
+
wlsBatteryPercentage: 4,
|
|
533
537
|
};
|
|
534
538
|
|
|
535
539
|
const thermostatWeekFormat = {
|
package/npm-shrinkwrap.json
CHANGED