zigbee-herdsman-converters 14.0.575 → 14.0.576

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.
@@ -23,4 +23,12 @@ module.exports = [
23
23
  description: 'ZigBee Light Link wireless electronic ballast color temperature',
24
24
  extend: extend.light_onoff_brightness_colortemp(),
25
25
  },
26
+ {
27
+ zigbeeModel: ['Kobold'],
28
+ model: 'BN-600110',
29
+ vendor: 'Dresden Elektronik',
30
+ description: 'Zigbee 3.0 dimm actuator',
31
+ extend: extend.light_onoff_brightness(),
32
+ ota: ota.zigbeeOTA,
33
+ },
26
34
  ];
package/devices/heiman.js CHANGED
@@ -699,4 +699,21 @@ module.exports = [
699
699
  },
700
700
  exposes: [e.battery(), e.action(['pressed']), e.battery_low(), e.tamper()],
701
701
  },
702
+ {
703
+ zigbeeModel: ['HS3AQ-EFA-3.0'],
704
+ model: 'HS3AQ',
705
+ vendor: 'HEIMAN',
706
+ description: 'Smart air quality monitor',
707
+ fromZigbee: [fz.co2, fz.humidity, fz.battery, fz.temperature],
708
+ toZigbee: [],
709
+ configure: async (device, coordinatorEndpoint, logger) => {
710
+ const endpoint = device.getEndpoint(1);
711
+ await reporting.bind(endpoint, coordinatorEndpoint, ['msRelativeHumidity', 'genPowerCfg', 'msTemperatureMeasurement', 'msCO2']);
712
+ await reporting.batteryPercentageRemaining(endpoint);
713
+ await reporting.temperature(endpoint, {min: 1, max: constants.repInterval.MINUTES_5, change: 10}); // 0.1 degree change
714
+ await reporting.humidity(endpoint, {min: 1, max: constants.repInterval.MINUTES_5, change: 10}); // 0.1 % change
715
+ await reporting.co2(endpoint, {min: 5, max: constants.repInterval.MINUTES_5, change: 0.00005}); // 50 ppm change
716
+ },
717
+ exposes: [e.co2(), e.battery(), e.humidity(), e.temperature()],
718
+ },
702
719
  ];
@@ -0,0 +1,21 @@
1
+ const tz = require('../converters/toZigbee');
2
+ const exposes = require('../lib/exposes');
3
+ const extend = require('../lib/extend');
4
+ const e = exposes.presets;
5
+
6
+ const extendData = extend.light_onoff_brightness_colortemp_color({colorTempRange: [250, 454]});
7
+
8
+
9
+ module.exports = [
10
+ {
11
+ zigbeeModel: ['ZB-CL01'],
12
+ model: 'ZB-CL01',
13
+ vendor: 'KURVIA',
14
+ description: 'GU10 GRBWC built from AliExpress',
15
+ exposes: extendData.exposes.concat(e.power_on_behavior()),
16
+ toZigbee: [tz.on_off].concat(extendData.toZigbee),
17
+ fromZigbee: extendData.fromZigbee,
18
+ meta: {applyRedFix: true, enhancedHue: false},
19
+ },
20
+ ];
21
+
@@ -21,6 +21,31 @@ const fzLocal = {
21
21
  }
22
22
  },
23
23
  },
24
+ led_trading_9125: {
25
+ cluster: 'greenPower',
26
+ type: ['commandNotification', 'commandCommisioningNotification'],
27
+ convert: (model, msg, publish, options, meta) => {
28
+ const commandID = msg.data.commandID;
29
+ if (utils.hasAlreadyProcessedMessage(msg, msg.data.frameCounter, `${msg.device.ieeeAddr}_${commandID}`)) return;
30
+ if (commandID === 104) return; // Skip commisioning command.
31
+
32
+ // Button 1: A0 (top left)
33
+ // Button 2: A1 (bottom left)
34
+ // Button 3: B0 (top right)
35
+ // Button 4: B1 (bottom right)
36
+ const lookup = {
37
+ 0x10: 'press_1', 0x14: 'release_1', 0x11: 'press_2', 0x15: 'release_2', 0x13: 'press_3', 0x17: 'release_3',
38
+ 0x12: 'press_4', 0x16: 'release_4', 0x64: 'press_1_and_3', 0x65: 'release_1_and_3', 0x62: 'press_2_and_4',
39
+ 0x63: 'release_2_and_4',
40
+ };
41
+
42
+ if (!lookup.hasOwnProperty(commandID)) {
43
+ meta.logger.error(`LED Trading 9125: missing command '${commandID}'`);
44
+ } else {
45
+ return {action: lookup[commandID]};
46
+ }
47
+ },
48
+ },
24
49
  };
25
50
 
26
51
  module.exports = [
@@ -66,4 +91,15 @@ module.exports = [
66
91
  await reporting.bind(device.getEndpoint(5), coordinatorEndpoint, ['genOnOff']);
67
92
  },
68
93
  },
94
+ {
95
+ fingerprint: [{modelID: 'GreenPower_2', ieeeAddr: /^0x00000000017.....$/, manufId: null}],
96
+ model: '9125',
97
+ vendor: 'LED Trading',
98
+ description: 'FOH smart switch',
99
+ whiteLabel: [{vendor: 'Sunricher', model: 'SR-ZGP2801K4-FOH-E'}],
100
+ fromZigbee: [fzLocal.led_trading_9125],
101
+ toZigbee: [],
102
+ exposes: [e.action(['press_1', 'release_1', 'press_2', 'release_2', 'press_3', 'release_3', 'press_4', 'release_4',
103
+ 'press_1_and_3', 'release_1_and_3', 'press_2_and_4', 'release_2_and_4'])],
104
+ },
69
105
  ];
