zigbee-herdsman-converters 15.0.51 → 15.0.53

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/lidl.js CHANGED
@@ -484,6 +484,7 @@ module.exports = [
484
484
  {
485
485
  fingerprint: [
486
486
  {modelID: 'TS011F', manufacturerName: '_TZ3000_wzauvbcs'}, // EU
487
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_oznonj5q'},
487
488
  {modelID: 'TS011F', manufacturerName: '_TZ3000_1obwwnmq'},
488
489
  {modelID: 'TS011F', manufacturerName: '_TZ3000_4uf3d0ax'}, // FR
489
490
  {modelID: 'TS011F', manufacturerName: '_TZ3000_vzopcetz'}, // CZ
package/devices/owon.js CHANGED
@@ -94,14 +94,16 @@ module.exports = [
94
94
  description: 'Smart plug',
95
95
  fromZigbee: [fz.on_off, fz.metering],
96
96
  toZigbee: [tz.on_off],
97
+ exposes: [e.switch(), e.power(), e.energy()],
97
98
  configure: async (device, coordinatorEndpoint, logger) => {
98
99
  const endpoint = device.getEndpoint(1);
99
100
  await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'seMetering']);
100
101
  await reporting.onOff(endpoint);
101
102
  await reporting.readMeteringMultiplierDivisor(endpoint);
102
- await reporting.instantaneousDemand(endpoint, {min: 5, max: constants.repInterval.MINUTES_5, change: 2});
103
+ await reporting.instantaneousDemand(endpoint, {min: 5, max: constants.repInterval.MINUTES_5, change: 2}); // divider 1000: 2W
104
+ await reporting.currentSummDelivered(endpoint, {min: 5, max: constants.repInterval.MINUTES_5,
105
+ change: [10, 10]}); // divider 1000: 0,01kWh
103
106
  },
104
- exposes: [e.switch(), e.power(), e.energy()],
105
107
  },
106
108
  {
107
109
  zigbeeModel: ['WSP404'],
@@ -110,14 +112,16 @@ module.exports = [
110
112
  description: 'Smart plug',
111
113
  fromZigbee: [fz.on_off, fz.metering],
112
114
  toZigbee: [tz.on_off],
115
+ exposes: [e.switch(), e.power(), e.energy()],
113
116
  configure: async (device, coordinatorEndpoint, logger) => {
114
117
  const endpoint = device.getEndpoint(1);
115
118
  await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'seMetering']);
116
119
  await reporting.onOff(endpoint);
117
120
  await reporting.readMeteringMultiplierDivisor(endpoint);
118
- await reporting.instantaneousDemand(endpoint, {min: 5, max: constants.repInterval.MINUTES_5, change: 2});
121
+ await reporting.instantaneousDemand(endpoint, {min: 5, max: constants.repInterval.MINUTES_5, change: 2}); // divider 1000: 2W
122
+ await reporting.currentSummDelivered(endpoint, {min: 5, max: constants.repInterval.MINUTES_5,
123
+ change: [10, 10]}); // divider 1000: 0,01kWh
119
124
  },
120
- exposes: [e.switch(), e.power(), e.energy()],
121
125
  },
122
126
  {
123
127
  zigbeeModel: ['CB432'],
@@ -591,6 +591,13 @@ module.exports = [
591
591
  description: 'Hue Flourish white and color ambiance table light with Bluetooth',
592
592
  extend: philips.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
593
593
  },
594
+ {
595
+ zigbeeModel: ['915005988401'],
596
+ model: '915005988401',
597
+ vendor: 'Philips',
598
+ description: 'Hue Gradient light tube compact black',
599
+ extend: philips.extend.light_onoff_brightness_colortemp_color_gradient({colorTempRange: [153, 500]}),
600
+ },
594
601
  {
595
602
  zigbeeModel: ['LCG002', '929003047701', '929003047701', '929003526202_01', ' 929003526202_02', '929003526202_03'],
596
603
  model: '929001953101',
@@ -617,7 +624,7 @@ module.exports = [
617
624
  model: '8718699688820',
618
625
  vendor: 'Philips',
619
626
  description: 'Hue Filament Standard A60/E27 bluetooth',
620
- extend: philips.extend.light_onoff_brightness(),
627
+ extend: philips.extend.light_onoff_brightness({disableHueEffects: false}),
621
628
  },
622
629
  {
623
630
  zigbeeModel: ['LWA021'],
package/devices/sinope.js CHANGED
@@ -797,7 +797,9 @@ module.exports = [
797
797
  await reporting.thermostatTemperature(endpoint);
798
798
  await reporting.thermostatPIHeatingDemand(endpoint);
799
799
  await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
800
-
800
+ try {
801
+ await reporting.readMeteringMultiplierDivisor(endpoint);
802
+ } catch (error) {/* Do nothing*/}
801
803
  try {
802
804
  await reporting.currentSummDelivered(endpoint, {min: 10, max: 303, change: [1, 1]});
803
805
  } catch (error) {/* Do nothing*/}
@@ -15,9 +15,10 @@ module.exports = [
15
15
  ota: ota.zigbeeOTA,
16
16
  fromZigbee: [fz.on_off, fz.battery],
17
17
  toZigbee: [tz.on_off, tz.ignore_transition],
18
- meta: {battery: {dontDividePercentage: true}},
19
18
  exposes: [e.switch(), e.battery(), e.battery_voltage()],
20
19
  configure: async (device, coordinatorEndpoint, logger) => {
20
+ const endpoint = device.getEndpoint(1);
21
+ await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
21
22
  device.powerSource = 'Battery';
22
23
  device.save();
23
24
  },
@@ -69,6 +70,8 @@ module.exports = [
69
70
  ota: ota.zigbeeOTA,
70
71
  exposes: [e.water_leak(), e.battery_low(), e.battery(), e.battery_voltage()],
71
72
  configure: async (device, coordinatorEndpoint, logger) => {
73
+ const endpoint = device.getEndpoint(1);
74
+ await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
72
75
  device.powerSource = 'Battery';
73
76
  device.save();
74
77
  },
@@ -83,6 +86,8 @@ module.exports = [
83
86
  ota: ota.zigbeeOTA,
84
87
  exposes: [e.occupancy(), e.battery_low(), e.battery(), e.battery_voltage()],
85
88
  configure: async (device, coordinatorEndpoint, logger) => {
89
+ const endpoint = device.getEndpoint(1);
90
+ await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
86
91
  device.powerSource = 'Battery';
87
92
  device.save();
88
93
  },
@@ -95,9 +100,10 @@ module.exports = [
95
100
  fromZigbee: [fz.ias_contact_alarm_1, fz.battery],
96
101
  toZigbee: [],
97
102
  ota: ota.zigbeeOTA,
98
- meta: {battery: {dontDividePercentage: true}},
99
103
  exposes: [e.contact(), e.battery_low(), e.battery(), e.battery_voltage()],
100
104
  configure: async (device, coordinatorEndpoint, logger) => {
105
+ const endpoint = device.getEndpoint(1);
106
+ await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
101
107
  device.powerSource = 'Battery';
102
108
  device.save();
103
109
  },
@@ -144,6 +150,8 @@ module.exports = [
144
150
  ota: ota.zigbeeOTA,
145
151
  exposes: [e.battery(), e.battery_low(), e.battery_voltage(), e.action(['single', 'double', 'long'])],
146
152
  configure: async (device, coordinatorEndpoint, logger) => {
153
+ const endpoint = device.getEndpoint(1);
154
+ await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
147
155
  device.powerSource = 'Battery';
148
156
  device.save();
149
157
  },
package/devices/tuya.js CHANGED
@@ -2042,8 +2042,25 @@ module.exports = [
2042
2042
  },
2043
2043
  },
2044
2044
  {
2045
- fingerprint: tuya.fingerprint('TS0003', ['_TZ3000_vsasbzkf', '_TZ3000_odzoiovu', '_TZ3000_4o16jdca']),
2046
- model: 'TS0003_switch_module',
2045
+ fingerprint: [{modelID: 'TS0003', manufacturerName: '_TZ3000_4o16jdca'}],
2046
+ model: 'TS0003_switch_module_2',
2047
+ vendor: 'TuYa',
2048
+ description: '3 gang switch module',
2049
+ extend: tuya.extend.switch({endpoints: ['l1', 'l2', 'l3']}),
2050
+ endpoint: (device) => {
2051
+ return {'l1': 1, 'l2': 2, 'l3': 3};
2052
+ },
2053
+ meta: {multiEndpoint: true},
2054
+ configure: async (device, coordinatorEndpoint, logger) => {
2055
+ await tuya.configureMagicPacket(device, coordinatorEndpoint, logger);
2056
+ await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
2057
+ await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
2058
+ await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ['genOnOff']);
2059
+ },
2060
+ },
2061
+ {
2062
+ fingerprint: tuya.fingerprint('TS0003', ['_TZ3000_vsasbzkf', '_TZ3000_odzoiovu']),
2063
+ model: 'TS0003_switch_module_1',
2047
2064
  vendor: 'TuYa',
2048
2065
  description: '3 gang switch module',
2049
2066
  whiteLabel: [{vendor: 'OXT', model: 'SWTZ23'}],
@@ -2998,7 +3015,8 @@ module.exports = [
2998
3015
  vendor: 'TuYa',
2999
3016
  description: '1 gang switch module - (without neutral)',
3000
3017
  extend: tuya.extend.switch({switchType: true}),
3001
- whiteLabel: [{vendor: 'AVATTO', model: '1gang N-ZLWSM01'}, {vendor: 'SMATRUL', model: 'TMZ02L-16A-W'}],
3018
+ whiteLabel: [{vendor: 'AVATTO', model: '1gang N-ZLWSM01'}, {vendor: 'SMATRUL', model: 'TMZ02L-16A-W'},
3019
+ {vendor: 'Aubess', model: 'TMZ02L-16A-B'}],
3002
3020
  configure: async (device, coordinatorEndpoint, logger) => {
3003
3021
  await tuya.configureMagicPacket(device, coordinatorEndpoint, logger);
3004
3022
  await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
package/devices/ubisys.js CHANGED
@@ -874,10 +874,10 @@ module.exports = [
874
874
  tz.thermostat_local_temperature, tz.thermostat_system_mode,
875
875
  tz.thermostat_weekly_schedule, tz.thermostat_clear_weekly_schedule,
876
876
  tz.thermostat_running_mode, ubisys.tz.thermostat_vacation_mode,
877
- tz.thermostat_pi_heating_demand,
877
+ tz.thermostat_pi_heating_demand, tz.battery_percentage_remaining,
878
878
  ],
879
879
  exposes: [
880
- e.battery(),
880
+ e.battery().withAccess(ea.STATE_GET),
881
881
  exposes.climate()
882
882
  .withSystemMode(['off', 'heat'], ea.ALL)
883
883
  .withRunningMode(['off', 'heat'])
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "15.0.51",
3
+ "version": "15.0.53",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [