zigbee-herdsman-converters 14.0.493 → 14.0.496

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/ikea.js CHANGED
@@ -279,10 +279,10 @@ module.exports = [
279
279
  extend: tradfriExtend.light_onoff_brightness_colortemp(),
280
280
  },
281
281
  {
282
- zigbeeModel: ['TRADFRIbulbE27WSglobeopal1055lm'],
282
+ zigbeeModel: ['TRADFRIbulbE27WSglobeopal1055lm', 'TRADFRIbulbE26WSglobeopal1100lm'],
283
283
  model: 'LED2003G10',
284
284
  vendor: 'IKEA',
285
- description: 'TRADFRI LED bulb E27 1055 lumen, dimmable, white spectrum, opal white',
285
+ description: 'TRADFRI LED bulb E26/27 1100/1055 lumen, dimmable, white spectrum, opal white',
286
286
  extend: tradfriExtend.light_onoff_brightness_colortemp(),
287
287
  },
288
288
  {
package/devices/innr.js CHANGED
@@ -497,6 +497,18 @@ module.exports = [
497
497
  },
498
498
  exposes: [e.power(), e.current(), e.voltage().withAccess(ea.STATE), e.switch(), e.energy()],
499
499
  },
500
+ {
501
+ zigbeeModel: ['SP 110'],
502
+ model: 'SP 110',
503
+ vendor: 'Innr',
504
+ description: 'Smart plug',
505
+ extend: extend.switch(),
506
+ configure: async (device, coordinatorEndpoint, logger) => {
507
+ const endpoint = device.getEndpoint(1);
508
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
509
+ await reporting.onOff(endpoint);
510
+ },
511
+ },
500
512
  {
501
513
  zigbeeModel: ['SP 220'],
502
514
  model: 'SP 220',
@@ -6,10 +6,10 @@ const e = exposes.presets;
6
6
  module.exports = [
7
7
  {
8
8
  zigbeeModel: ['PROLIGHT E27 WHITE AND COLOUR'],
9
- model: '5412748727388',
9
+ model: '5412748727371',
10
10
  vendor: 'Prolight',
11
11
  description: 'E27 white and colour bulb',
12
- extend: extend.light_onoff_brightness_colortemp_color(),
12
+ extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555]}),
13
13
  },
14
14
  {
15
15
  zigbeeModel: ['PROLIGHT E27 WARM WHITE CLEAR'],
@@ -32,9 +32,16 @@ module.exports = [
32
32
  description: 'GU10 white and colour spot',
33
33
  extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 555]}),
34
34
  },
35
+ {
36
+ zigbeeModel: ['PROLIGHT GU10 WARM WHITE'],
37
+ model: '5412748727395',
38
+ vendor: 'Prolight',
39
+ description: 'GU10 spot dimmable',
40
+ extend: extend.light_onoff_brightness(),
41
+ },
35
42
  {
36
43
  zigbeeModel: ['PROLIGHT REMOTE CONTROL'],
37
- model: 'PROLIGHT_REMOTE_CONTROL',
44
+ model: '5412748727388',
38
45
  vendor: 'Prolight',
39
46
  description: 'Remote control',
40
47
  toZigbee: [],
package/devices/sinope.js CHANGED
@@ -259,6 +259,22 @@ module.exports = [
259
259
  await reporting.activePower(endpoint, {min: 10, change: 1});
260
260
  },
261
261
  },
262
+ {
263
+ zigbeeModel: ['SP2610ZB'],
264
+ model: 'SP2610ZB',
265
+ vendor: 'Sinopé',
266
+ description: 'Zigbee smart outlet',
267
+ fromZigbee: [fz.on_off, fz.electrical_measurement],
268
+ toZigbee: [tz.on_off],
269
+ exposes: [e.switch(), e.power()],
270
+ configure: async (device, coordinatorEndpoint, logger) => {
271
+ const endpoint = device.getEndpoint(1);
272
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement']);
273
+ await reporting.readEletricalMeasurementMultiplierDivisors(endpoint);
274
+ await reporting.onOff(endpoint);
275
+ await reporting.activePower(endpoint, {min: 10, change: 1});
276
+ },
277
+ },
262
278
  {
263
279
  zigbeeModel: ['DM2500ZB'],
264
280
  model: 'DM2500ZB',
package/devices/tuya.js CHANGED
@@ -13,7 +13,7 @@ const utils = require('../lib/utils');
13
13
  const TS011Fplugs = ['_TZ3000_5f43h46b', '_TZ3000_cphmq0q7', '_TZ3000_dpo1ysak', '_TZ3000_ew3ldmgx', '_TZ3000_gjnozsaz',
14
14
  '_TZ3000_jvzvulen', '_TZ3000_mraovvmm', '_TZ3000_nfnmi125', '_TZ3000_ps3dmato', '_TZ3000_w0qqde0g', '_TZ3000_u5u4cakc',
15
15
  '_TZ3000_rdtixbnu', '_TZ3000_typdpbpg', '_TZ3000_kx0pris5', '_TZ3000_amdymr7l', '_TZ3000_z1pnpsdo', '_TZ3000_ksw8qtmt',
16
- '_TZ3000_nzkqcvvs'];
16
+ '_TZ3000_nzkqcvvs', '_TZ3000_1h2x4akh'];
17
17
 
18
18
  const tzLocal = {
19
19
  TS0504B_color: {
package/devices/woox.js CHANGED
@@ -7,6 +7,75 @@ const extend = require('../lib/extend');
7
7
  const e = exposes.presets;
8
8
  const ea = exposes.access;
9
9
 
10
+ const fzLocal = {
11
+ R7049_status: {
12
+ cluster: 'manuSpecificTuya',
13
+ type: ['commandDataResponse', 'commandDataReport'],
14
+ convert: (model, msg, publish, options, meta) => {
15
+ const result = {};
16
+ for (const dpValue of msg.data.dpValues) {
17
+ const dp = dpValue.dp; // First we get the data point ID
18
+ const value = tuya.getDataValue(dpValue); // This function will take care of converting the data to proper JS type
19
+ switch (dp) {
20
+ case 1:
21
+ result.smoke = Boolean(!value);
22
+ break;
23
+ case 8:
24
+ result.test_alarm = value;
25
+ break;
26
+ case 9: {
27
+ const testAlarmResult = {0: 'checking', 1: 'check_success', 2: 'check_failure', 3: 'others'};
28
+ result.test_alarm_result = testAlarmResult[value];
29
+ break;
30
+ }
31
+ case 11:
32
+ result.fault_alarm = Boolean(value);
33
+ break;
34
+ case 14: {
35
+ const batteryLevels = {0: 'low', 1: 'middle', 2: 'high'};
36
+ result.battery_level = batteryLevels[value];
37
+ break;
38
+ }
39
+ case 16:
40
+ result.silence_siren = value;
41
+ break;
42
+ case 20: {
43
+ const alarm = {0: true, 1: false};
44
+ result.alarm = alarm[value];
45
+ break;
46
+ }
47
+ default:
48
+ meta.logger.warn(`zigbee-herdsman-converters:Woox Smoke Detector: NOT RECOGNIZED DP #${
49
+ dp} with data ${JSON.stringify(dpValue)}`);
50
+ }
51
+ }
52
+ return result;
53
+ },
54
+ },
55
+ };
56
+
57
+ const tzLocal = {
58
+ R7049_silenceSiren: {
59
+ key: ['silence_siren'],
60
+ convertSet: async (entity, key, value, meta) => {
61
+ await tuya.sendDataPointBool(entity, 16, value);
62
+ },
63
+ },
64
+ R7049_testAlarm: {
65
+ key: ['test_alarm'],
66
+ convertSet: async (entity, key, value, meta) => {
67
+ await tuya.sendDataPointBool(entity, 8, value);
68
+ },
69
+ },
70
+ R7049_alarm: {
71
+ key: ['alarm'],
72
+ convertSet: async (entity, key, value, meta) => {
73
+ const linkAlarm = {true: 0, false: 1};
74
+ await tuya.sendDataPointEnum(entity, 20, linkAlarm[value]);
75
+ },
76
+ },
77
+ };
78
+
10
79
  module.exports = [
11
80
  {
12
81
  fingerprint: [{modelID: 'TS0101', manufacturerName: '_TZ3210_eymunffl'}],
@@ -50,10 +119,19 @@ module.exports = [
50
119
  model: 'R7049',
51
120
  vendor: 'Woox',
52
121
  description: 'Smart smoke alarm',
53
- fromZigbee: [fz.tuya_woox_smoke, fz.ignore_tuya_set_time],
54
- toZigbee: [],
122
+ meta: {timeout: 30000, disableDefaultResponse: true},
123
+ fromZigbee: [fzLocal.R7049_status, fz.ignore_tuya_set_time, fz.ignore_time_read],
124
+ toZigbee: [tzLocal.R7049_silenceSiren, tzLocal.R7049_testAlarm, tzLocal.R7049_alarm],
125
+ exposes: [e.battery_low(),
126
+ exposes.binary('smoke', ea.STATE, true, false).withDescription('Smoke alarm status'),
127
+ exposes.binary('test_alarm', ea.STATE_SET, true, false).withDescription('Test alarm'),
128
+ exposes.enum('test_alarm_result', ea.STATE, ['checking', 'check_success', 'check_failure', 'others'])
129
+ .withDescription('Test alarm result'),
130
+ exposes.enum('battery_level', ea.STATE, ['low', 'middle', 'high']).withDescription('Battery level state'),
131
+ exposes.binary('alarm', ea.STATE_SET, true, false).withDescription('Alarm enable'),
132
+ exposes.binary('fault_alarm', ea.STATE, true, false).withDescription('Fault alarm status'),
133
+ exposes.binary('silence_siren', ea.STATE_SET, true, false).withDescription('Silence siren')],
55
134
  onEvent: tuya.onEventsetTime,
56
- exposes: [e.smoke(), e.battery_low()],
57
135
  },
58
136
  {
59
137
  fingerprint: [{modelID: 'TS0219', manufacturerName: '_TYZB01_ynsiasng'}],
@@ -0,0 +1,99 @@
1
+ # Zigbee OTA source provider sources for these and others
2
+
3
+ Collection of external Zigbee OTA firmware images from official and unofficial OTA provider sources.
4
+
5
+ ### Koenkk zigbee-OTA repository
6
+
7
+ Koenkk zigbee-OTA repository host third-party OTA firmware images and external URLs for many third-party Zigbee OTA firmware images.
8
+
9
+ https://github.com/Koenkk/zigbee-OTA/tree/master/images
10
+
11
+ https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json
12
+
13
+ ### Dresden Elektronik
14
+
15
+ Dresden Elektronik Zigbee OTA firmware images are made publicly available by Dresden Elektronik (first-party) at the following URL:
16
+
17
+ https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/OTA-Image-Types---Firmware-versions
18
+
19
+ Dresden Elektronik also provide third-party OTA firmware images and external URLs for many third-party Zigbee OTA firmware images.
20
+
21
+ ### EUROTRONICS
22
+
23
+ EUROTRONICS Zigbee OTA firmware images are made publicly available by EUROTRONIC Technology (first-party) at the following URL:
24
+
25
+ https://github.com/EUROTRONIC-Technology/Spirit-ZigBee/releases/download/
26
+
27
+ ### IKEA Trådfri
28
+
29
+ IKEA Tradfi Zigbee OTA firmware images are made publicly available by IKEA (first-party) at the following URL:
30
+
31
+ Download-URL:
32
+
33
+ http://fw.ota.homesmart.ikea.net/feed/version_info.json
34
+
35
+ Download-URL (Test/Beta-Version):
36
+
37
+ http://fw.test.ota.homesmart.ikea.net/feed/version_info.json
38
+
39
+ Release changelogs
40
+
41
+ https://ww8.ikea.com/ikeahomesmart/releasenotes/releasenotes.html
42
+
43
+ ### LEDVANCE/Sylvania and OSRAM Lightify
44
+
45
+ LEDVANCE/Sylvania and OSRAM Lightify Zigbee OTA firmware images are made publicly available by LEDVANCE (first-party) at the following URL:
46
+
47
+ https://update.ledvance.com/firmware-overview
48
+
49
+ https://api.update.ledvance.com/v1/zigbee/firmwares/download
50
+
51
+ https://consumer.sylvania.com/our-products/smart/sylvania-smart-zigbee-products-menu/index.jsp
52
+
53
+ ### Legrand/Netatmo
54
+
55
+ Legrand/Netatmo Zigbee OTA firmware images are made publicly available by Legrand (first-party) at the following URL:
56
+
57
+ https://developer.legrand.com/documentation/operating-manual/ https://developer.legrand.com/documentation/firmwares-download/
58
+
59
+ ### LiXee
60
+
61
+ LiXee Zigbee OTA firmware images are made publicly available by Fairecasoimeme / ZiGate (first-party) at the following URL:
62
+
63
+ https://github.com/fairecasoimeme/Zlinky_TIC/releases
64
+
65
+ ### SALUS/Computime
66
+
67
+ SALUS/Computime Hue Zigbee OTA firmware images are made publicly available by SALUS (first-party) at the following URL:
68
+
69
+ https://eu.salusconnect.io/demo/default/status/firmware
70
+
71
+ ### Sengled
72
+
73
+ Sengled Zigbee OTA firmware images are made publicly available by Dresden Elektronik (third-party) at the following URL:
74
+
75
+ https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/OTA-Image-Types---Firmware-versions#sengled
76
+
77
+ ### Philips Hue (Signify)
78
+
79
+ Philips Hue OTA firmware images are available for different Hue devices for several official sources that do not all use the same APIs:
80
+
81
+ https://firmware.meethue.com/v1/checkUpdate
82
+
83
+ https://firmware.meethue.com/storage/
84
+
85
+ http://fds.dc1.philips.com/firmware/
86
+
87
+ Philips Hue (Signify) Zigbee OTA firmware images direct URLs are available by Koenkk zigbee-OTA repository (third-party) at following URL:
88
+
89
+ https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json
90
+
91
+ Philips Hue (Signify) Zigbee OTA firmware images are also made publicly available by Dresden Elektronik (third-party) at following URL:
92
+
93
+ https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/OTA-Image-Types---Firmware-versions#philips-hue
94
+
95
+ ### Ubisys
96
+
97
+ Ubisys Zigbee OTA firmware images are made publicly available by Ubisys (first-party) at the following URL:
98
+
99
+ https://www.ubisys.de/en/support/firmware/
package/lib/tuya.js CHANGED
@@ -219,7 +219,8 @@ function convertStringToHexArray(value) {
219
219
  // Default is 100 = open, 0 = closed; Devices listed here will use 0 = open, 100 = closed instead
220
220
  // Use manufacturerName to identify device!
221
221
  // Dont' invert _TZE200_cowvfni3: https://github.com/Koenkk/zigbee2mqtt/issues/6043
222
- const coverPositionInvert = ['_TZE200_wmcdj3aq', '_TZE200_nogaemzt', '_TZE200_xuzcvlku', '_TZE200_xaabybja', '_TZE200_rmymn92d'];
222
+ const coverPositionInvert = ['_TZE200_wmcdj3aq', '_TZE200_nogaemzt', '_TZE200_xuzcvlku', '_TZE200_xaabybja', '_TZE200_rmymn92d',
223
+ '_TZE200_gubdgai2'];
223
224
 
224
225
  // Gets a boolean indicating whether the cover by this manufacturerName needs reversed positions
225
226
  function isCoverInverted(manufacturerName) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.493",
3
+ "version": "14.0.496",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [