zigbee-herdsman-converters 14.0.640 → 14.0.641

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.
@@ -7039,7 +7039,7 @@ const converters = {
7039
7039
  type: ['attributeReport', 'readResponse'],
7040
7040
  convert: (model, msg, publish, options, meta) => {
7041
7041
  if (msg.data.hasOwnProperty('48')) {
7042
- const lookup = ['low', 'medium', 'high'];
7042
+ const lookup = ['low', 'medium', 'high', 'very_high', 'max'];
7043
7043
  return {motion_sensitivity: lookup[msg.data['48']]};
7044
7044
  }
7045
7045
  },
@@ -2106,10 +2106,8 @@ const converters = {
2106
2106
  // motion detect sensitivity, philips specific
2107
2107
  key: ['motion_sensitivity'],
2108
2108
  convertSet: async (entity, key, value, meta) => {
2109
- // hue_sml:
2110
- // 0: low, 1: medium, 2: high (default)
2111
2109
  // make sure you write to second endpoint!
2112
- const lookup = {'low': 0, 'medium': 1, 'high': 2};
2110
+ const lookup = {'low': 0, 'medium': 1, 'high': 2, 'very_high': 3, 'max': 4};
2113
2111
  value = value.toLowerCase();
2114
2112
  utils.validateValue(value, Object.keys(lookup));
2115
2113
 
@@ -190,6 +190,18 @@ const develco = {
190
190
  return state;
191
191
  },
192
192
  },
193
+ input: {
194
+ cluster: 'genBinaryInput',
195
+ type: ['attributeReport', 'readResponse'],
196
+ convert: (model, msg, publish, options, meta) => {
197
+ const result = {};
198
+ if (msg.data.hasOwnProperty('presentValue')) {
199
+ const value = msg.data['presentValue'];
200
+ result[utils.postfixWithEndpointName('input', msg, model, meta)] = value == 1;
201
+ }
202
+ return result;
203
+ },
204
+ },
193
205
  },
194
206
  tz: {
195
207
  pulse_configuration: {
@@ -246,6 +258,12 @@ const develco = {
246
258
  await entity.read('ssIasZone', ['develcoAlarmOffDelay'], manufacturerOptions);
247
259
  },
248
260
  },
261
+ input: {
262
+ key: ['input'],
263
+ convertGet: async (entity, key, meta) => {
264
+ await entity.read('genBinaryInput', ['presentValue']);
265
+ },
266
+ },
249
267
  },
250
268
  };
251
269
 
@@ -655,7 +673,7 @@ module.exports = [
655
673
  {
656
674
  zigbeeModel: ['SIRZB-110'],
657
675
  model: 'SIRZB-110',
658
- vendor: 'Develco Products A/S',
676
+ vendor: 'Develco',
659
677
  description: 'Customizable siren',
660
678
  fromZigbee: [fz.temperature, fz.battery, fz.ias_enroll, fz.ias_wd, develco.fz.firmware_version, fz.ias_siren],
661
679
  toZigbee: [tz.warning, tz.warning_simple, tz.ias_max_duration, tz.squawk],
@@ -718,4 +736,53 @@ module.exports = [
718
736
  }
719
737
  },
720
738
  },
739
+ {
740
+ zigbeeModel: ['IOMZB-110'],
741
+ model: 'IOMZB-110',
742
+ vendor: 'Develco',
743
+ description: 'IO module',
744
+ fromZigbee: [fz.on_off, develco.fz.input, develco.fz.firmware_version],
745
+ toZigbee: [tz.on_off, develco.tz.input],
746
+ meta: {multiEndpoint: true},
747
+ exposes: [
748
+ exposes.binary('input', ea.STATE_GET, true, false).withEndpoint('l1').withDescription('State of input 1'),
749
+ exposes.binary('input', ea.STATE_GET, true, false).withEndpoint('l2').withDescription('State of input 2'),
750
+ exposes.binary('input', ea.STATE_GET, true, false).withEndpoint('l3').withDescription('State of input 3'),
751
+ exposes.binary('input', ea.STATE_GET, true, false).withEndpoint('l4').withDescription('State of input 4'),
752
+ exposes.switch().withState('state', true, 'On/off state of switch 1').withEndpoint('l11'),
753
+ exposes.switch().withState('state', true, 'On/off state of switch 2').withEndpoint('l12'),
754
+ ],
755
+ configure: async (device, coordinatorEndpoint, logger) => {
756
+ const options = {manufacturerCode: 4117};
757
+
758
+ const ep2 = device.getEndpoint(112);
759
+ await reporting.bind(ep2, coordinatorEndpoint, ['genBinaryInput', 'genBasic']);
760
+ await reporting.presentValue(ep2, {min: 0});
761
+ await ep2.read('genBasic', [0x8000, 0x8010, 0x8020], options);
762
+
763
+ const ep3 = device.getEndpoint(113);
764
+ await reporting.bind(ep3, coordinatorEndpoint, ['genBinaryInput']);
765
+ await reporting.presentValue(ep3, {min: 0});
766
+
767
+ const ep4 = device.getEndpoint(114);
768
+ await reporting.bind(ep4, coordinatorEndpoint, ['genBinaryInput']);
769
+ await reporting.presentValue(ep4, {min: 0});
770
+
771
+ const ep5 = device.getEndpoint(115);
772
+ await reporting.bind(ep5, coordinatorEndpoint, ['genBinaryInput']);
773
+ await reporting.presentValue(ep5, {min: 0});
774
+
775
+ const ep6 = device.getEndpoint(116);
776
+ await reporting.bind(ep6, coordinatorEndpoint, ['genOnOff', 'genBinaryInput']);
777
+ await reporting.onOff(ep6);
778
+
779
+ const ep7 = device.getEndpoint(117);
780
+ await reporting.bind(ep7, coordinatorEndpoint, ['genOnOff']);
781
+ await reporting.onOff(ep7);
782
+ },
783
+
784
+ endpoint: (device) => {
785
+ return {'l1': 112, 'l2': 113, 'l3': 114, 'l4': 115, 'l11': 116, 'l12': 117};
786
+ },
787
+ },
721
788
  ];
@@ -1988,7 +1988,7 @@ module.exports = [
1988
1988
  fromZigbee: [fz.battery, fz.occupancy, fz.temperature, fz.occupancy_timeout, fz.illuminance,
1989
1989
  fz.hue_motion_sensitivity, fz.hue_motion_led_indication],
1990
1990
  exposes: [e.temperature(), e.occupancy(), e.battery(), e.illuminance_lux(), e.illuminance(),
1991
- exposes.enum('motion_sensitivity', ea.ALL, ['low', 'medium', 'high']),
1991
+ exposes.enum('motion_sensitivity', ea.ALL, ['low', 'medium', 'high', 'very_high', 'max']),
1992
1992
  exposes.binary('led_indication', ea.ALL, true, false).withDescription('Blink green LED on motion detection'),
1993
1993
  exposes.numeric('occupancy_timeout', ea.ALL).withUnit('second').withValueMin(0).withValueMax(65535)],
1994
1994
  toZigbee: [tz.occupancy_timeout, tz.hue_motion_sensitivity, tz.hue_motion_led_indication],
@@ -2021,7 +2021,7 @@ module.exports = [
2021
2021
  fromZigbee: [fz.battery, fz.occupancy, fz.temperature, fz.illuminance, fz.occupancy_timeout,
2022
2022
  fz.hue_motion_sensitivity, fz.hue_motion_led_indication],
2023
2023
  exposes: [e.temperature(), e.occupancy(), e.battery(), e.illuminance_lux(), e.illuminance(),
2024
- exposes.enum('motion_sensitivity', ea.ALL, ['low', 'medium', 'high']),
2024
+ exposes.enum('motion_sensitivity', ea.ALL, ['low', 'medium', 'high', 'very_high', 'max']),
2025
2025
  exposes.binary('led_indication', ea.ALL, true, false).withDescription('Blink green LED on motion detection'),
2026
2026
  exposes.numeric('occupancy_timeout', ea.ALL).withUnit('second').withValueMin(0).withValueMax(65535)],
2027
2027
  toZigbee: [tz.occupancy_timeout, tz.hue_motion_sensitivity, tz.hue_motion_led_indication],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.640",
3
+ "version": "14.0.641",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [