zigbee-herdsman-converters 14.0.561 → 14.0.562
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 +3 -1
- package/converters/toZigbee.js +4 -2
- package/devices/acova.js +30 -0
- package/devices/insta.js +1 -1
- package/devices/nous.js +3 -1
- package/devices/schneider_electric.js +12 -0
- package/devices/tuya.js +3 -1
- package/devices/ubisys.js +2 -1
- package/devices/xiaomi.js +5 -4
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -1946,7 +1946,9 @@ const converters = {
|
|
|
1946
1946
|
case 1:
|
|
1947
1947
|
return {temperature: calibrateAndPrecisionRoundOptions(value / 10, options, 'temperature')};
|
|
1948
1948
|
case 2:
|
|
1949
|
-
return {humidity: calibrateAndPrecisionRoundOptions(
|
|
1949
|
+
return {humidity: calibrateAndPrecisionRoundOptions(
|
|
1950
|
+
(value / (meta.device.manufacturerName === '_TZE200_bjawzodf' ? 10 : 1)),
|
|
1951
|
+
options, 'humidity')};
|
|
1950
1952
|
case 4:
|
|
1951
1953
|
return {battery: value};
|
|
1952
1954
|
default:
|
package/converters/toZigbee.js
CHANGED
|
@@ -2300,7 +2300,8 @@ const converters = {
|
|
|
2300
2300
|
key: ['led_disabled_night'],
|
|
2301
2301
|
convertSet: async (entity, key, value, meta) => {
|
|
2302
2302
|
if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
|
|
2303
|
-
'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02'
|
|
2303
|
+
'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02',
|
|
2304
|
+
'WS-EUK03', 'WS-EUK04'].includes(meta.mapped.model)) {
|
|
2304
2305
|
await entity.write('aqaraOpple', {0x0203: {value: value ? 1 : 0, type: 0x10}}, manufacturerOptions.xiaomi);
|
|
2305
2306
|
} else if (['ZNCZ11LM'].includes(meta.mapped.model)) {
|
|
2306
2307
|
const payload = value ?
|
|
@@ -2315,7 +2316,8 @@ const converters = {
|
|
|
2315
2316
|
},
|
|
2316
2317
|
convertGet: async (entity, key, meta) => {
|
|
2317
2318
|
if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ15LM', 'QBCZ14LM', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
|
|
2318
|
-
'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02'
|
|
2319
|
+
'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02',
|
|
2320
|
+
'WS-EUK03', 'WS-EUK04'].includes(meta.mapped.model)) {
|
|
2319
2321
|
await entity.read('aqaraOpple', [0x0203], manufacturerOptions.xiaomi);
|
|
2320
2322
|
} else {
|
|
2321
2323
|
throw new Error('Not supported');
|
package/devices/acova.js
CHANGED
|
@@ -63,4 +63,34 @@ module.exports = [
|
|
|
63
63
|
await reporting.thermostatUnoccupiedHeatingSetpoint(endpoint);
|
|
64
64
|
},
|
|
65
65
|
},
|
|
66
|
+
{
|
|
67
|
+
zigbeeModel: ['TAFFETAS2 D1.00P1.02Z1.00'],
|
|
68
|
+
model: 'TAFFETAS2',
|
|
69
|
+
vendor: 'Acova',
|
|
70
|
+
description: 'Taffetas 2 heater',
|
|
71
|
+
fromZigbee: [fz.thermostat, fz.hvac_user_interface],
|
|
72
|
+
toZigbee: [
|
|
73
|
+
tz.thermostat_local_temperature,
|
|
74
|
+
tz.thermostat_system_mode,
|
|
75
|
+
tz.thermostat_occupied_heating_setpoint,
|
|
76
|
+
tz.thermostat_unoccupied_heating_setpoint,
|
|
77
|
+
tz.thermostat_occupied_cooling_setpoint,
|
|
78
|
+
tz.thermostat_running_state,
|
|
79
|
+
],
|
|
80
|
+
exposes: [
|
|
81
|
+
exposes.climate()
|
|
82
|
+
.withSetpoint('occupied_heating_setpoint', 7, 28, 0.5)
|
|
83
|
+
.withLocalTemperature()
|
|
84
|
+
.withSystemMode(['off', 'heat', 'auto'])
|
|
85
|
+
.withRunningState(['idle', 'heat']),
|
|
86
|
+
],
|
|
87
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
88
|
+
const endpoint = device.getEndpoint(1);
|
|
89
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'hvacThermostat']);
|
|
90
|
+
await reporting.thermostatTemperature(endpoint);
|
|
91
|
+
await reporting.thermostatRunningState(endpoint);
|
|
92
|
+
await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
|
|
93
|
+
await reporting.thermostatUnoccupiedHeatingSetpoint(endpoint);
|
|
94
|
+
},
|
|
95
|
+
},
|
|
66
96
|
];
|
package/devices/insta.js
CHANGED
|
@@ -53,7 +53,7 @@ module.exports = [
|
|
|
53
53
|
{ID: 242, profileID: 41440, deviceID: 97},
|
|
54
54
|
]},
|
|
55
55
|
],
|
|
56
|
-
zigbeeModel: ['57005000'],
|
|
56
|
+
zigbeeModel: ['NEXENTRO Switching Actuator', '57005000'],
|
|
57
57
|
model: '57005000',
|
|
58
58
|
vendor: 'Insta',
|
|
59
59
|
description: 'Switching Actuator Mini with input for wall switch',
|
package/devices/nous.js
CHANGED
|
@@ -17,7 +17,9 @@ module.exports = [
|
|
|
17
17
|
exposes: [e.temperature(), e.humidity(), e.battery()],
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_lve3dvpy'},
|
|
20
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_lve3dvpy'},
|
|
21
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_c7emyjom'},
|
|
22
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_locansqn'}],
|
|
21
23
|
model: 'SZ-T04',
|
|
22
24
|
vendor: 'Nous',
|
|
23
25
|
description: 'Temperature and humidity sensor with clock',
|
|
@@ -357,6 +357,18 @@ module.exports = [
|
|
|
357
357
|
await reporting.onOff(endpoint);
|
|
358
358
|
},
|
|
359
359
|
},
|
|
360
|
+
{
|
|
361
|
+
zigbeeModel: ['CH10AX/SWITCH/1'],
|
|
362
|
+
model: '41E10PBSWMZ-VW',
|
|
363
|
+
vendor: 'Schneider Electric',
|
|
364
|
+
description: 'Wiser 40/300-Series module switch 10A with ControlLink',
|
|
365
|
+
extend: extend.switch(),
|
|
366
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
367
|
+
const endpoint = device.getEndpoint(1);
|
|
368
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
369
|
+
await reporting.onOff(endpoint);
|
|
370
|
+
},
|
|
371
|
+
},
|
|
360
372
|
{
|
|
361
373
|
zigbeeModel: ['SMARTPLUG/1'],
|
|
362
374
|
model: 'CCT711119',
|
package/devices/tuya.js
CHANGED
|
@@ -338,7 +338,9 @@ module.exports = [
|
|
|
338
338
|
},
|
|
339
339
|
{
|
|
340
340
|
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_8ygsuhe1'},
|
|
341
|
-
{modelID: 'TS0601', manufacturerName: '_TZE200_yvx5lh6k'},
|
|
341
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_yvx5lh6k'},
|
|
342
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_ryfmq5rl'},
|
|
343
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_c2fmom5z'}],
|
|
342
344
|
model: 'TS0601_air_quality_sensor',
|
|
343
345
|
vendor: 'TuYa',
|
|
344
346
|
description: 'Air quality sensor',
|
package/devices/ubisys.js
CHANGED
|
@@ -640,7 +640,8 @@ module.exports = [
|
|
|
640
640
|
fz.command_move, fz.command_stop, fz.lighting_ballast_configuration, fz.level_config, ubisys.fz.dimmer_setup,
|
|
641
641
|
ubisys.fz.dimmer_setup_genLevelCtrl],
|
|
642
642
|
toZigbee: [tz.light_onoff_brightness, tz.ballast_config, tz.level_config, ubisys.tz.dimmer_setup,
|
|
643
|
-
ubisys.tz.dimmer_setup_genLevelCtrl, ubisys.tz.configure_device_setup, tz.ignore_transition
|
|
643
|
+
ubisys.tz.dimmer_setup_genLevelCtrl, ubisys.tz.configure_device_setup, tz.ignore_transition, tz.light_brightness_move,
|
|
644
|
+
tz.light_brightness_step],
|
|
644
645
|
exposes: [e.light_brightness().withLevelConfig(), e.power(),
|
|
645
646
|
exposes.numeric('ballast_physical_minimum_level', ea.ALL).withValueMin(1).withValueMax(254)
|
|
646
647
|
.withDescription('Specifies the minimum light output the ballast can achieve.'),
|
package/devices/xiaomi.js
CHANGED
|
@@ -410,9 +410,9 @@ module.exports = [
|
|
|
410
410
|
description: 'Aqara smart wall switch H1 EU (with neutral, single rocker)',
|
|
411
411
|
fromZigbee: [fz.on_off, fz.xiaomi_power, fz.xiaomi_multistate_action, fz.aqara_opple],
|
|
412
412
|
toZigbee: [tz.on_off, tz.xiaomi_power, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory,
|
|
413
|
-
tz.xiaomi_flip_indicator_light],
|
|
413
|
+
tz.xiaomi_flip_indicator_light, tz.xiaomi_led_disabled_night],
|
|
414
414
|
exposes: [e.switch(), e.action(['single', 'double']), e.power().withAccess(ea.STATE_GET), e.energy(), e.flip_indicator_light(),
|
|
415
|
-
e.power_outage_memory(), e.device_temperature().withAccess(ea.STATE),
|
|
415
|
+
e.power_outage_memory(), e.device_temperature().withAccess(ea.STATE), e.led_disabled_night(), e.power_outage_count(),
|
|
416
416
|
exposes.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled']).withDescription('Decoupled mode')],
|
|
417
417
|
onEvent: preventReset,
|
|
418
418
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
@@ -428,7 +428,7 @@ module.exports = [
|
|
|
428
428
|
description: 'Aqara smart wall switch H1 EU (with neutral, double rocker)',
|
|
429
429
|
fromZigbee: [fz.on_off, fz.xiaomi_power, fz.xiaomi_multistate_action, fz.aqara_opple],
|
|
430
430
|
toZigbee: [tz.on_off, tz.xiaomi_power, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory,
|
|
431
|
-
tz.xiaomi_flip_indicator_light],
|
|
431
|
+
tz.xiaomi_flip_indicator_light, tz.xiaomi_led_disabled_night],
|
|
432
432
|
meta: {multiEndpoint: true},
|
|
433
433
|
endpoint: (device) => {
|
|
434
434
|
return {'left': 1, 'right': 2};
|
|
@@ -439,7 +439,8 @@ module.exports = [
|
|
|
439
439
|
exposes.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled']).withDescription('Decoupled mode for right button')
|
|
440
440
|
.withEndpoint('right'),
|
|
441
441
|
e.action(['single_left', 'double_left', 'single_right', 'double_right', 'single_both', 'double_both']),
|
|
442
|
-
e.device_temperature().withAccess(ea.STATE), e.power_outage_memory(), e.flip_indicator_light()
|
|
442
|
+
e.device_temperature().withAccess(ea.STATE), e.power_outage_memory(), e.flip_indicator_light(),
|
|
443
|
+
e.led_disabled_night(), e.power_outage_count()],
|
|
443
444
|
onEvent: preventReset,
|
|
444
445
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
445
446
|
const endpoint1 = device.getEndpoint(1);
|