package/devices/osram.js CHANGED
@@ -83,7 +83,7 @@ module.exports = [
83
83
  model: 'AC03642',
84
84
  vendor: 'OSRAM',
85
85
  description: 'SMART+ CLASSIC A 60 TW',
86
- extend: extend.ledvance.light_onoff_brightness_colortemp(),
86
+ extend: extend.ledvance.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
87
87
  ota: ota.ledvance,
88
88
  },
89
89
  {
package/devices/tuya.js CHANGED
@@ -908,8 +908,7 @@ module.exports = [
908
908
  },
909
909
  {
910
910
  fingerprint: [{modelID: 'TS0215A', manufacturerName: '_TZ3000_4fsgukof'},
911
- {modelID: 'TS0215A', manufacturerName: '_TZ3000_wr2ucaj9'},
912
- {modelID: 'TS0215A', manufacturerName: '_TZ3000_tj4pwzzm'}],
911
+ {modelID: 'TS0215A', manufacturerName: '_TZ3000_wr2ucaj9'}],
913
912
  model: 'TS0215A_sos',
914
913
  vendor: 'TuYa',
915
914
  description: 'SOS button',
@@ -919,6 +918,7 @@ module.exports = [
919
918
  },
920
919
  {
921
920
  fingerprint: [{modelID: 'TS0215A', manufacturerName: '_TZ3000_p6ju8myv'},
921
+ {modelID: 'TS0215A', manufacturerName: '_TZ3000_tj4pwzzm'},
922
922
  {modelID: 'TS0215A', manufacturerName: '_TZ3000_fsiepnrh'}],
923
923
  model: 'TS0215A_remote',
924
924
  vendor: 'TuYa',
@@ -1026,7 +1026,6 @@ module.exports = [
1026
1026
  fingerprint: [
1027
1027
  {modelID: 'TS0201', manufacturerName: '_TZ3000_bguser20'},
1028
1028
  {modelID: 'TS0201', manufacturerName: '_TZ3000_fllyghyj'},
1029
- {modelID: 'TS0201', manufacturerName: '_TZ3000_dowj6gyi'},
1030
1029
  {modelID: 'TS0201', manufacturerName: '_TZ3000_yd2e749y'},
1031
1030
  {modelID: 'TS0201', manufacturerName: '_TZ3000_6uzkisv2'},
1032
1031
  ],
@@ -1041,6 +1040,21 @@ module.exports = [
1041
1040
  await endpoint.read('genBasic', ['manufacturerName', 'zclVersion', 'appVersion', 'modelId', 'powerSource', 0xfffe]);
1042
1041
  },
1043
1042
  },
1043
+ {
1044
+ fingerprint: [
1045
+ {modelID: 'TS0201', manufacturerName: '_TZ3000_dowj6gyi'},
1046
+ ],
1047
+ model: 'IH-K009',
1048
+ vendor: 'TuYa',
1049
+ description: 'Temperature & humidity sensor',
1050
+ fromZigbee: [fzLocal.TS0201_battery, fz.temperature, fz.humidity],
1051
+ toZigbee: [],
1052
+ exposes: [e.battery(), e.temperature(), e.humidity(), e.battery_voltage()],
1053
+ configure: async (device, coordinatorEndpoint, logger) => {
1054
+ const endpoint = device.getEndpoint(1);
1055
+ await endpoint.read('genBasic', ['manufacturerName', 'zclVersion', 'appVersion', 'modelId', 'powerSource', 0xfffe]);
1056
+ },
1057
+ },
1044
1058
  {
1045
1059
  fingerprint: [{modelID: 'SM0201', manufacturerName: '_TYZB01_cbiezpds'}],
1046
1060
  model: 'SM0201',
package/lib/ota/ubisys.js CHANGED
@@ -1,5 +1,5 @@
1
- const firmwareHtmlPageUrl = 'https://www.ubisys.de/en/support/firmware/';
2
- const imageRegex = /[^"\s]*\/10F2-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{8})\S*ota1?\.zigbee/gi;
1
+ const firmwareHtmlPageUrl = 'http://fwu.ubisys.de/smarthome/OTA/release/index';
2
+ const imageRegex = /10F2-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{8})\S*ota1?\.zigbee/gi;
3
3
  const assert = require('assert');
4
4
  const url = require('url');
5
5
  const common = require('./common');
package/lib/reporting.js CHANGED
@@ -94,6 +94,10 @@ module.exports = {
94
94
  const p = payload('measuredValue', 10, repInterval.HOUR, 100, overrides);
95
95
  await endpoint.configureReporting('msTemperatureMeasurement', p);
96
96
  },
97
+ co2: async (endpoint, overrides) => {
98
+ const p = payload('measuredValue', 10, repInterval.HOUR, 1, overrides);
99
+ await endpoint.configureReporting('msCO2', p);
100
+ },
97
101
  deviceTemperature: async (endpoint, overrides) => {
98
102
  const p = payload('currentTemperature', 300, repInterval.HOUR, 1, overrides);
99
103
  await endpoint.configureReporting('genDeviceTempCfg', p);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.575",
3
+ "version": "14.0.576",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [