zigbee-herdsman-converters 14.0.380 → 14.0.381

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.
@@ -7928,6 +7928,34 @@ const converters = {
7928
7928
  return result;
7929
7929
  },
7930
7930
  },
7931
+ command_stop_move_raw: {
7932
+ cluster: 'lightingColorCtrl',
7933
+ type: 'raw',
7934
+ convert: (model, msg, publish, options, meta) => {
7935
+ // commandStopMove without params
7936
+ if (msg.data[2] !== 71) return;
7937
+ if (hasAlreadyProcessedMessage(msg)) return;
7938
+ const movestop = 'stop';
7939
+ const action = postfixWithEndpointName(`hue_${movestop}`, msg, model);
7940
+ const payload = {action};
7941
+ addActionGroup(payload, msg, model);
7942
+ return payload;
7943
+ },
7944
+ },
7945
+ tuya_multi_action: {
7946
+ cluster: 'genOnOff',
7947
+ type: 'raw',
7948
+ convert: (model, msg, publish, options, meta) => {
7949
+ if (hasAlreadyProcessedMessage(msg, msg.data[2])) return;
7950
+ let action;
7951
+ if (msg.data[2] == 253) {
7952
+ action = {0: 'single', 1: 'double', 2: 'hold'}[msg.data[3]];
7953
+ } else if (msg.data[2] == 252) {
7954
+ action = {0: 'rotate_right', 1: 'rotate_left'}[msg.data[3]];
7955
+ }
7956
+ return {action};
7957
+ },
7958
+ },
7931
7959
  // #endregion
7932
7960
 
7933
7961
  // #region Ignore converters (these message dont need parsing).
@@ -8086,6 +8114,15 @@ const converters = {
8086
8114
  type: ['raw'],
8087
8115
  convert: (model, msg, publish, options, meta) => null,
8088
8116
  },
8117
+ ignore_metering: {
8118
+ /**
8119
+ * When using this converter also add the following to the configure method of the device:
8120
+ * await readMeteringPowerConverterAttributes(endpoint);
8121
+ */
8122
+ cluster: 'seMetering',
8123
+ type: ['attributeReport', 'readResponse'],
8124
+ convert: (model, msg, publish, options, meta) => null,
8125
+ },
8089
8126
  // #endregion
8090
8127
  };
8091
8128
 
package/devices/adeo.js CHANGED
@@ -6,6 +6,18 @@ const tz = require('../converters/toZigbee');
6
6
  const e = exposes.presets;
7
7
 
8
8
  module.exports = [
9
+ {
10
+ zigbeeModel: ['LDSENK01F'],
11
+ model: 'LDSENK01F',
12
+ vendor: 'ADEO',
13
+ description: '10A EU smart plug',
14
+ extend: extend.switch(),
15
+ configure: async (device, coordinatorEndpoint, logger) => {
16
+ const endpoint = device.getEndpoint(1);
17
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
18
+ await reporting.onOff(endpoint);
19
+ },
20
+ },
9
21
  {
10
22
  zigbeeModel: ['LXEK-5'],
11
23
  model: 'HR-C99C-Z-C045',
package/devices/tuya.js CHANGED
@@ -12,7 +12,7 @@ const utils = require('../lib/utils');
12
12
 
13
13
  const TS011Fplugs = ['_TZ3000_5f43h46b', '_TZ3000_cphmq0q7', '_TZ3000_dpo1ysak', '_TZ3000_ew3ldmgx', '_TZ3000_gjnozsaz',
14
14
  '_TZ3000_jvzvulen', '_TZ3000_mraovvmm', '_TZ3000_nfnmi125', '_TZ3000_ps3dmato', '_TZ3000_w0qqde0g', '_TZ3000_u5u4cakc',
15
- '_TZ3000_rdtixbnu', '_TZ3000_typdpbpg', '_TZ3000_v1pdxuqq', '_TZ3000_bfn1w0mm'];
15
+ '_TZ3000_rdtixbnu', '_TZ3000_typdpbpg', '_TZ3000_v1pdxuqq'];
16
16
 
17
17
  const tzLocal = {
18
18
  TS0504B_color: {
@@ -203,7 +203,8 @@ module.exports = [
203
203
  fingerprint: [{modelID: 'TS0501B', manufacturerName: '_TZ3000_4whigl8i'},
204
204
  {modelID: 'TS0501B', manufacturerName: '_TZ3210_4whigl8i'},
205
205
  {modelID: 'TS0501B', manufacturerName: '_TZ3210_9q49basr'},
206
- {modelID: 'TS0501B', manufacturerName: '_TZ3210_grnwgegn'}],
206
+ {modelID: 'TS0501B', manufacturerName: '_TZ3210_grnwgegn'},
207
+ {modelID: 'TS0501B', manufacturerName: '_TZ3210_wuheofsg'}],
207
208
  model: 'TS0501B',
208
209
  description: 'Zigbee light',
209
210
  vendor: 'TuYa',
@@ -1121,7 +1122,8 @@ module.exports = [
1121
1122
  {
1122
1123
  fingerprint: [
1123
1124
  {modelID: 'TS011F', manufacturerName: '_TZ3000_hyfvrar3'},
1124
- {modelID: 'TS011F', manufacturerName: '_TZ3000_cymsnfvf'}],
1125
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_cymsnfvf'},
1126
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_bfn1w0mm'}],
1125
1127
  model: 'TS011F_plug_2',
1126
1128
  description: 'Smart plug (without power monitoring)',
1127
1129
  vendor: 'TuYa',
@@ -1836,9 +1838,29 @@ module.exports = [
1836
1838
  model: 'ERS-10TZBVK-AA',
1837
1839
  vendor: 'TuYa',
1838
1840
  description: 'Smart knob',
1839
- fromZigbee: [fz.command_step, fz.command_toggle, fz.command_move_hue],
1840
- toZigbee: [],
1841
- exposes: [e.action(['toggle', 'brightness_step_up', 'brightness_step_down'])],
1841
+ fromZigbee: [
1842
+ fz.command_step, fz.command_toggle, fz.command_move_hue, fz.command_step_color_temperature, fz.command_stop_move_raw,
1843
+ fz.tuya_multi_action, fz.tuya_operation_mode, fz.battery,
1844
+ ],
1845
+ toZigbee: [tz.tuya_operation_mode],
1846
+ exposes: [
1847
+ e.action([
1848
+ 'toggle', 'brightness_step_up', 'brightness_step_down', 'color_temperature_step_up', 'color_temperature_step_down',
1849
+ 'saturation_move', 'hue_move', 'hue_stop', 'single', 'double', 'hold', 'rotate_left', 'rotate_right',
1850
+ ]),
1851
+ exposes.numeric('action_step_size', ea.STATE).withValueMin(0).withValueMax(255),
1852
+ exposes.numeric('action_transition_time', ea.STATE).withUnit('s'),
1853
+ exposes.numeric('action_rate', ea.STATE).withValueMin(0).withValueMax(255),
1854
+ e.battery(),
1855
+ exposes.enum('operation_mode', ea.ALL, ['command', 'event']).withDescription(
1856
+ 'Operation mode: "command" - for group control, "event" - for clicks'),
1857
+ ],
1858
+ configure: async (device, coordinatorEndpoint, logger) => {
1859
+ const endpoint = device.getEndpoint(1);
1860
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
1861
+ await reporting.batteryPercentageRemaining(endpoint);
1862
+ await endpoint.read('genOnOff', ['tuyaOperationMode']);
1863
+ },
1842
1864
  },
1843
1865
  {
1844
1866
  fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_kzm5w4iz'}],
package/devices/xiaomi.js CHANGED
@@ -1402,7 +1402,8 @@ module.exports = [
1402
1402
  model: 'SSM-U01',
1403
1403
  vendor: 'Xiaomi',
1404
1404
  description: 'Aqara single switch module T1 (with neutral)',
1405
- fromZigbee: [fz.on_off, fz.metering, fz.electrical_measurement, fz.device_temperature, fz.aqara_opple],
1405
+ // Ignore energy metering reports, rely on aqara_opple: https://github.com/Koenkk/zigbee2mqtt/issues/10709
1406
+ fromZigbee: [fz.on_off, fz.electrical_measurement, fz.device_temperature, fz.aqara_opple, fz.ignore_metering],
1406
1407
  exposes: [e.switch(), e.energy(), e.power(), e.device_temperature(), e.power_outage_memory(), e.switch_type()],
1407
1408
  toZigbee: [tz.xiaomi_switch_type, tz.on_off, tz.xiaomi_switch_power_outage_memory],
1408
1409
  configure: async (device, coordinatorEndpoint, logger) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.380",
3
+ "version": "14.0.381",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.380",
3
+ "version": "14.0.381",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [