zigbee-herdsman-converters 14.0.335 → 14.0.336
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 +1 -1
- package/devices/danfoss.js +2 -2
- package/devices/hive.js +2 -2
- package/devices/lidl.js +1 -1
- package/devices/popp.js +2 -2
- package/devices/shinasystem.js +17 -0
- package/devices/tuya.js +22 -14
- package/npm-shrinkwrap.json +450 -493
- package/package.json +2 -2
package/converters/fromZigbee.js
CHANGED
|
@@ -2471,7 +2471,7 @@ const converters = {
|
|
|
2471
2471
|
buttonMapping = {1: '1', 2: '2'};
|
|
2472
2472
|
} else if (model.model === 'TS0043') {
|
|
2473
2473
|
buttonMapping = {1: '1', 2: '2', 3: '3'};
|
|
2474
|
-
} else if (['TS0044', 'YSR-MINI-Z'].includes(model.model)) {
|
|
2474
|
+
} else if (['TS0044', 'YSR-MINI-Z', 'TS004F'].includes(model.model)) {
|
|
2475
2475
|
buttonMapping = {1: '1', 2: '2', 3: '3', 4: '4'};
|
|
2476
2476
|
}
|
|
2477
2477
|
const button = buttonMapping ? `${buttonMapping[msg.endpoint.ID]}_` : '';
|
package/devices/danfoss.js
CHANGED
|
@@ -42,8 +42,8 @@ module.exports = [
|
|
|
42
42
|
exposes.climate().withSetpoint('occupied_heating_setpoint', 5, 32, 0.5).withLocalTemperature().withPiHeatingDemand()
|
|
43
43
|
.withSystemMode(['heat']).withRunningState(['idle', 'heat'], ea.STATE),
|
|
44
44
|
exposes.numeric('external_measured_room_sensor', ea.ALL)
|
|
45
|
-
.withDescription('Set at maximum 3 hours interval but not more often than every 30 minutes
|
|
46
|
-
'
|
|
45
|
+
.withDescription('Set at maximum 3 hours interval but not more often than every 30 minutes and 0.1 ' +
|
|
46
|
+
'degrees difference. Resets every 3hours to standard. e.g. 21C = 2100 (-8000=undefined).'),
|
|
47
47
|
exposes.numeric('window_open_internal', ea.STATE_GET).withValueMin(0).withValueMax(4)
|
|
48
48
|
.withDescription('0=Quarantine, 1=Windows are closed, 2=Hold - Windows are maybe about to open, ' +
|
|
49
49
|
'3=Open window detected, 4=In window open state from external but detected closed locally'),
|
package/devices/hive.js
CHANGED
|
@@ -183,8 +183,8 @@ module.exports = [
|
|
|
183
183
|
exposes.climate().withSetpoint('occupied_heating_setpoint', 5, 32, 0.5).withLocalTemperature().withPiHeatingDemand()
|
|
184
184
|
.withSystemMode(['heat']).withRunningState(['idle', 'heat'], ea.STATE),
|
|
185
185
|
exposes.numeric('external_measured_room_sensor', ea.ALL)
|
|
186
|
-
.withDescription('Set at maximum 3 hours interval but not more often than every 30 minutes
|
|
187
|
-
'
|
|
186
|
+
.withDescription('Set at maximum 3 hours interval but not more often than every 30 minutes and 0.1 ' +
|
|
187
|
+
'degrees difference. Resets every 3hours to standard. e.g. 21C = 2100 (-8000=undefined).'),
|
|
188
188
|
exposes.numeric('window_open_internal', ea.STATE_GET).withValueMin(0).withValueMax(4)
|
|
189
189
|
.withDescription('0=Quarantine, 1=Windows are closed, 2=Hold - Windows are maybe about to open, ' +
|
|
190
190
|
'3=Open window detected, 4=In window open state from external but detected closed locally'),
|
package/devices/lidl.js
CHANGED
|
@@ -655,7 +655,7 @@ module.exports = [
|
|
|
655
655
|
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_chyvmhay'}],
|
|
656
656
|
model: '368308_2010',
|
|
657
657
|
vendor: 'Lidl',
|
|
658
|
-
description: 'Silvercrest
|
|
658
|
+
description: 'Silvercrest radiator valve with thermostat',
|
|
659
659
|
fromZigbee: [fz.ignore_tuya_set_time, fzLocal.zs_thermostat, fz.tuya_data_point_dump],
|
|
660
660
|
toZigbee: [tzLocal.zs_thermostat_current_heating_setpoint, tzLocal.zs_thermostat_child_lock,
|
|
661
661
|
tzLocal.zs_thermostat_comfort_temp, tzLocal.zs_thermostat_eco_temp, tzLocal.zs_thermostat_preset_mode,
|
package/devices/popp.js
CHANGED
|
@@ -42,8 +42,8 @@ module.exports = [
|
|
|
42
42
|
exposes.climate().withSetpoint('occupied_heating_setpoint', 5, 32, 0.5).withLocalTemperature().withPiHeatingDemand()
|
|
43
43
|
.withSystemMode(['heat']).withRunningState(['idle', 'heat'], ea.STATE),
|
|
44
44
|
exposes.numeric('external_measured_room_sensor', ea.ALL)
|
|
45
|
-
.withDescription('Set at maximum 3 hours interval but not more often than every 30 minutes
|
|
46
|
-
'
|
|
45
|
+
.withDescription('Set at maximum 3 hours interval but not more often than every 30 minutes and 0.1 ' +
|
|
46
|
+
'degrees difference. Resets every 3hours to standard. e.g. 21C = 2100 (-8000=undefined).'),
|
|
47
47
|
exposes.numeric('window_open_internal', ea.STATE_GET).withValueMin(0).withValueMax(4)
|
|
48
48
|
.withDescription('0=Quarantine, 1=Windows are closed, 2=Hold - Windows are maybe about to open, ' +
|
|
49
49
|
'3=Open window detected, 4=In window open state from external but detected closed locally'),
|
package/devices/shinasystem.js
CHANGED
|
@@ -282,4 +282,21 @@ module.exports = [
|
|
|
282
282
|
await reporting.batteryVoltage(endpoint, {min: 30, max: 21600, change: 1});
|
|
283
283
|
},
|
|
284
284
|
},
|
|
285
|
+
{
|
|
286
|
+
zigbeeModel: ['PMM-300Z1'],
|
|
287
|
+
model: 'PMM-300Z1',
|
|
288
|
+
vendor: 'ShinaSystem',
|
|
289
|
+
description: 'SiHAS energy monitor',
|
|
290
|
+
fromZigbee: [fz.electrical_measurement, fz.metering],
|
|
291
|
+
toZigbee: [tz.electrical_measurement_power],
|
|
292
|
+
exposes: [e.power().withAccess(ea.STATE_GET), e.energy()],
|
|
293
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
294
|
+
const endpoint = device.getEndpoint(1);
|
|
295
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['haElectricalMeasurement', 'seMetering']);
|
|
296
|
+
await reporting.activePower(endpoint, {min: 1, max: 600, change: 5});
|
|
297
|
+
await reporting.instantaneousDemand(endpoint, {min: 1, max: 600, change: 1});
|
|
298
|
+
endpoint.saveClusterAttributeKeyValue('seMetering', {multiplier: 1, divisor: 1000});
|
|
299
|
+
await reporting.currentSummDelivered(endpoint, {min: 1, max: 600, change: 5});
|
|
300
|
+
},
|
|
301
|
+
},
|
|
285
302
|
];
|
package/devices/tuya.js
CHANGED
|
@@ -124,8 +124,8 @@ module.exports = [
|
|
|
124
124
|
model: 'TS0505B',
|
|
125
125
|
vendor: 'TuYa',
|
|
126
126
|
description: 'Zigbee RGB+CCT light',
|
|
127
|
-
whiteLabel: [{vendor: 'Mercator
|
|
128
|
-
{vendor: 'TuYa', model: 'A5C-21F7-01'}, {vendor: 'Mercator
|
|
127
|
+
whiteLabel: [{vendor: 'Mercator Ikuü', model: 'SMD4106W-RGB-ZB'},
|
|
128
|
+
{vendor: 'TuYa', model: 'A5C-21F7-01'}, {vendor: 'Mercator Ikuü', model: 'S9E27LED9W-RGB-Z'}],
|
|
129
129
|
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
130
130
|
meta: {applyRedFix: true, enhancedHue: false},
|
|
131
131
|
},
|
|
@@ -250,7 +250,7 @@ module.exports = [
|
|
|
250
250
|
{vendor: 'Earda', model: 'EDM-1ZAA-EU'},
|
|
251
251
|
{vendor: 'Earda', model: 'EDM-1ZAB-EU'},
|
|
252
252
|
{vendor: 'Earda', model: 'EDM-1ZBA-EU'},
|
|
253
|
-
{vendor: 'Mercator
|
|
253
|
+
{vendor: 'Mercator Ikuü', model: 'SSWD01'},
|
|
254
254
|
],
|
|
255
255
|
},
|
|
256
256
|
{
|
|
@@ -446,7 +446,7 @@ module.exports = [
|
|
|
446
446
|
model: 'TS0502B',
|
|
447
447
|
vendor: 'TuYa',
|
|
448
448
|
description: 'Light controller',
|
|
449
|
-
whiteLabel: [{vendor: 'Mercator
|
|
449
|
+
whiteLabel: [{vendor: 'Mercator Ikuü', model: 'SMI7040', description: 'Ford Batten Light'}],
|
|
450
450
|
extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 500]}),
|
|
451
451
|
},
|
|
452
452
|
{
|
|
@@ -554,16 +554,24 @@ module.exports = [
|
|
|
554
554
|
model: 'TS004F',
|
|
555
555
|
vendor: 'TuYa',
|
|
556
556
|
description: 'Wireless switch with 4 buttons',
|
|
557
|
-
exposes: [e.battery(), e.action(
|
|
558
|
-
|
|
559
|
-
fromZigbee: [fz.battery, fz.
|
|
560
|
-
toZigbee: [],
|
|
557
|
+
exposes: [e.battery(), e.action(['1_single', '1_double', '1_hold', '2_single', '2_double', '2_hold',
|
|
558
|
+
'3_single', '3_double', '3_hold', '4_single', '4_double', '4_hold'])],
|
|
559
|
+
fromZigbee: [fz.battery, fz.tuya_on_off_action],
|
|
560
|
+
toZigbee: [tz.tuya_operation_mode],
|
|
561
561
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
562
562
|
const endpoint = device.getEndpoint(1);
|
|
563
|
-
await
|
|
563
|
+
await endpoint.read('genBasic', [0x0004, 0x000, 0x0001, 0x0005, 0x0007, 0xfffe]);
|
|
564
|
+
await endpoint.write('genOnOff', {'tuyaOperationMode': 1});
|
|
565
|
+
await endpoint.read('genOnOff', ['tuyaOperationMode']);
|
|
564
566
|
try {
|
|
565
|
-
await
|
|
566
|
-
} catch (
|
|
567
|
+
await endpoint.read(0xE001, [0xD011]);
|
|
568
|
+
} catch (err) {/* do nothing */}
|
|
569
|
+
await endpoint.read('genPowerCfg', ['batteryVoltage', 'batteryPercentageRemaining']);
|
|
570
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
|
|
571
|
+
await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
|
|
572
|
+
await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
|
|
573
|
+
await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ['genOnOff']);
|
|
574
|
+
await reporting.bind(device.getEndpoint(4), coordinatorEndpoint, ['genOnOff']);
|
|
567
575
|
},
|
|
568
576
|
},
|
|
569
577
|
{
|
|
@@ -1194,7 +1202,7 @@ module.exports = [
|
|
|
1194
1202
|
{vendor: 'Vrey', model: 'VR-X712U-0013'},
|
|
1195
1203
|
{vendor: 'TUYATEC', model: 'GDKES-01TZXD'},
|
|
1196
1204
|
{vendor: 'Lonsonho', model: 'QS-Zigbee-S05-L', description: '1 gang smart switch module without neutral wire'},
|
|
1197
|
-
{vendor: 'Mercator
|
|
1205
|
+
{vendor: 'Mercator Ikuü', model: 'SSW01'},
|
|
1198
1206
|
],
|
|
1199
1207
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1200
1208
|
await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
|
|
@@ -1327,7 +1335,7 @@ module.exports = [
|
|
|
1327
1335
|
{
|
|
1328
1336
|
fingerprint: [{modelID: 'TS0014', manufacturerName: '_TZ3000_jr2atpww'}, {modelID: 'TS0014', manufacturerName: '_TYZB01_dvakyzhd'},
|
|
1329
1337
|
{modelID: 'TS0014', manufacturerName: '_TZ3210_w3hl6rao'}, {modelID: 'TS0014', manufacturerName: '_TYZB01_bagt1e4o'},
|
|
1330
|
-
{modelID: 'TS0014', manufacturerName: '_TZ3000_r0pmi2p3'}],
|
|
1338
|
+
{modelID: 'TS0014', manufacturerName: '_TZ3000_r0pmi2p3'}, {modelID: 'TS0014', manufacturerName: '_TZ3000_fxjdcikv'}],
|
|
1331
1339
|
model: 'TS0014',
|
|
1332
1340
|
vendor: 'TuYa',
|
|
1333
1341
|
description: 'Smart light switch - 4 gang without neutral wire',
|
|
@@ -1338,7 +1346,7 @@ module.exports = [
|
|
|
1338
1346
|
return {'l1': 1, 'l2': 2, 'l3': 3, 'l4': 4};
|
|
1339
1347
|
},
|
|
1340
1348
|
whiteLabel: [{vendor: 'TUYATEC', model: 'GDKES-04TZXD'}, {vendor: 'Vizo', model: 'VZ-222S'},
|
|
1341
|
-
{vendor: 'MakeGood', model: 'MG-ZG04W/B/G'}],
|
|
1349
|
+
{vendor: 'MakeGood', model: 'MG-ZG04W/B/G'}, {vendor: 'Mercator Ikuü', model: 'SSW04'}],
|
|
1342
1350
|
meta: {multiEndpoint: true},
|
|
1343
1351
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1344
1352
|
try {
|