zigbee-herdsman-converters 14.0.617 → 14.0.618
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/devices/lonsonho.js +1 -1
- package/devices/philips.js +8 -1
- package/devices/siglis.js +1 -1
- package/devices/tuya.js +79 -0
- package/devices/zemismart.js +9 -0
- package/package.json +1 -1
package/devices/lonsonho.js
CHANGED
|
@@ -77,7 +77,7 @@ module.exports = [
|
|
|
77
77
|
description: 'Dual curtain/blind module',
|
|
78
78
|
fromZigbee: [fz.cover_position_tilt, fz.tuya_cover_options],
|
|
79
79
|
toZigbee: [tz.cover_state, tz.cover_position_tilt, tz.tuya_cover_calibration, tz.tuya_cover_reversal],
|
|
80
|
-
meta: {multiEndpoint: true},
|
|
80
|
+
meta: {multiEndpoint: true, coverInverted: true},
|
|
81
81
|
endpoint: (device) => {
|
|
82
82
|
return {'left': 1, 'right': 2};
|
|
83
83
|
},
|
package/devices/philips.js
CHANGED
|
@@ -984,7 +984,14 @@ module.exports = [
|
|
|
984
984
|
zigbeeModel: ['929003053001'],
|
|
985
985
|
model: '929003053001',
|
|
986
986
|
vendor: 'Philips',
|
|
987
|
-
description: 'Hue Sana wall light',
|
|
987
|
+
description: 'Hue Sana wall light (white)',
|
|
988
|
+
extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
zigbeeModel: ['929003052901'],
|
|
992
|
+
model: '929003052901',
|
|
993
|
+
vendor: 'Philips',
|
|
994
|
+
description: 'Hue Sana wall light (black)',
|
|
988
995
|
extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
989
996
|
},
|
|
990
997
|
{
|
package/devices/siglis.js
CHANGED
package/devices/tuya.js
CHANGED
|
@@ -23,6 +23,18 @@ const TS011Fplugs = ['_TZ3000_5f43h46b', '_TZ3000_cphmq0q7', '_TZ3000_dpo1ysak',
|
|
|
23
23
|
'_TZ3000_ss98ec5d', '_TZ3000_gznh2xla', '_TZ3000_hdopuwv6', '_TZ3000_gvn91tmx', '_TZ3000_dksbtrzs', '_TZ3000_b28wrpvx'];
|
|
24
24
|
|
|
25
25
|
const tzLocal = {
|
|
26
|
+
SA12IZL_silence_siren: {
|
|
27
|
+
key: ['silence_siren'],
|
|
28
|
+
convertSet: async (entity, key, value, meta) => {
|
|
29
|
+
await tuya.sendDataPointBool(entity, 16, value);
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
SA12IZL_alarm: {
|
|
33
|
+
key: ['alarm'],
|
|
34
|
+
convertSet: async (entity, key, value, meta) => {
|
|
35
|
+
await tuya.sendDataPointEnum(entity, 20, {true: 0, false: 1}[value]);
|
|
36
|
+
},
|
|
37
|
+
},
|
|
26
38
|
hpsz: {
|
|
27
39
|
key: ['led_state'],
|
|
28
40
|
convertSet: async (entity, key, value, meta) => {
|
|
@@ -277,6 +289,37 @@ const tzLocal = {
|
|
|
277
289
|
};
|
|
278
290
|
|
|
279
291
|
const fzLocal = {
|
|
292
|
+
SA12IZL: {
|
|
293
|
+
cluster: 'manuSpecificTuya',
|
|
294
|
+
type: ['commandDataResponse', 'commandDataReport'],
|
|
295
|
+
convert: (model, msg, publish, options, meta) => {
|
|
296
|
+
const result = {};
|
|
297
|
+
for (const dpValue of msg.data.dpValues) {
|
|
298
|
+
const dp = dpValue.dp;
|
|
299
|
+
const value = tuya.getDataValue(dpValue);
|
|
300
|
+
switch (dp) {
|
|
301
|
+
case tuya.dataPoints.state:
|
|
302
|
+
result.smoke = value === 0;
|
|
303
|
+
break;
|
|
304
|
+
case 15:
|
|
305
|
+
result.battery = value;
|
|
306
|
+
break;
|
|
307
|
+
case 16:
|
|
308
|
+
result.silence_siren = value;
|
|
309
|
+
break;
|
|
310
|
+
case 20: {
|
|
311
|
+
const alarm = {0: true, 1: false};
|
|
312
|
+
result.alarm = alarm[value];
|
|
313
|
+
break;
|
|
314
|
+
}
|
|
315
|
+
default:
|
|
316
|
+
meta.logger.warn(`zigbee-herdsman-converters:SA12IZL: NOT RECOGNIZED DP #${
|
|
317
|
+
dp} with data ${JSON.stringify(dpValue)}`);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
return result;
|
|
321
|
+
},
|
|
322
|
+
},
|
|
280
323
|
tuya_dinrail_switch2: {
|
|
281
324
|
cluster: 'manuSpecificTuya',
|
|
282
325
|
type: ['commandDataReport', 'commandDataResponse', 'commandActiveStatusReport'],
|
|
@@ -1558,6 +1601,27 @@ module.exports = [
|
|
|
1558
1601
|
},
|
|
1559
1602
|
exposes: [e.battery(), e.water_leak()],
|
|
1560
1603
|
},
|
|
1604
|
+
{
|
|
1605
|
+
fingerprint: [{modelID: 'TS0001', manufacturerName: '_TZ3000_xkap8wtb'}],
|
|
1606
|
+
model: 'TS0001_power',
|
|
1607
|
+
description: 'Switch with power monitoring',
|
|
1608
|
+
vendor: 'TuYa',
|
|
1609
|
+
fromZigbee: [fz.on_off, fz.electrical_measurement, fz.metering, fz.ignore_basic_report],
|
|
1610
|
+
toZigbee: [tz.on_off],
|
|
1611
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1612
|
+
const endpoint = device.getEndpoint(1);
|
|
1613
|
+
await endpoint.read('genBasic', ['manufacturerName', 'zclVersion', 'appVersion', 'modelId', 'powerSource', 0xfffe]);
|
|
1614
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
|
|
1615
|
+
await reporting.rmsVoltage(endpoint, {change: 5});
|
|
1616
|
+
await reporting.rmsCurrent(endpoint, {change: 50});
|
|
1617
|
+
await reporting.activePower(endpoint, {change: 10});
|
|
1618
|
+
await reporting.currentSummDelivered(endpoint);
|
|
1619
|
+
endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {acCurrentDivisor: 1000, acCurrentMultiplier: 1});
|
|
1620
|
+
endpoint.saveClusterAttributeKeyValue('seMetering', {divisor: 100, multiplier: 1});
|
|
1621
|
+
device.save();
|
|
1622
|
+
},
|
|
1623
|
+
exposes: [e.switch(), e.power(), e.current(), e.voltage().withAccess(ea.STATE)],
|
|
1624
|
+
},
|
|
1561
1625
|
{
|
|
1562
1626
|
zigbeeModel: ['TS0001'],
|
|
1563
1627
|
model: 'TS0001',
|
|
@@ -2117,6 +2181,21 @@ module.exports = [
|
|
|
2117
2181
|
toZigbee: [],
|
|
2118
2182
|
exposes: [e.smoke(), e.battery()],
|
|
2119
2183
|
},
|
|
2184
|
+
{
|
|
2185
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_5d3vhjro'}],
|
|
2186
|
+
model: 'SA12IZL',
|
|
2187
|
+
vendor: 'TuYa',
|
|
2188
|
+
description: 'Smart smoke alarm',
|
|
2189
|
+
meta: {timeout: 30000, disableDefaultResponse: true},
|
|
2190
|
+
fromZigbee: [fzLocal.SA12IZL],
|
|
2191
|
+
toZigbee: [tzLocal.SA12IZL_silence_siren, tzLocal.SA12IZL_alarm],
|
|
2192
|
+
exposes: [e.battery(),
|
|
2193
|
+
exposes.binary('smoke', ea.STATE, true, false).withDescription('Smoke alarm status'),
|
|
2194
|
+
exposes.enum('battery_level', ea.STATE, ['low', 'middle', 'high']).withDescription('Battery level state'),
|
|
2195
|
+
exposes.binary('alarm', ea.STATE_SET, true, false).withDescription('Enable the alarm'),
|
|
2196
|
+
exposes.binary('silence_siren', ea.STATE_SET, true, false).withDescription('Silence the siren')],
|
|
2197
|
+
onEvent: tuya.onEventsetTime,
|
|
2198
|
+
},
|
|
2120
2199
|
{
|
|
2121
2200
|
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_byzdayie'},
|
|
2122
2201
|
{modelID: 'TS0601', manufacturerName: '_TZE200_fsb6zw01'},
|
package/devices/zemismart.js
CHANGED
|
@@ -201,6 +201,15 @@ module.exports = [
|
|
|
201
201
|
toZigbee: [tz.tuya_cover_control, tz.tuya_cover_options, tz.tuya_data_point_test],
|
|
202
202
|
exposes: [e.cover_position().setAccess('position', ea.STATE_SET)],
|
|
203
203
|
},
|
|
204
|
+
{
|
|
205
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_7eue9vhc'}],
|
|
206
|
+
model: 'ZM25RX-08/30',
|
|
207
|
+
vendor: 'Zemismart',
|
|
208
|
+
description: 'Tubular motor',
|
|
209
|
+
fromZigbee: [fz.tuya_cover, fz.ignore_basic_report],
|
|
210
|
+
toZigbee: [tz.tuya_cover_control, tz.tuya_cover_options, tz.tuya_data_point_test],
|
|
211
|
+
exposes: [e.cover_position().setAccess('position', ea.STATE_SET)],
|
|
212
|
+
},
|
|
204
213
|
{
|
|
205
214
|
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_1n2kyphz'}],
|
|
206
215
|
model: 'TB26-4',
|