zigbee-herdsman-converters 14.0.526 → 14.0.527

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.
@@ -121,6 +121,15 @@ module.exports = [
121
121
  extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
122
122
  ota: ota.zigbeeOTA,
123
123
  },
124
+ {
125
+ zigbeeModel: ['915005996601'],
126
+ model: '915005996601',
127
+ vendor: 'Philips',
128
+ description: 'Hue white ambiance ceiling white Enrave M with Bluetooth',
129
+ meta: {turnsOffAtBrightness1: true},
130
+ extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
131
+ ota: ota.zigbeeOTA,
132
+ },
124
133
  {
125
134
  zigbeeModel: ['915005996801', '915005996901'],
126
135
  model: '915005996901',
@@ -2368,6 +2377,17 @@ module.exports = [
2368
2377
  vendor: 'Philips',
2369
2378
  description: 'Hue Being',
2370
2379
  extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
2380
+ ota: ota.zigbeeOTA,
2381
+ meta: {turnsOffAtBrightness1: true},
2382
+ },
2383
+ {
2384
+ zigbeeModel: ['4100448U9'],
2385
+ model: '4100448U9',
2386
+ vendor: 'Philips',
2387
+ description: 'Hue Being',
2388
+ extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
2389
+ ota: ota.zigbeeOTA,
2390
+ meta: {turnsOffAtBrightness1: true},
2371
2391
  },
2372
2392
  {
2373
2393
  zigbeeModel: ['1743630P7', '1743630V7'],
package/devices/tuya.js CHANGED
@@ -2373,5 +2373,37 @@ module.exports = [
2373
2373
  .withDescription('PIR keep time in seconds (refresh and update only while active)'),
2374
2374
  ],
2375
2375
  },
2376
-
2376
+ {
2377
+ fingerprint: [{modelID: 'TS004F', manufacturerName: '_TZ3000_kjfzuycl'}],
2378
+ model: 'ERS-10TZBVB-AA',
2379
+ vendor: 'TuYa',
2380
+ description: 'Smart button',
2381
+ fromZigbee: [
2382
+ fz.command_step, fz.command_on, fz.command_off, fz.command_move_to_color_temp, fz.command_move_to_level,
2383
+ fz.tuya_multi_action, fz.tuya_operation_mode, fz.battery,
2384
+ ],
2385
+ toZigbee: [tz.tuya_operation_mode],
2386
+ exposes: [
2387
+ e.action([
2388
+ 'single', 'double', 'hold', 'brightness_move_to_level', 'color_temperature_move',
2389
+ 'brightness_step_up', 'brightness_step_down', 'on', 'off',
2390
+ ]),
2391
+ e.battery(),
2392
+ exposes.enum('operation_mode', ea.ALL, ['command', 'event']).withDescription(
2393
+ 'Operation mode: "command" - for group control, "event" - for clicks'),
2394
+ ],
2395
+ configure: async (device, coordinatorEndpoint, logger) => {
2396
+ const endpoint = device.getEndpoint(1);
2397
+ await endpoint.read('genBasic', [0x0004, 0x000, 0x0001, 0x0005, 0x0007, 0xfffe]);
2398
+ await endpoint.write('genOnOff', {'tuyaOperationMode': 1});
2399
+ await endpoint.read('genOnOff', ['tuyaOperationMode']);
2400
+ try {
2401
+ await endpoint.read(0xE001, [0xD011]);
2402
+ } catch (err) {/* do nothing */}
2403
+ await endpoint.read('genPowerCfg', ['batteryVoltage', 'batteryPercentageRemaining']);
2404
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
2405
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
2406
+ await reporting.batteryPercentageRemaining(endpoint);
2407
+ },
2408
+ },
2377
2409
  ];
package/lib/exposes.js CHANGED
@@ -327,7 +327,6 @@ class Cover extends Base {
327
327
  super();
328
328
  this.type = 'cover';
329
329
  this.features = [];
330
- this.features.push(new Enum('state', access.STATE_SET, ['OPEN', 'CLOSE', 'STOP']));
331
330
  }
332
331
 
333
332
  withPosition() {
@@ -341,6 +340,12 @@ class Cover extends Base {
341
340
  this.features.push(new Numeric('tilt', access.ALL).withValueMin(0).withValueMax(100).withDescription('Tilt of this cover'));
342
341
  return this;
343
342
  }
343
+
344
+ withState(property='state', access=a.STATE_SET, values=['OPEN', 'CLOSE', 'STOP']) {
345
+ assert(!this.endpoint, 'Cannot add feature after adding endpoint');
346
+ this.features.push(new Enum(property, access, values));
347
+ return this;
348
+ }
344
349
  }
345
350
 
346
351
  class Fan extends Base {
@@ -532,9 +537,9 @@ module.exports = {
532
537
  comfort_temperature: () => new Numeric('comfort_temperature', access.STATE_SET).withUnit('°C').withDescription('Comfort temperature').withValueMin(0).withValueMax(30),
533
538
  consumer_connected: () => new Binary('consumer_connected', access.STATE, true, false).withDescription('Indicates whether a plug is physically attached. Device does not have to pull power or even be connected electrically (state of this binary switch can be ON even if main power switch is OFF)'),
534
539
  contact: () => new Binary('contact', access.STATE, false, true).withDescription('Indicates if the contact is closed (= true) or open (= false)'),
535
- cover_position: () => new Cover().withPosition(),
536
- cover_position_tilt: () => new Cover().withPosition().withTilt(),
537
- cover_tilt: () => new Cover().withTilt(),
540
+ cover_position: () => new Cover().withState().withPosition(),
541
+ cover_position_tilt: () => new Cover().withState().withPosition().withTilt(),
542
+ cover_tilt: () => new Cover().withState().withTilt(),
538
543
  cpu_temperature: () => new Numeric('cpu_temperature', access.STATE).withUnit('°C').withDescription('Temperature of the CPU'),
539
544
  cube_side: (name) => new Numeric(name, access.STATE).withDescription('Side of the cube').withValueMin(0).withValueMax(6).withValueStep(1),
540
545
  current: () => new Numeric('current', access.STATE).withUnit('A').withDescription('Instantaneous measured electrical current'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.526",
3
+ "version": "14.0.527",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [