zigbee-herdsman-converters 15.0.87 → 15.0.88

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.
package/devices/awox.js CHANGED
@@ -70,6 +70,7 @@ module.exports = [
70
70
  whiteLabel: [{vendor: 'EGLO', model: '12229'}],
71
71
  },
72
72
  {
73
+ zigbeeModel: ['ERCU_Zm'],
73
74
  fingerprint: [
74
75
  {
75
76
  type: 'EndDevice', manufacturerName: 'AwoX', modelID: 'TLSR82xx', powerSource: 'Battery', endpoints: [
package/devices/ikea.js CHANGED
@@ -1115,6 +1115,7 @@ module.exports = [
1115
1115
  description: 'Vindstyrka air quality and humidity sensor',
1116
1116
  fromZigbee: [fz.temperature, fz.humidity, fz.pm25, ikea.fz.ikea_voc_index],
1117
1117
  toZigbee: [],
1118
+ ota: ota.zigbeeOTA,
1118
1119
  exposes: [e.temperature(), e.humidity(), e.pm25(), e.voc_index().withDescription('Sensirion VOC index')],
1119
1120
  configure: async (device, coordinatorEndpoint, logger) => {
1120
1121
  const ep = device.getEndpoint(1);
@@ -173,7 +173,7 @@ module.exports = [
173
173
  vendor: 'Lonsonho',
174
174
  description: 'Zigbee 3.0 LED-bulb, RGBW LED',
175
175
  extend: extend.light_onoff_brightness_colortemp_color(
176
- {disableColorTempStartup: true, colorTempRange: [153, 500], disableEffect: true}),
176
+ {disableColorTempStartup: true, colorTempRange: [153, 500], disableEffect: true, disablePowerOnBehavior: true}),
177
177
  },
178
178
  {
179
179
  fingerprint: [{modelID: 'TS0003', manufacturerName: '_TYZB01_zsl6z0pw'}, {modelID: 'TS0003', manufacturerName: '_TYZB01_uqkphoed'}],
package/devices/niko.js CHANGED
@@ -311,4 +311,35 @@ module.exports = [
311
311
  },
312
312
  exposes: [e.cover_position()],
313
313
  },
314
+ {
315
+ zigbeeModel: ['Battery switch, 4 button'],
316
+ model: '552-720X4',
317
+ vendor: 'Niko',
318
+ description: 'Battery switch with 4 buttons',
319
+ meta: {multiEndpoint: true},
320
+ fromZigbee: [fz.command_on, fz.command_off, fz.identify, fz.battery, fz.command_move, fz.command_stop],
321
+ toZigbee: [],
322
+ endpoint: (device) => {
323
+ return {top_left: 1, bottom_left: 2, top_right: 3, bottom_right: 4};
324
+ },
325
+ configure: async (device, coordinatorEndpoint, logger) => {
326
+ const ep1 = device.getEndpoint(1);
327
+ await reporting.bind(ep1, coordinatorEndpoint, ['genGroups', 'genOnOff', 'genLevelCtrl']);
328
+ await reporting.batteryPercentageRemaining(ep1);
329
+ const ep2 = device.getEndpoint(2);
330
+ await reporting.bind(ep2, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
331
+ const ep3 = device.getEndpoint(3);
332
+ await reporting.bind(ep3, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
333
+ const ep4 = device.getEndpoint(4);
334
+ await reporting.bind(ep4, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
335
+ },
336
+ exposes: [
337
+ e.action(['on_top_left', 'off_top_left', 'on_bottom_left', 'off_bottom_left', 'on_top_right', 'off_top_right',
338
+ 'on_bottom_right', 'off_bottom_right', 'brightness_move_up_top_left', 'brightness_move_up_bottom_left',
339
+ 'brightness_move_up_top_right', 'brightness_move_up_bottom_right', 'brightness_move_down_top_left',
340
+ 'brightness_move_down_bottom_left', 'brightness_move_down_top_right', 'brightness_move_down_bottom_right',
341
+ 'brightness_stop_top_left', 'brightness_stop_bottom_left', 'brightness_stop_top_right', 'brightness_stop_bottom_right']),
342
+ e.battery(),
343
+ ],
344
+ },
314
345
  ];
@@ -1077,4 +1077,30 @@ module.exports = [
1077
1077
  toZigbee: [],
1078
1078
  exposes: [e.battery_low(), e.contact(), e.tamper()],
1079
1079
  },
1080
+ {
1081
+ zigbeeModel: ['EKO07259'],
1082
+ model: 'EKO07259',
1083
+ vendor: 'Schneider Electric',
1084
+ description: 'Smart thermostat',
1085
+ fromZigbee: [fz.stelpro_thermostat, fz.metering, fz.schneider_pilot_mode, fz.wiser_device_info, fz.hvac_user_interface],
1086
+ toZigbee: [tz.thermostat_occupied_heating_setpoint, tz.thermostat_system_mode, tz.thermostat_running_state,
1087
+ tz.thermostat_local_temperature, tz.thermostat_control_sequence_of_operation, tz.schneider_pilot_mode,
1088
+ tz.schneider_thermostat_keypad_lockout, tz.thermostat_temperature_display_mode],
1089
+ exposes: [exposes.binary('keypad_lockout', ea.STATE_SET, 'lock1', 'unlock')
1090
+ .withDescription('Enables/disables physical input on the device'),
1091
+ exposes.enum('schneider_pilot_mode', ea.ALL, ['contactor', 'pilot']).withDescription('Controls piloting mode'),
1092
+ exposes.enum('temperature_display_mode', ea.ALL, ['celsius', 'fahrenheit'])
1093
+ .withDescription('The temperature format displayed on the thermostat screen'),
1094
+ exposes.climate().withSetpoint('occupied_heating_setpoint', 4, 30, 0.5).withLocalTemperature()
1095
+ .withSystemMode(['off', 'heat']).withRunningState(['idle', 'heat']).withPiHeatingDemand()],
1096
+ configure: async (device, coordinatorEndpoint, logger) => {
1097
+ const endpoint1 = device.getEndpoint(1);
1098
+ const endpoint2 = device.getEndpoint(2);
1099
+ await reporting.bind(endpoint1, coordinatorEndpoint, ['hvacThermostat']);
1100
+ await reporting.thermostatPIHeatingDemand(endpoint1);
1101
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint1);
1102
+ await reporting.bind(endpoint2, coordinatorEndpoint, ['seMetering']);
1103
+ await endpoint1.read('hvacUserInterfaceCfg', ['keypadLockout', 'tempDisplayMode']);
1104
+ },
1105
+ },
1080
1106
  ];
@@ -197,4 +197,12 @@ module.exports = [
197
197
  extend: extend.ledvance.light_onoff_brightness_colortemp_color({colorTempRange: [142, 555]}),
198
198
  ota: ota.ledvance,
199
199
  },
200
+ {
201
+ zigbeeModel: ['BR30 W 10 year'],
202
+ model: '74453',
203
+ vendor: 'Sylvania',
204
+ description: 'LIGHTIFY LED soft white BR30',
205
+ extend: extend.ledvance.light_onoff_brightness(),
206
+ ota: ota.ledvance,
207
+ },
200
208
  ];
package/devices/tuya.js CHANGED
@@ -3287,6 +3287,28 @@ module.exports = [
3287
3287
  await reporting.bind(device.getEndpoint(4), coordinatorEndpoint, ['genOnOff']);
3288
3288
  },
3289
3289
  },
3290
+ {
3291
+ zigbeeModel: ['TS0726'],
3292
+ model: 'TS0726',
3293
+ vendor: 'TuYa',
3294
+ description: '4 gang switch with neutral wire',
3295
+ fromZigbee: [fz.on_off, tuya.fz.power_on_behavior_2, fz.ignore_basic_report],
3296
+ toZigbee: [tz.on_off, tuya.tz.power_on_behavior_2],
3297
+ exposes: [e.switch().withEndpoint('l1'), e.power_on_behavior().withEndpoint('l1'), e.switch().withEndpoint('l2'),
3298
+ e.power_on_behavior().withEndpoint('l2'), e.switch().withEndpoint('l3'), e.power_on_behavior().withEndpoint('l3'),
3299
+ e.switch().withEndpoint('l4'), e.power_on_behavior().withEndpoint('l4')],
3300
+ endpoint: (device) => {
3301
+ return {'l1': 1, 'l2': 2, 'l3': 3, 'l4': 4};
3302
+ },
3303
+ meta: {multiEndpoint: true},
3304
+ configure: async (device, coordinatorEndpoint, logger) => {
3305
+ await tuya.configureMagicPacket(device, coordinatorEndpoint, logger);
3306
+ await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3307
+ await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
3308
+ await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ['genOnOff']);
3309
+ await reporting.bind(device.getEndpoint(4), coordinatorEndpoint, ['genOnOff']);
3310
+ },
3311
+ },
3290
3312
  {
3291
3313
  fingerprint: [{modelID: 'TS0006', manufacturerName: '_TYZB01_ltundz9m'},
3292
3314
  {modelID: 'TS0006', manufacturerName: '_TZ3000_jyupj3fw'}],
package/devices/xiaomi.js CHANGED
@@ -776,12 +776,12 @@ module.exports = [
776
776
  model: 'ZNLDP12LM',
777
777
  vendor: 'Xiaomi',
778
778
  description: 'Aqara smart LED bulb',
779
- toZigbee: xiaomiExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}).toZigbee.concat([
780
- tz.xiaomi_light_power_outage_memory]),
781
- fromZigbee: xiaomiExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}).fromZigbee,
779
+ toZigbee: xiaomiExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 370], disablePowerOnBehavior: true})
780
+ .toZigbee.concat([tz.xiaomi_light_power_outage_memory]),
781
+ fromZigbee: xiaomiExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 370], disablePowerOnBehavior: true}).fromZigbee,
782
782
  // power_on_behavior 'toggle' does not seem to be supported
783
- exposes: xiaomiExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}).exposes.concat([
784
- e.power_outage_memory().withAccess(ea.STATE_SET)]),
783
+ exposes: xiaomiExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 370], disablePowerOnBehavior: true})
784
+ .exposes.concat([e.power_outage_memory().withAccess(ea.STATE_SET)]),
785
785
  ota: ota.zigbeeOTA,
786
786
  },
787
787
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "15.0.87",
3
+ "version": "15.0.88",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [