zigbee-herdsman-converters 14.0.436 → 14.0.439
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/adurosmart.js +1 -1
- package/devices/insta.js +64 -0
- package/devices/m/303/274ller_licht.js +12 -0
- package/devices/philips.js +18 -0
- package/devices/tuya.js +2 -0
- package/devices/waxman.js +23 -0
- package/devices/weiser.js +1 -1
- package/lib/exposes.js +3 -0
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
package/devices/adurosmart.js
CHANGED
|
@@ -13,7 +13,7 @@ module.exports = [
|
|
|
13
13
|
description: 'Remote scene controller',
|
|
14
14
|
fromZigbee: [fz.battery, fz.command_toggle, fz.command_recall],
|
|
15
15
|
toZigbee: [],
|
|
16
|
-
exposes: [e.battery(), e.action('toggle', 'recall_253', 'recall_254', 'recall_255')],
|
|
16
|
+
exposes: [e.battery(), e.action(['toggle', 'recall_253', 'recall_254', 'recall_255'])],
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
zigbeeModel: ['AD-SmartPlug3001'],
|
package/devices/insta.js
CHANGED
|
@@ -43,4 +43,68 @@ module.exports = [
|
|
|
43
43
|
device.save();
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
|
+
{
|
|
47
|
+
fingerprint: [
|
|
48
|
+
// It seems several Insta devices use the same ModelID with a different endpoint configuration
|
|
49
|
+
// This is the single "Switching Actuator Mini"
|
|
50
|
+
{manufacturerName: 'Insta GmbH', modelID: 'Generic UP Device', endpoints: [
|
|
51
|
+
{ID: 1, profileID: 260, deviceID: 256, inputClusters: [0, 3, 4, 5, 6, 4096], outputClusters: [25]},
|
|
52
|
+
{ID: 4, profileID: 260, deviceID: 261, inputClusters: [0, 3], outputClusters: [3, 4, 5, 6, 8, 25, 768]},
|
|
53
|
+
{ID: 242, profileID: 41440, deviceID: 97},
|
|
54
|
+
]},
|
|
55
|
+
],
|
|
56
|
+
zigbeeModel: ['57005000'],
|
|
57
|
+
model: '57005000',
|
|
58
|
+
vendor: 'Insta',
|
|
59
|
+
description: 'Switching Actuator Mini with input for wall switch',
|
|
60
|
+
fromZigbee: [fz.on_off, fz.command_on, fz.command_off],
|
|
61
|
+
toZigbee: [tz.on_off],
|
|
62
|
+
exposes: [e.switch()],
|
|
63
|
+
// The configure method below is needed to make the device reports on/off state changes
|
|
64
|
+
// when the device is controlled manually through the button on it.
|
|
65
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
66
|
+
const endpoint = device.getEndpoint(1);
|
|
67
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
68
|
+
await reporting.onOff(endpoint);
|
|
69
|
+
|
|
70
|
+
// Has Unknown power source, force it here.
|
|
71
|
+
device.powerSource = 'Mains (single phase)';
|
|
72
|
+
device.save();
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
fingerprint: [
|
|
77
|
+
// It seems several Insta devices use the same ModelID with a different endpoint configuration
|
|
78
|
+
// This is the "Pushbutton Interface 2-gang"
|
|
79
|
+
{manufacturerName: 'Insta GmbH', modelID: 'Generic UP Device', endpoints: [
|
|
80
|
+
{ID: 4, profileID: 260, deviceID: 261, inputClusters: [0, 3], outputClusters: [3, 4, 5, 6, 8, 25, 768]},
|
|
81
|
+
{ID: 5, profileID: 260, deviceID: 261, inputClusters: [0, 3], outputClusters: [3, 4, 5, 6, 8, 25, 768]},
|
|
82
|
+
{ID: 7, profileID: 260, deviceID: 515, inputClusters: [0, 3], outputClusters: [3, 4, 25, 258]},
|
|
83
|
+
{ID: 242, profileID: 41440, deviceID: 97},
|
|
84
|
+
]},
|
|
85
|
+
],
|
|
86
|
+
zigbeeModel: ['57004000'],
|
|
87
|
+
model: '57004000',
|
|
88
|
+
vendor: 'Insta',
|
|
89
|
+
description: 'Pushbutton Interface 2-gang 230V',
|
|
90
|
+
fromZigbee: [fz.command_on, fz.command_off, fz.command_toggle, fz.command_recall, fz.command_move, fz.command_stop,
|
|
91
|
+
fz.command_cover_open, fz.command_cover_close, fz.command_cover_stop],
|
|
92
|
+
toZigbee: [],
|
|
93
|
+
exposes: [e.action([
|
|
94
|
+
'on_e1', 'off_e1', 'toggle_e1', 'recall_*_e1', 'brightness_stop_e1', 'brightness_move_*_e1',
|
|
95
|
+
'on_e2', 'off_e2', 'toggle_e2', 'recall_*_e2', 'brightness_stop_e2', 'brightness_move_*_e2',
|
|
96
|
+
'close_cover', 'open_cover', 'stop_cover',
|
|
97
|
+
])],
|
|
98
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
99
|
+
// Has Unknown power source, force it here.
|
|
100
|
+
device.powerSource = 'Mains (single phase)';
|
|
101
|
+
device.save();
|
|
102
|
+
},
|
|
103
|
+
meta: {multiEndpoint: true},
|
|
104
|
+
endpoint: (device) => {
|
|
105
|
+
return {
|
|
106
|
+
'e1': 4, 'e2': 5, 'cover': 7,
|
|
107
|
+
};
|
|
108
|
+
},
|
|
109
|
+
},
|
|
46
110
|
];
|
|
@@ -34,6 +34,18 @@ module.exports = [
|
|
|
34
34
|
await reporting.onOff(endpoint);
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
zigbeeModel: ['tint smart power strip'],
|
|
39
|
+
model: '45391',
|
|
40
|
+
vendor: 'Müller Licht',
|
|
41
|
+
description: 'Smart power strip',
|
|
42
|
+
extend: extend.switch(),
|
|
43
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
44
|
+
const endpoint = device.getEndpoint(1);
|
|
45
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
46
|
+
await reporting.onOff(endpoint);
|
|
47
|
+
},
|
|
48
|
+
},
|
|
37
49
|
{
|
|
38
50
|
// Identify through fingerprint as modelID is the same as Airam 4713407
|
|
39
51
|
fingerprint: [{modelID: 'ZBT-DimmableLight', manufacturerName: 'MLI'}],
|
package/devices/philips.js
CHANGED
|
@@ -491,6 +491,15 @@ module.exports = [
|
|
|
491
491
|
extend: hueExtend.light_onoff_brightness_colortemp_color(),
|
|
492
492
|
ota: ota.zigbeeOTA,
|
|
493
493
|
},
|
|
494
|
+
{
|
|
495
|
+
zigbeeModel: ['1743830V7'],
|
|
496
|
+
model: '1743830V7',
|
|
497
|
+
vendor: 'Philips',
|
|
498
|
+
description: 'Hue Econic outdoor wall lamp',
|
|
499
|
+
meta: {turnsOffAtBrightness1: true},
|
|
500
|
+
extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
501
|
+
ota: ota.zigbeeOTA,
|
|
502
|
+
},
|
|
494
503
|
{
|
|
495
504
|
zigbeeModel: ['1743830P7'],
|
|
496
505
|
model: '1743830P7',
|
|
@@ -2626,6 +2635,15 @@ module.exports = [
|
|
|
2626
2635
|
extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [222, 454]}),
|
|
2627
2636
|
ota: ota.zigbeeOTA,
|
|
2628
2637
|
},
|
|
2638
|
+
{
|
|
2639
|
+
zigbeeModel: ['915005997801'],
|
|
2640
|
+
model: '915005997801',
|
|
2641
|
+
vendor: 'Philips',
|
|
2642
|
+
description: 'Hue White & Color Ambiance Xamento M',
|
|
2643
|
+
meta: {turnsOffAtBrightness1: true},
|
|
2644
|
+
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
2645
|
+
ota: ota.zigbeeOTA,
|
|
2646
|
+
},
|
|
2629
2647
|
{
|
|
2630
2648
|
zigbeeModel: ['929002966401'],
|
|
2631
2649
|
model: '929002966401',
|
package/devices/tuya.js
CHANGED
|
@@ -484,6 +484,7 @@ module.exports = [
|
|
|
484
484
|
{modelID: 'TS0601', manufacturerName: '_TZE200_oisqyl4o'},
|
|
485
485
|
{modelID: 'TS0601', manufacturerName: '_TZ3000_uim07oem'},
|
|
486
486
|
{modelID: 'TS0601', manufacturerName: '_TZE200_js3mgbjb'},
|
|
487
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_7deq70b8'},
|
|
487
488
|
],
|
|
488
489
|
model: 'TS0601_switch',
|
|
489
490
|
vendor: 'TuYa',
|
|
@@ -1007,6 +1008,7 @@ module.exports = [
|
|
|
1007
1008
|
{modelID: 'TS0601', manufacturerName: '_TZE200_cwnjrr72'},
|
|
1008
1009
|
{modelID: 'TS0601', manufacturerName: '_TZE200_pvvbommb'},
|
|
1009
1010
|
{modelID: 'TS0601', manufacturerName: '_TZE200_2atgpdho'}, // HY367
|
|
1011
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_cpmgn2cf'},
|
|
1010
1012
|
],
|
|
1011
1013
|
model: 'TS0601_thermostat',
|
|
1012
1014
|
vendor: 'TuYa',
|
package/devices/waxman.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const exposes = require('../lib/exposes');
|
|
2
2
|
const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
|
|
3
|
+
const tz = require('../converters/toZigbee');
|
|
3
4
|
const reporting = require('../lib/reporting');
|
|
4
5
|
const e = exposes.presets;
|
|
5
6
|
|
|
@@ -19,4 +20,26 @@ module.exports = [
|
|
|
19
20
|
await reporting.temperature(endpoint);
|
|
20
21
|
},
|
|
21
22
|
},
|
|
23
|
+
{
|
|
24
|
+
zigbeeModel: ['House Water Valve - MDL-TBD'],
|
|
25
|
+
// Should work with all manufacturer model numbers for the 2.0 series:
|
|
26
|
+
// 8850000 3/4"
|
|
27
|
+
// 8850100 1"
|
|
28
|
+
// 8850200 1-1/4"
|
|
29
|
+
// 8850300 1-1/2"
|
|
30
|
+
// 8850310 2"
|
|
31
|
+
model: '8850100',
|
|
32
|
+
vendor: 'Waxman',
|
|
33
|
+
description: 'leakSMART automatic water shut-off valve 2.0',
|
|
34
|
+
fromZigbee: [fz.battery, fz.on_off],
|
|
35
|
+
toZigbee: [tz.on_off],
|
|
36
|
+
exposes: [e.battery(), e.switch()],
|
|
37
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
38
|
+
const endpoint = device.getEndpoint(1);
|
|
39
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'haApplianceEventsAlerts', 'genOnOff']);
|
|
40
|
+
await reporting.onOff(endpoint);
|
|
41
|
+
await reporting.batteryPercentageRemaining(endpoint);
|
|
42
|
+
await reporting.batteryVoltage(endpoint);
|
|
43
|
+
},
|
|
44
|
+
},
|
|
22
45
|
];
|
package/devices/weiser.js
CHANGED
|
@@ -33,7 +33,7 @@ module.exports = [
|
|
|
33
33
|
await device.endpoints[0].command('closuresDoorLock', 'getPinCode', {userid: data.data.userid}, {});
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
|
-
exposes: [e.lock(), e.battery(), e.pincode()],
|
|
36
|
+
exposes: [e.lock(), e.battery(), e.pincode(), e.lock_action(), e.lock_action_source_name(), e.lock_action_source_user()],
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
zigbeeModel: ['SMARTCODE_DEADBOLT_10T'],
|
package/lib/exposes.js
CHANGED
|
@@ -564,6 +564,9 @@ module.exports = {
|
|
|
564
564
|
linkquality: () => new Numeric('linkquality', access.STATE).withUnit('lqi').withDescription('Link quality (signal strength)').withValueMin(0).withValueMax(255),
|
|
565
565
|
local_temperature: () => new Numeric('local_temperature', access.STATE_GET).withUnit('°C').withDescription('Current temperature measured on the device'),
|
|
566
566
|
lock: () => new Lock().withState('state', 'LOCK', 'UNLOCK', 'State of the lock').withLockState('lock_state', 'Actual state of the lock'),
|
|
567
|
+
lock_action: () => new Enum('action', access.STATE, ['unknown', 'lock', 'unlock', 'lock_failure_invalid_pin_or_id', 'lock_failure_invalid_schedule', 'unlock_failure_invalid_pin_or_id', 'unlock_failure_invalid_schedule', 'one_touch_lock', 'key_lock', 'key_unlock', 'auto_lock', 'schedule_lock', 'schedule_unlock', 'manual_lock', 'manual_unlock', 'non_access_user_operational_event']).withDescription('Triggered action on the lock'),
|
|
568
|
+
lock_action_source_name: () => new Enum('action_source_name', access.STATE, ['keypad', 'rfid', 'manual', 'rf']).withDescription('Source of the triggered action on the lock'),
|
|
569
|
+
lock_action_source_user: () => new Numeric('action_source_user', access.STATE).withDescription('ID of user that triggered the action on the lock'),
|
|
567
570
|
max_temperature: () => new Numeric('max_temperature', access.STATE_SET).withUnit('°C').withDescription('Maximum temperature').withValueMin(15).withValueMax(35),
|
|
568
571
|
max_temperature_limit: () => new Numeric('max_temperature_limit', access.STATE_SET).withUnit('°C').withDescription('Maximum temperature limit').withValueMin(0).withValueMax(35),
|
|
569
572
|
min_temperature: () => new Numeric('min_temperature', access.STATE_SET).withUnit('°C').withDescription('Minimum temperature').withValueMin(1).withValueMax(15),
|
package/npm-shrinkwrap.json
CHANGED