zigbee-herdsman-converters 14.0.681 → 14.0.682

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.
@@ -3435,14 +3435,22 @@ const converters = {
3435
3435
  cluster: 'hvacThermostat',
3436
3436
  type: ['readResponse'],
3437
3437
  convert: (model, msg, publish, options, meta) => {
3438
- const lookup = {0: 'unoccupied', 1: 'occupied'};
3439
- const lookup1 = {0: 'on_demand', 1: 'sensing'};
3440
3438
  const result = {};
3439
+ const cycleOutputLookup = {15: '15_sec', 300: '5_min', 600: '10_min',
3440
+ 900: '15_min', 1200: '20_min', 1800: '30_min', 65535: 'off'};
3441
3441
  if (msg.data.hasOwnProperty('1024')) {
3442
+ const lookup = {0: 'unoccupied', 1: 'occupied'};
3442
3443
  result.thermostat_occupancy = lookup[msg.data['1024']];
3443
3444
  }
3445
+ if (msg.data.hasOwnProperty('1025')) {
3446
+ result.main_cycle_output = cycleOutputLookup[msg.data['1025']];
3447
+ }
3444
3448
  if (msg.data.hasOwnProperty('1026')) {
3445
- result.backlight_auto_dim = lookup1[msg.data['1026']];
3449
+ const lookup = {0: 'on_demand', 1: 'sensing'};
3450
+ result.backlight_auto_dim = lookup[msg.data['1026']];
3451
+ }
3452
+ if (msg.data.hasOwnProperty('1028')) {
3453
+ result.aux_cycle_output = cycleOutputLookup[msg.data['1028']];
3446
3454
  }
3447
3455
  return result;
3448
3456
  },
package/devices/awox.js CHANGED
@@ -172,5 +172,6 @@ module.exports = [
172
172
  vendor: 'AwoX',
173
173
  description: 'LED light with color temperature',
174
174
  extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
175
+ whiteLabel: [{vendor: 'EGLO', model: '900316'}, {vendor: 'EGLO', model: '900317'}, {vendor: 'EGLO', model: '900053'}],
175
176
  },
176
177
  ];
package/devices/sinope.js CHANGED
@@ -132,6 +132,64 @@ module.exports = [
132
132
  await reporting.temperature(endpoint, {min: 1, max: 0xFFFF}); // Disable default reporting
133
133
  },
134
134
  },
135
+ {
136
+ zigbeeModel: ['TH1123ZB-G2'],
137
+ model: 'TH1123ZB-G2',
138
+ vendor: 'Sinopé',
139
+ description: 'Zigbee line volt thermostat',
140
+ meta: {thermostat: {dontMapPIHeatingDemand: true}},
141
+ fromZigbee: [fz.legacy.sinope_thermostat_att_report, fz.legacy.hvac_user_interface, fz.electrical_measurement, fz.metering,
142
+ fz.ignore_temperature_report, fz.legacy.sinope_thermostat_state, fz.sinope_thermostat],
143
+ toZigbee: [tz.thermostat_local_temperature, tz.thermostat_occupied_heating_setpoint, tz.thermostat_temperature_display_mode,
144
+ tz.thermostat_keypad_lockout, tz.thermostat_system_mode, tz.thermostat_running_state,
145
+ tz.sinope_thermostat_time, tz.sinope_thermostat_enable_outdoor_temperature, tz.sinope_thermostat_outdoor_temperature,
146
+ tz.thermostat_pi_heating_demand, tz.acvoltage, tz.sinope_time_format],
147
+ exposes: [
148
+ exposes.climate()
149
+ .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5)
150
+ .withLocalTemperature()
151
+ .withSystemMode(['off', 'heat'], ea.ALL, 'Mode of the thermostat')
152
+ .withPiHeatingDemand(ea.STATE_GET)
153
+ .withRunningState(['idle', 'heat']),
154
+ exposes.enum('keypad_lockout', ea.ALL, ['unlock', 'lock1'])
155
+ .withDescription('Enables or disables the device buttons'),
156
+ e.power(), e.current(), e.voltage().withAccess(ea.STATE_GET), e.energy(),
157
+ ],
158
+
159
+ configure: async (device, coordinatorEndpoint, logger) => {
160
+ const endpoint = device.getEndpoint(1);
161
+ const binds = [
162
+ 'genBasic', 'genIdentify', 'genGroups', 'hvacThermostat', 'hvacUserInterfaceCfg',
163
+ 'msTemperatureMeasurement', 'haElectricalMeasurement', 'seMetering',
164
+ 'manuSpecificSinope'];
165
+ await reporting.bind(endpoint, coordinatorEndpoint, binds);
166
+ await reporting.thermostatTemperature(endpoint);
167
+ await reporting.thermostatPIHeatingDemand(endpoint);
168
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
169
+
170
+ try {
171
+ await reporting.thermostatSystemMode(endpoint);
172
+ } catch (error) {/* Not all support this */}
173
+ try {
174
+ await reporting.thermostatRunningState(endpoint);
175
+ } catch (error) {/* Not all support this */}
176
+
177
+ await reporting.readMeteringMultiplierDivisor(endpoint);
178
+ await reporting.currentSummDelivered(endpoint, {min: 10, max: 303, change: [1, 1]});
179
+ await reporting.readEletricalMeasurementMultiplierDivisors(endpoint);
180
+ try {
181
+ await reporting.activePower(endpoint, {min: 10, max: 305, change: 1});
182
+ } catch (error) {/* Do nothing*/}
183
+ try {
184
+ await reporting.rmsCurrent(endpoint, {min: 10, max: 306, change: 100}); // divider 1000: 0.1Arms
185
+ } catch (error) {/* Do nothing*/}
186
+ try {
187
+ await reporting.rmsVoltage(endpoint, {min: 10, max: 307, change: 5}); // divider 10: 0.5Vrms
188
+ } catch (error) {/* Do nothing*/}
189
+
190
+ await reporting.temperature(endpoint, {min: 1, max: 0xFFFF}); // Disable default reporting
191
+ },
192
+ },
135
193
  {
136
194
  zigbeeModel: ['TH1300ZB'],
137
195
  model: 'TH1300ZB',
package/devices/sonoff.js CHANGED
@@ -179,6 +179,28 @@ module.exports = [
179
179
  }
180
180
  },
181
181
  },
182
+ {
183
+ zigbeeModel: ['SNZB-02D'],
184
+ model: 'SNZB-02D',
185
+ vendor: 'SONOFF',
186
+ description: 'Temperature and humidity sensor with screen',
187
+ exposes: [e.battery(), e.temperature(), e.humidity(), e.battery_voltage()],
188
+ fromZigbee: [fz.temperature, fz.humidity, fz.battery],
189
+ toZigbee: [],
190
+ configure: async (device, coordinatorEndpoint, logger) => {
191
+ try {
192
+ const endpoint = device.getEndpoint(1);
193
+ const bindClusters = ['msTemperatureMeasurement', 'msRelativeHumidity', 'genPowerCfg'];
194
+ await reporting.bind(endpoint, coordinatorEndpoint, bindClusters);
195
+ await reporting.temperature(endpoint, {min: 5, max: constants.repInterval.MINUTES_30, change: 20});
196
+ await reporting.humidity(endpoint);
197
+ await reporting.batteryVoltage(endpoint);
198
+ await reporting.batteryPercentageRemaining(endpoint);
199
+ } catch (e) {/* Not required for all: https://github.com/Koenkk/zigbee2mqtt/issues/5562 */
200
+ logger.error(`Configure failed: ${e}`);
201
+ }
202
+ },
203
+ },
182
204
  {
183
205
  fingerprint: [
184
206
  {type: 'EndDevice', manufacturerName: 'eWeLink', modelID: '66666', endpoints: [
package/devices/tuya.js CHANGED
@@ -2028,6 +2028,7 @@ module.exports = [
2028
2028
  '_TZE200_mudxchsu', /* model: 'TV05-ZG curve', vendor: 'TuYa' */
2029
2029
  '_TZE200_7yoranx2', /* model: 'TV01-ZB', vendor: 'Moes' */
2030
2030
  '_TZE200_kds0pmmv', /* model: 'TV01-ZB', vendor: 'Moes' */
2031
+ '_TZE200_bvu2wnxz', /* model: 'ME167', vendor: 'Avatto' */
2031
2032
  ]),
2032
2033
  model: 'TV02-Zigbee',
2033
2034
  vendor: 'TuYa',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.681",
3
+ "version": "14.0.682",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [