zigbee-herdsman-converters 14.0.655 → 14.0.657

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.
@@ -4098,9 +4098,10 @@ const converters = {
4098
4098
  const dp = dpValue.dp; // First we get the data point ID
4099
4099
  const value = tuya.getDataValue(dpValue);
4100
4100
  const presetLookup = {0: 'auto', 1: 'manual', 2: 'off', 3: 'on'};
4101
+ const systemModeLookup = {0: 'auto', 1: 'auto', 2: 'off', 3: 'heat'};
4101
4102
  switch (dp) {
4102
4103
  case tuya.dataPoints.haozeeSystemMode:
4103
- return {preset: presetLookup[value]};
4104
+ return {preset: presetLookup[value], system_mode: systemModeLookup[value]};
4104
4105
  case tuya.dataPoints.haozeeHeatingSetpoint:
4105
4106
  return {current_heating_setpoint: (value / 10).toFixed(1)};
4106
4107
  case tuya.dataPoints.haozeeLocalTemp:
@@ -3514,13 +3514,24 @@ const converters = {
3514
3514
  return tuya.sendDataPointRaw(entity, tuya.dataPoints.moesSschedule, payload);
3515
3515
  },
3516
3516
  },
3517
- haozee_thermostat_system_mode: {
3517
+ haozee_thermostat_preset: {
3518
3518
  key: ['preset'],
3519
3519
  convertSet: async (entity, key, value, meta) => {
3520
3520
  const lookup = {'auto': 0, 'manual': 1, 'off': 2, 'on': 3};
3521
3521
  await tuya.sendDataPointEnum(entity, tuya.dataPoints.haozeeSystemMode, lookup[value]);
3522
3522
  },
3523
3523
  },
3524
+ haozee_thermostat_system_mode: {
3525
+ key: ['system_mode'],
3526
+ convertSet: async (entity, key, value, meta) => {
3527
+ // mapping 'heat' system mode to 100% heating (same as preset 'ON'),
3528
+ // mapping 'auto' system mode to heating up to the set point temperature (same as preset 'MANUAL')
3529
+ // mapping 'off' system mode to idle (same as preset 'OFF')
3530
+ // programmed schedule can be enabled by using preset mode 'AUTO' instead of 'MANUAL'
3531
+ const lookup = {'auto': 1, 'off': 2, 'heat': 3};
3532
+ await tuya.sendDataPointEnum(entity, tuya.dataPoints.haozeeSystemMode, lookup[value]);
3533
+ },
3534
+ },
3524
3535
  haozee_thermostat_current_heating_setpoint: {
3525
3536
  key: ['current_heating_setpoint'],
3526
3537
  convertSet: async (entity, key, value, meta) => {
@@ -208,7 +208,8 @@ module.exports = [
208
208
  {
209
209
  zigbeeModel: ['ZB-RGBCW'],
210
210
  fingerprint: [{modelID: 'ZB-CL01', manufacturerName: 'eWeLight'}, {modelID: 'ZB-CL01', manufacturerName: 'eWeLink'},
211
- {modelID: 'ZB-CL02', manufacturerName: 'eWeLight'}, {modelID: 'ZB-CL01', manufacturerName: 'eWeLi\u0001\u0000\u0010'}],
211
+ {modelID: 'ZB-CL02', manufacturerName: 'eWeLight'}, {modelID: 'ZB-CL01', manufacturerName: 'eWeLi\u0001\u0000\u0010'},
212
+ {modelID: 'Z102LG03-1', manufacturerName: 'eWeLink'}],
212
213
  model: 'ZB-RGBCW',
213
214
  vendor: 'Lonsonho',
214
215
  description: 'Zigbee 3.0 LED-bulb, RGBW LED',
@@ -116,10 +116,9 @@ module.exports = [
116
116
  model: '106-03',
117
117
  vendor: 'Plugwise',
118
118
  description: 'Tom thermostatic radiator valve',
119
- fromZigbee: [fz.thermostat, fz.temperature, fz.battery, fzLocal.plugwise_radiator_valve],
119
+ fromZigbee: [fz.temperature, fz.battery, fzLocal.plugwise_radiator_valve],
120
+ // sytem_mode and occupied_heating_setpoint is not supported: https://github.com/Koenkk/zigbee2mqtt.io/pull/1666
120
121
  toZigbee: [
121
- tz.thermostat_system_mode,
122
- tz.thermostat_occupied_heating_setpoint,
123
122
  tz.thermostat_pi_heating_demand,
124
123
  tzLocal.plugwise_valve_position,
125
124
  tzLocal.plugwise_push_force,
@@ -134,10 +133,9 @@ module.exports = [
134
133
  await reporting.thermostatPIHeatingDemand(endpoint);
135
134
  },
136
135
  exposes: [e.battery(),
137
- exposes.climate()
138
- .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5, ea.ALL).withLocalTemperature(ea.STATE)
139
- .withSystemMode(['off', 'auto'], ea.ALL)
140
- .withPiHeatingDemand(ea.STATE_GET),
136
+ exposes.numeric('pi_heating_demand', ea.STATE_GET).withValueMin(0).withValueMax(100).withUnit('%')
137
+ .withDescription('Position of the valve (= demanded heat) where 0% is fully closed and 100% is fully open'),
138
+ exposes.numeric('local_temperature', ea.STATE).withUnit('°C').withDescription('Current temperature measured on the device'),
141
139
  exposes.numeric('valve_position', ea.ALL).withValueMin(0).withValueMax(100)
142
140
  .withDescription('Directly control the radiator valve. The values range from 0 (valve ' +
143
141
  'closed) to 100 (valve fully open)'),
@@ -127,6 +127,28 @@ module.exports = [
127
127
  'brightness_move_up', 'brightness_move_down', 'brightness_move_stop', 'brightness_step_up', 'brightness_step_down',
128
128
  'recall_1', 'recall_2'])],
129
129
  },
130
+ {
131
+ zigbeeModel: ['ZGRC-KEY-012'],
132
+ model: 'SR-ZG9001K12-DIM-Z5',
133
+ vendor: 'Sunricher',
134
+ description: '5 zone remote and dimmer',
135
+ fromZigbee: [fz.command_on, fz.command_off, fz.command_move, fz.command_stop, fz.battery],
136
+ toZigbee: [],
137
+ exposes: [e.battery(), e.action([
138
+ 'on_1', 'off_1', 'brightness_move_up_1', 'brightness_move_down_1', 'brightness_stop_1',
139
+ 'on_2', 'off_2', 'brightness_move_up_2', 'brightness_move_down_2', 'brightness_stop_2',
140
+ 'on_3', 'off_3', 'brightness_move_up_3', 'brightness_move_down_3', 'brightness_stop_3',
141
+ 'on_4', 'off_4', 'brightness_move_up_4', 'brightness_move_down_4', 'brightness_stop_4',
142
+ 'on_5', 'off_5', 'brightness_move_up_5', 'brightness_move_down_5', 'brightness_stop_5'])],
143
+ meta: {multiEndpoint: true, battery: {dontDividePercentage: true}},
144
+ configure: async (device, coordinatorEndpoint, logger) => {
145
+ await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
146
+ await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
147
+ await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ['genOnOff']);
148
+ await reporting.bind(device.getEndpoint(4), coordinatorEndpoint, ['genOnOff']);
149
+ await reporting.bind(device.getEndpoint(5), coordinatorEndpoint, ['genOnOff']);
150
+ },
151
+ },
130
152
  {
131
153
  zigbeeModel: ['ZGRC-KEY-013'],
132
154
  model: 'SR-ZG9001K12-DIM-Z4',
package/devices/tuya.js CHANGED
@@ -924,7 +924,8 @@ module.exports = [
924
924
  {modelID: 'TS0505B', manufacturerName: '_TZ3210_xr5m6kfg'},
925
925
  {modelID: 'TS0505B', manufacturerName: '_TZ3210_bf175wi4'},
926
926
  {modelID: 'TS0505B', manufacturerName: '_TZB210_3zfp8mki'},
927
- {modelID: 'TS0505B', manufacturerName: '_TZ3000_y1vbo44x'}],
927
+ {modelID: 'TS0505B', manufacturerName: '_TZ3000_y1vbo44x'},
928
+ {modelID: 'TS0505B', manufacturerName: '_TZ3210_mny0zvkm'}],
928
929
  model: 'TS0505B',
929
930
  vendor: 'TuYa',
930
931
  description: 'Zigbee RGB+CCT light',
@@ -2258,7 +2259,7 @@ module.exports = [
2258
2259
  tz.haozee_thermostat_system_mode, tz.haozee_thermostat_current_heating_setpoint, tz.haozee_thermostat_boost_heating,
2259
2260
  tz.haozee_thermostat_boost_heating_countdown, tz.haozee_thermostat_window_detection,
2260
2261
  tz.haozee_thermostat_child_lock, tz.haozee_thermostat_temperature_calibration, tz.haozee_thermostat_max_temperature,
2261
- tz.haozee_thermostat_min_temperature,
2262
+ tz.haozee_thermostat_min_temperature, tz.haozee_thermostat_preset,
2262
2263
  ],
2263
2264
  exposes: [
2264
2265
  e.battery(), e.child_lock(), e.max_temperature(), e.min_temperature(),
@@ -2272,7 +2273,8 @@ module.exports = [
2272
2273
  'When the set temperature is lower than the "minimum temperature", the valve is closed (forced closed). ' +
2273
2274
  'AUTO MODE ⏱ - In this mode, the device executes a preset week programming temperature time and temperature. ' +
2274
2275
  'ON - In this mode, the thermostat stays open ' +
2275
- 'OFF - In this mode, the thermostat stays closed'),
2276
+ 'OFF - In this mode, the thermostat stays closed')
2277
+ .withSystemMode(['auto', 'heat', 'off'], ea.STATE_SET),
2276
2278
  exposes.composite('programming_mode').withDescription('Auto MODE ⏱ - In this mode, ' +
2277
2279
  'the device executes a preset week programming temperature time and temperature. ')
2278
2280
  .withFeature(exposes.text('monday_schedule', ea.STATE))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.655",
3
+ "version": "14.0.657",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -38,7 +38,7 @@
38
38
  "buffer-crc32": "^0.2.13",
39
39
  "https-proxy-agent": "^5.0.1",
40
40
  "tar-stream": "^2.2.0",
41
- "zigbee-herdsman": "^0.14.66"
41
+ "zigbee-herdsman": "^0.14.68"
42
42
  },
43
43
  "devDependencies": {
44
44
  "eslint": "*",