zigbee-herdsman-converters 14.0.623 → 14.0.625
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/heiman.js +14 -0
- package/devices/m/303/274ller_licht.js +1 -1
- package/devices/tuya.js +6 -3
- package/devices/yale.js +52 -0
- package/package.json +1 -1
package/devices/heiman.js
CHANGED
|
@@ -444,6 +444,20 @@ module.exports = [
|
|
|
444
444
|
await reporting.batteryPercentageRemaining(endpoint);
|
|
445
445
|
},
|
|
446
446
|
},
|
|
447
|
+
{
|
|
448
|
+
fingerprint: [{modelID: 'ColorDimmerSw-EM-3.0', manufacturerName: 'HEIMAN'}],
|
|
449
|
+
model: 'HS2WDSR-E',
|
|
450
|
+
vendor: 'HEIMAN',
|
|
451
|
+
description: 'Remote dimmer and color control',
|
|
452
|
+
fromZigbee: [fz.battery, fz.command_on, fz.command_off, fz.command_move, fz.command_stop, fz.command_move_to_color],
|
|
453
|
+
exposes: [e.battery(), e.action(['on', 'off', 'move', 'stop', 'color_move'])],
|
|
454
|
+
toZigbee: [],
|
|
455
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
456
|
+
const endpoint = device.getEndpoint(1);
|
|
457
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'genOnOff', 'genLevelCtrl', 'lightingColorCtrl']);
|
|
458
|
+
await reporting.batteryPercentageRemaining(endpoint, {min: constants.repInterval.MINUTES_5, max: constants.repInterval.HOUR});
|
|
459
|
+
},
|
|
460
|
+
},
|
|
447
461
|
{
|
|
448
462
|
zigbeeModel: ['GASSensor-EM'],
|
|
449
463
|
model: 'HS1CG-E',
|
|
@@ -149,7 +149,7 @@ module.exports = [
|
|
|
149
149
|
},
|
|
150
150
|
{
|
|
151
151
|
zigbeeModel: ['tint-Remote-white'],
|
|
152
|
-
model: '404022',
|
|
152
|
+
model: '404022/404049C',
|
|
153
153
|
description: 'Tint dim remote control',
|
|
154
154
|
vendor: 'Müller Licht',
|
|
155
155
|
fromZigbee: [fz.command_on, fz.command_off, fz.command_step, fz.command_move, fz.command_stop, fz.command_move_to_color_temp],
|
package/devices/tuya.js
CHANGED
|
@@ -20,7 +20,8 @@ const TS011Fplugs = ['_TZ3000_5f43h46b', '_TZ3000_cphmq0q7', '_TZ3000_dpo1ysak',
|
|
|
20
20
|
'_TZ3000_rdtixbnu', '_TZ3000_typdpbpg', '_TZ3000_kx0pris5', '_TZ3000_amdymr7l', '_TZ3000_z1pnpsdo', '_TZ3000_ksw8qtmt',
|
|
21
21
|
'_TZ3000_1h2x4akh', '_TZ3000_9vo5icau', '_TZ3000_cehuw1lw', '_TZ3000_ko6v90pg', '_TZ3000_f1bapcit', '_TZ3000_cjrngdr3',
|
|
22
22
|
'_TZ3000_zloso4jk', '_TZ3000_r6buo8ba', '_TZ3000_iksasdbv', '_TZ3000_idrffznf', '_TZ3000_okaz9tjs', '_TZ3210_q7oryllx',
|
|
23
|
-
'_TZ3000_ss98ec5d', '_TZ3000_gznh2xla', '_TZ3000_hdopuwv6', '_TZ3000_gvn91tmx', '_TZ3000_dksbtrzs', '_TZ3000_b28wrpvx'
|
|
23
|
+
'_TZ3000_ss98ec5d', '_TZ3000_gznh2xla', '_TZ3000_hdopuwv6', '_TZ3000_gvn91tmx', '_TZ3000_dksbtrzs', '_TZ3000_b28wrpvx',
|
|
24
|
+
'_TZ3000_aim0ztek'];
|
|
24
25
|
|
|
25
26
|
const tzLocal = {
|
|
26
27
|
SA12IZL_silence_siren: {
|
|
@@ -1861,6 +1862,7 @@ module.exports = [
|
|
|
1861
1862
|
{modelID: 'TS0601', manufacturerName: '_TZE200_2atgpdho'}, // HY367
|
|
1862
1863
|
{modelID: 'TS0601', manufacturerName: '_TZE200_cpmgn2cf'},
|
|
1863
1864
|
{modelID: 'TS0601', manufacturerName: '_TZE200_4eeyebrt'}, // Immax 07732B
|
|
1865
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_8whxpsiw'}, // EVOLVEO
|
|
1864
1866
|
],
|
|
1865
1867
|
model: 'TS0601_thermostat',
|
|
1866
1868
|
vendor: 'TuYa',
|
|
@@ -2102,7 +2104,7 @@ module.exports = [
|
|
|
2102
2104
|
vendor: 'TuYa',
|
|
2103
2105
|
whiteLabel: [{vendor: 'LELLKI', model: 'TS011F_plug'}, {vendor: 'NEO', model: 'NAS-WR01B'},
|
|
2104
2106
|
{vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}, {vendor: 'BlitzWolf', model: 'BW-SHP13'},
|
|
2105
|
-
{vendor: 'MatSee Plus', model: 'PJ-ZSW01'}],
|
|
2107
|
+
{vendor: 'MatSee Plus', model: 'PJ-ZSW01'}, {vendor: 'MODEMIX', model: 'MOD037'}, {vendor: 'MODEMIX', model: 'MOD048'}],
|
|
2106
2108
|
ota: ota.zigbeeOTA,
|
|
2107
2109
|
fromZigbee: [fz.on_off, fzLocal.electrical_measurement_skip_duplicate, fzLocal.metering_skip_duplicate, fz.ignore_basic_report,
|
|
2108
2110
|
fz.tuya_switch_power_outage_memory, fz.ts011f_plug_indicator_mode, fz.ts011f_plug_child_mode],
|
|
@@ -3271,7 +3273,8 @@ module.exports = [
|
|
|
3271
3273
|
},
|
|
3272
3274
|
},
|
|
3273
3275
|
{
|
|
3274
|
-
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_0u3bj3rc'}
|
|
3276
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_0u3bj3rc'},
|
|
3277
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_v6ossqfy'}],
|
|
3275
3278
|
model: 'TS0601_human_presence_sensor',
|
|
3276
3279
|
vendor: 'TuYa',
|
|
3277
3280
|
description: 'Human presence sensor Zigbee',
|
package/devices/yale.js
CHANGED
|
@@ -20,6 +20,40 @@ const lockExtend = (meta, lockStateOptions=null, binds=['closuresDoorLock', 'gen
|
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
+
const fzLocal = {
|
|
24
|
+
c4_lock_operation_event: {
|
|
25
|
+
cluster: 'genAlarms',
|
|
26
|
+
type: ['commandAlarm'],
|
|
27
|
+
convert: async (model, msg, publish, options, meta) => {
|
|
28
|
+
let result = {};
|
|
29
|
+
if (msg.data.clusterid == 64512) {
|
|
30
|
+
const alarmcode = msg.data.alarmcode;
|
|
31
|
+
const lookup = {
|
|
32
|
+
9: {action: 'error_jammed', state: 'UNLOCKED', lock_state: 'not_fully_locked'},
|
|
33
|
+
21: {action: 'manual_lock', state: 'LOCKED', lock_state: 'locked'},
|
|
34
|
+
22: {action: 'manual_unlock', state: 'UNLOCKED', lock_state: 'unlocked'},
|
|
35
|
+
24: {action: 'lock', state: 'LOCKED', lock_state: 'locked'},
|
|
36
|
+
25: {action: 'unlock', state: 'UNLOCKED', lock_state: 'unlocked'},
|
|
37
|
+
27: {action: 'auto_lock', state: 'LOCKED', lock_state: 'locked'},
|
|
38
|
+
};
|
|
39
|
+
if (!lookup[alarmcode]) {
|
|
40
|
+
result.action = 'unknown';
|
|
41
|
+
meta.logger.warn(`zigbee-herdsman-converters:Yale Lock: Unrecognized Operation Event (${alarmcode})`);
|
|
42
|
+
// We need to read the lock state as the alarm code is unknown
|
|
43
|
+
try {
|
|
44
|
+
await msg.endpoint.read('closuresDoorLock', ['lockState']);
|
|
45
|
+
} catch (error) {
|
|
46
|
+
meta.logger.warn(`zigbee-herdsman-converters:Yale Lock: failed to read lock state`);
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
result = lookup[alarmcode];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
|
|
23
57
|
module.exports = [
|
|
24
58
|
{
|
|
25
59
|
zigbeeModel: ['YRD446 BLE TSDB'],
|
|
@@ -138,4 +172,22 @@ module.exports = [
|
|
|
138
172
|
description: 'Real living lock / Intelligent biometric digital lock',
|
|
139
173
|
extend: lockExtend({battery: {dontDividePercentage: true}}),
|
|
140
174
|
},
|
|
175
|
+
{
|
|
176
|
+
fingerprint: [{
|
|
177
|
+
type: 'EndDevice',
|
|
178
|
+
manufacturerName: 'Yale',
|
|
179
|
+
manufacturerID: 43690,
|
|
180
|
+
powerSource: 'Battery',
|
|
181
|
+
endpoints: [
|
|
182
|
+
{ID: 1, profileID: 260, deviceID: 10, inputClusters: [0, 9, 10, 257, 64512, 1], outputClusters: []},
|
|
183
|
+
{ID: 196, profileID: 260, deviceID: 10, inputClusters: [1], outputClusters: []},
|
|
184
|
+
]},
|
|
185
|
+
],
|
|
186
|
+
model: 'ZYA-C4-MOD-S',
|
|
187
|
+
vendor: 'Yale',
|
|
188
|
+
description: 'Control4 module for Yale KeyFree/Keyless/Doorman/Assure/nexTouch locks',
|
|
189
|
+
fromZigbee: [fz.lock, fzLocal.c4_lock_operation_event],
|
|
190
|
+
toZigbee: [tz.lock],
|
|
191
|
+
exposes: [e.lock(), e.lock_action()],
|
|
192
|
+
},
|
|
141
193
|
];
|