zigbee-herdsman-converters 14.0.546 → 14.0.547

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.
@@ -7474,23 +7474,6 @@ const converters = {
7474
7474
  }
7475
7475
  },
7476
7476
  },
7477
- woox_R7060: {
7478
- cluster: 'manuSpecificTuya',
7479
- type: ['commandActiveStatusReport'],
7480
- convert: (model, msg, publish, options, meta) => {
7481
- const dpValue = tuya.firstDpValue(msg, meta, 'woox_R7060');
7482
- const dp = dpValue.dp;
7483
- const value = tuya.getDataValue(dpValue);
7484
-
7485
- switch (dp) {
7486
- case tuya.dataPoints.wooxSwitch:
7487
- return {state: value === 2 ? 'OFF' : 'ON'};
7488
- default:
7489
- meta.logger.warn(`zigbee-herdsman-converters:WooxR7060: Unrecognized DP #${
7490
- dp} with data ${JSON.stringify(dpValue)}`);
7491
- }
7492
- },
7493
- },
7494
7477
  idlock: {
7495
7478
  cluster: 'closuresDoorLock',
7496
7479
  type: ['attributeReport', 'readResponse'],
@@ -24,13 +24,13 @@ module.exports = [
24
24
  .withDescription('On/off state of the switch'),
25
25
  e.child_lock(),
26
26
  e.window_detection(),
27
+ e.away_mode(),
27
28
  exposes.climate()
28
29
  .withSetpoint('current_heating_setpoint', 5, 35, 1, ea.STATE_SET)
29
30
  .withLocalTemperature(ea.STATE)
30
31
  .withLocalTemperatureCalibration(-9, 9, 1, ea.STATE_SET)
31
32
  .withSystemMode(['heat', 'auto'], ea.STATE_SET)
32
33
  .withRunningState(['idle', 'heat'], ea.STATE)
33
- .withAwayMode()
34
34
  .withSensor(['internal', 'external', 'both']),
35
35
  exposes.numeric('external_temperature', ea.STATE)
36
36
  .withUnit('°C')
package/devices/ikea.js CHANGED
@@ -292,10 +292,10 @@ module.exports = [
292
292
  extend: tradfriExtend.light_onoff_brightness_colortemp(),
293
293
  },
294
294
  {
295
- zigbeeModel: ['TRADFRIbulbE27WSglobeopal1055lm', 'TRADFRIbulbE26WSglobeopal1100lm'],
295
+ zigbeeModel: ['TRADFRIbulbE27WSglobeopal1055lm', 'TRADFRIbulbE26WSglobeopal1100lm', 'TRADFRIbulbE26WSglobeopal1160lm'],
296
296
  model: 'LED2003G10',
297
297
  vendor: 'IKEA',
298
- description: 'TRADFRI LED bulb E26/27 1100/1055 lumen, dimmable, white spectrum, opal white',
298
+ description: 'TRADFRI LED bulb E26/27 1100/1055/1160 lumen, dimmable, white spectrum, opal white',
299
299
  extend: tradfriExtend.light_onoff_brightness_colortemp(),
300
300
  },
301
301
  {
package/devices/immax.js CHANGED
@@ -97,10 +97,10 @@ module.exports = [
97
97
  weeklyScheduleFirstDayDpId: tuya.dataPoints.schedule,
98
98
  },
99
99
  },
100
- exposes: [e.battery_low(), e.child_lock(), exposes.climate()
100
+ exposes: [e.battery_low(), e.child_lock(), e.away_mode(), exposes.climate()
101
101
  .withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
102
102
  .withLocalTemperature(ea.STATE).withSystemMode(['off', 'heat', 'auto'], ea.STATE_SET)
103
- .withRunningState(['idle', 'heat'], ea.STATE).withAwayMode()],
103
+ .withRunningState(['idle', 'heat'], ea.STATE)],
104
104
  },
105
105
  {
106
106
  zigbeeModel: ['Bulb-RGB+CCT-ZB3.0'],
package/devices/niko.js CHANGED
@@ -234,4 +234,18 @@ module.exports = [
234
234
  await reporting.brightness(endpoint);
235
235
  },
236
236
  },
237
+ {
238
+ zigbeeModel: ['Connectable motor control,3A'],
239
+ model: '552-72301',
240
+ vendor: 'Niko',
241
+ description: 'Connectable motor control',
242
+ fromZigbee: [fz.cover_position_tilt, fz.battery],
243
+ toZigbee: [tz.cover_state, tz.cover_position_tilt],
244
+ configure: async (device, coordinatorEndpoint, logger) => {
245
+ const endpoint = device.getEndpoint(1);
246
+ await reporting.bind(endpoint, coordinatorEndpoint, ['closuresWindowCovering']);
247
+ await reporting.currentPositionLiftPercentage(endpoint);
248
+ },
249
+ exposes: [e.cover_position()],
250
+ },
237
251
  ];
@@ -42,13 +42,12 @@ module.exports = [
42
42
  const endpoint = device.getEndpoint(1);
43
43
  await reporting.bind(endpoint, coordinatorEndpoint, ['genBasic']);
44
44
  },
45
- exposes: [e.battery_low(), e.window_detection(), e.child_lock(),
45
+ exposes: [e.battery_low(), e.window_detection(), e.child_lock(), e.away_mode(),
46
46
  exposes.binary('heating', ea.STATE, 'ON', 'OFF').withDescription('Device valve is open or closed (heating or not)'),
47
47
  exposes.climate()
48
48
  .withSetpoint('current_heating_setpoint', 5, 30, 0.5, ea.STATE_SET).withLocalTemperature(ea.STATE)
49
49
  .withSystemMode(['off', 'heat', 'auto'], ea.STATE_SET)
50
50
  // Range is -6 - 6 and step 1: https://github.com/Koenkk/zigbee2mqtt/issues/11777
51
- .withLocalTemperatureCalibration(-6, 6, 1, ea.STATE_SET)
52
- .withAwayMode()],
51
+ .withLocalTemperatureCalibration(-6, 6, 1, ea.STATE_SET)],
53
52
  },
54
53
  ];
package/devices/tuya.js CHANGED
@@ -1359,7 +1359,7 @@ module.exports = [
1359
1359
  'to the desired temperature. If you want TRV to properly regulate the temperature you need to use mode `auto` ' +
1360
1360
  'instead setting the desired temperature.')
1361
1361
  .withLocalTemperatureCalibration(-9, 9, 1, ea.STATE_SET)
1362
- .withAwayMode().withPreset(['schedule', 'manual', 'boost', 'complex', 'comfort', 'eco'])
1362
+ .withPreset(['schedule', 'manual', 'boost', 'complex', 'comfort', 'eco'])
1363
1363
  .withRunningState(['idle', 'heat'], ea.STATE),
1364
1364
  e.auto_lock(), e.away_mode(), e.away_preset_days(), e.boost_time(), e.comfort_temperature(), e.eco_temperature(), e.force(),
1365
1365
  e.max_temperature(), e.min_temperature(), e.away_preset_temperature(),
@@ -1439,10 +1439,9 @@ module.exports = [
1439
1439
  weeklyScheduleFirstDayDpId: tuya.dataPoints.schedule,
1440
1440
  },
1441
1441
  },
1442
- exposes: [e.child_lock(), exposes.climate().withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
1442
+ exposes: [e.child_lock(), e.away_mode(), exposes.climate().withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
1443
1443
  .withLocalTemperature(ea.STATE)
1444
- .withSystemMode(['off', 'heat', 'auto'], ea.STATE_SET).withRunningState(['idle', 'heat'], ea.STATE)
1445
- .withAwayMode()],
1444
+ .withSystemMode(['off', 'heat', 'auto'], ea.STATE_SET).withRunningState(['idle', 'heat'], ea.STATE)],
1446
1445
  },
1447
1446
  {
1448
1447
  fingerprint: [{modelID: 'dpplnsn\u0000', manufacturerName: '_TYST11_2dpplnsn'},
@@ -1463,9 +1462,9 @@ module.exports = [
1463
1462
  },
1464
1463
  },
1465
1464
  exposes: [
1466
- e.battery_low(), e.child_lock(), exposes.climate()
1465
+ e.battery_low(), e.child_lock(), e.away_mode(), exposes.climate()
1467
1466
  .withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
1468
- .withLocalTemperature(ea.STATE).withAwayMode()
1467
+ .withLocalTemperature(ea.STATE)
1469
1468
  .withSystemMode(['off', 'heat', 'auto'], ea.STATE_SET).withRunningState(['idle', 'heat'], ea.STATE),
1470
1469
  ],
1471
1470
  },
package/devices/woox.js CHANGED
@@ -52,6 +52,25 @@ const fzLocal = {
52
52
  return result;
53
53
  },
54
54
  },
55
+ woox_R7060: {
56
+ cluster: 'manuSpecificTuya',
57
+ type: ['commandActiveStatusReport'],
58
+ convert: (model, msg, publish, options, meta) => {
59
+ const dpValue = tuya.firstDpValue(msg, meta, 'woox_R7060');
60
+ const dp = dpValue.dp;
61
+ const value = tuya.getDataValue(dpValue);
62
+
63
+ switch (dp) {
64
+ case tuya.dataPoints.wooxSwitch:
65
+ return {state: value === 2 ? 'OFF' : 'ON'};
66
+ case 101:
67
+ return {battery: value};
68
+ default:
69
+ meta.logger.warn(`zigbee-herdsman-converters:WooxR7060: Unrecognized DP #${
70
+ dp} with data ${JSON.stringify(dpValue)}`);
71
+ }
72
+ },
73
+ },
55
74
  };
56
75
 
57
76
  const tzLocal = {
@@ -82,10 +101,10 @@ module.exports = [
82
101
  model: 'R7060',
83
102
  vendor: 'Woox',
84
103
  description: 'Smart garden irrigation control',
85
- fromZigbee: [fz.on_off, fz.ignore_tuya_set_time, fz.ignore_basic_report, fz.woox_R7060, fz.battery],
104
+ fromZigbee: [fz.on_off, fz.ignore_tuya_set_time, fz.ignore_basic_report, fzLocal.woox_R7060],
86
105
  toZigbee: [tz.on_off],
87
106
  onEvent: tuya.onEventSetTime,
88
- exposes: [e.switch(), e.battery(), e.battery_voltage()],
107
+ exposes: [e.switch(), e.battery()],
89
108
  meta: {disableDefaultResponse: true},
90
109
  },
91
110
  {
package/lib/exposes.js CHANGED
@@ -427,12 +427,6 @@ class Climate extends Base {
427
427
  return this;
428
428
  }
429
429
 
430
- withAwayMode() {
431
- assert(!this.endpoint, 'Cannot add feature after adding endpoint');
432
- this.features.push(new Binary('away_mode', access.STATE_SET, 'ON', 'OFF').withDescription('Away mode'));
433
- return this;
434
- }
435
-
436
430
  withPiHeatingDemand(access=a.STATE) {
437
431
  assert(!this.endpoint, 'Cannot add feature after adding endpoint');
438
432
  this.features.push(new Numeric('pi_heating_demand', access).withValueMin(0).withValueMax(100).withUnit('%').withDescription('Position of the valve (= demanded heat) where 0% is fully closed and 100% is fully open'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.546",
3
+ "version": "14.0.547",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [