zigbee-herdsman-converters 14.0.328 → 14.0.329

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.
@@ -2822,11 +2822,21 @@ const converters = {
2822
2822
  const presetLookup = {'auto': 0, 'manual': 1, 'holiday': 3};
2823
2823
  await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvMode, presetLookup[value]);
2824
2824
  return {state: {preset: value}};}
2825
- case 'frost_protection':
2826
- await tuya.sendDataPointBool(entity, tuya.dataPoints.tvFrostDetection, value === 'ON');
2827
- break;
2828
2825
  case 'heating_stop':
2829
- await tuya.sendDataPointBool(entity, tuya.dataPoints.tvHeatingStop, value === 'ON');
2826
+ if (value == 'ON') {
2827
+ await tuya.sendDataPointBool(entity, tuya.dataPoints.tvHeatingStop, 1);
2828
+ } else {
2829
+ await tuya.sendDataPointBool(entity, tuya.dataPoints.tvHeatingStop, 0);
2830
+ await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvMode, 1 /* manual */);
2831
+ }
2832
+ break;
2833
+ case 'frost_protection':
2834
+ if (value == 'ON') {
2835
+ await tuya.sendDataPointBool(entity, tuya.dataPoints.tvFrostDetection, 1);
2836
+ } else {
2837
+ await tuya.sendDataPointBool(entity, tuya.dataPoints.tvFrostDetection, 0);
2838
+ await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvMode, 1 /* manual */);
2839
+ }
2830
2840
  break;
2831
2841
  case 'window_detection':
2832
2842
  await tuya.sendDataPointBool(entity, tuya.dataPoints.tvWindowDetection, value === 'ON');
@@ -2859,7 +2869,7 @@ const converters = {
2859
2869
  await tuya.sendDataPointValue(entity, tuya.dataPoints.tvOpenWindowTemp, value * 10);
2860
2870
  break;
2861
2871
  case 'holiday_mode_date':
2862
- await tuya.sendDataPointBitmap(entity, tuya.dataPoints.tvWorkingDayTimetvHolidayMode, value);
2872
+ await tuya.sendDataPointBitmap(entity, tuya.dataPoints.tvHolidayMode, value);
2863
2873
  break;
2864
2874
 
2865
2875
  case 'online':
package/devices/ikea.js CHANGED
@@ -753,7 +753,7 @@ module.exports = [
753
753
  extend: tradfriExtend.light_onoff_brightness_colortemp(),
754
754
  },
755
755
  {
756
- zigbeeModel: ['TRADFRI bulb GU10 CWS 345lm'],
756
+ zigbeeModel: ['TRADFRI bulb GU10 CWS 345lm', 'TRADFRI bulb GU10 CWS 380lm'],
757
757
  model: 'LED1923R5',
758
758
  vendor: 'IKEA',
759
759
  description: 'TRADFRI LED bulb GU10 345 lumen, dimmable, white spectrum, color spectrum',
@@ -31,7 +31,7 @@ module.exports = [
31
31
  model: 'AC25697',
32
32
  vendor: 'LEDVANCE',
33
33
  description: 'SMART+ CLASSIC MULTICOLOUR 60 10W E27',
34
- extend: extend.ledvance.light_onoff_brightness_colortemp_color(),
34
+ extend: extend.ledvance.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
35
35
  ota: ota.ledvance,
36
36
  },
37
37
  {
@@ -142,7 +142,7 @@ module.exports = [
142
142
  {
143
143
  zigbeeModel: ['ZB-RGBCW'],
144
144
  fingerprint: [{modelID: 'ZB-CL01', manufacturerName: 'eWeLight'}, {modelID: 'ZB-CL01', manufacturerName: 'eWeLink'},
145
- {modelID: 'ZB-CL02', manufacturerName: 'eWeLight'}],
145
+ {modelID: 'ZB-CL02', manufacturerName: 'eWeLight'}, {modelID: 'ZB-CL01', manufacturerName: 'eWeLi\u0001\u0000\u0010'}],
146
146
  model: 'ZB-RGBCW',
147
147
  vendor: 'Lonsonho',
148
148
  description: 'Zigbee 3.0 LED-bulb, RGBW LED',
package/devices/osram.js CHANGED
@@ -142,7 +142,7 @@ module.exports = [
142
142
  model: '4058075148338',
143
143
  vendor: 'OSRAM',
144
144
  description: 'LIGHTIFY LED PAR16 50 GU10 tunable white',
145
- extend: extend.ledvance.light_onoff_brightness_colortemp(),
145
+ extend: extend.ledvance.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
146
146
  ota: ota.ledvance,
147
147
  },
148
148
  {
@@ -848,7 +848,7 @@ module.exports = [
848
848
  vendor: 'Philips',
849
849
  description: 'Hue white ambiance E14',
850
850
  meta: {turnsOffAtBrightness1: true},
851
- extend: hueExtend.light_onoff_brightness_colortemp(),
851
+ extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
852
852
  ota: ota.zigbeeOTA,
853
853
  },
854
854
  {
@@ -2433,4 +2433,21 @@ module.exports = [
2433
2433
  extend: hueExtend.light_onoff_brightness(),
2434
2434
  ota: ota.zigbeeOTA,
2435
2435
  },
2436
+ {
2437
+ zigbeeModel: ['LCD003'],
2438
+ model: '8719514344723',
2439
+ vendor: 'Philips',
2440
+ description: 'Akari downlight',
2441
+ extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
2442
+ meta: {turnsOffAtBrightness1: true},
2443
+ ota: ota.zigbeeOTA,
2444
+ },
2445
+ {
2446
+ zigbeeModel: ['LWE004'],
2447
+ model: '8719514302235',
2448
+ vendor: 'Philips',
2449
+ description: 'Hue White Filament Bulb E14',
2450
+ extend: hueExtend.light_onoff_brightness(),
2451
+ ota: ota.zigbeeOTA,
2452
+ },
2436
2453
  ];
@@ -273,6 +273,7 @@ module.exports = [
273
273
  endpoint: (device) => {
274
274
  return {'l1': 3, 's1': 21, 's2': 22, 's3': 23, 's4': 24};
275
275
  },
276
+ meta: {multiEndpoint: true},
276
277
  exposes: [e.light_brightness().withLevelConfig().withEndpoint('l1'),
277
278
  exposes.numeric('ballast_minimum_level', ea.ALL).withValueMin(1).withValueMax(254)
278
279
  .withDescription('Specifies the minimum light output of the ballast')
package/devices/tuya.js CHANGED
@@ -820,7 +820,7 @@ module.exports = [
820
820
  exposes.binary('online', ea.STATE_SET, 'ON', 'OFF').withDescription('Is the device online'),
821
821
  exposes.numeric('holiday_mode_date', ea.STATE_SET).withDescription('The holiday mode( ⛱ ) will '+
822
822
  'automatically start at the set time starting point and run the holiday temperature.'),
823
- exposes.composite('programming', 'programming').withDescription('Auto Mode ⏱ - In this mode,'+
823
+ exposes.composite('programming').withDescription('Auto Mode ⏱ - In this mode,'+
824
824
  ' the device executes a preset week programming temperature time and temperature. ')
825
825
  .withFeature(exposes.text('schedule_monday', ea.STATE))
826
826
  .withFeature(exposes.text('schedule_tuesday', ea.STATE))
@@ -969,51 +969,6 @@ module.exports = [
969
969
  description: 'Smart water/gas valve',
970
970
  extend: extend.switch(),
971
971
  },
972
- {
973
- fingerprint: [
974
- {modelID: 'TS011F', manufacturerName: '_TZ3000_dpo1ysak', applicationVersion: 69},
975
- {modelID: 'TS011F', manufacturerName: '_TZ3000_cphmq0q7', applicationVersion: 69},
976
- {modelID: 'TS011F', manufacturerName: '_TZ3000_5f43h46b', applicationVersion: 69},
977
- {modelID: 'TS011F', manufacturerName: '_TZ3000_dpo1ysak', applicationVersion: 68},
978
- {modelID: 'TS011F', manufacturerName: '_TZ3000_cphmq0q7', applicationVersion: 68},
979
- {modelID: 'TS011F', manufacturerName: '_TZ3000_5f43h46b', applicationVersion: 68},
980
- {modelID: 'TS011F', manufacturerName: '_TZ3000_ps3dmato', applicationVersion: 69},
981
- {modelID: 'TS011F', manufacturerName: '_TZ3000_w0qqde0g', applicationVersion: 68},
982
- ],
983
- model: 'TS011F_plug_3',
984
- description: 'Smart plug (with power monitoring by polling)',
985
- vendor: 'TuYa',
986
- whiteLabel: [{vendor: 'VIKEFON', model: 'TS011F'}],
987
- fromZigbee: [fz.on_off, fz.electrical_measurement, fz.metering, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory],
988
- toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory],
989
- configure: async (device, coordinatorEndpoint, logger) => {
990
- const endpoint = device.getEndpoint(1);
991
- await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
992
- endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {acCurrentDivisor: 1000, acCurrentMultiplier: 1});
993
- endpoint.saveClusterAttributeKeyValue('seMetering', {divisor: 100, multiplier: 1});
994
- device.save();
995
- },
996
- options: [exposes.options.measurement_poll_interval()],
997
- exposes: [e.switch(), e.power(), e.current(), e.voltage().withAccess(ea.STATE),
998
- e.energy(), exposes.enum('power_outage_memory', ea.STATE_SET, ['on', 'off', 'restore'])
999
- .withDescription('Recover state after power outage')],
1000
- onEvent: (type, data, device, options) => {
1001
- const endpoint = device.getEndpoint(1);
1002
- if (type === 'stop') {
1003
- clearInterval(globalStore.getValue(device, 'interval'));
1004
- globalStore.clearValue(device, 'interval');
1005
- } else if (!globalStore.hasValue(device, 'interval')) {
1006
- const seconds = options && options.measurement_poll_interval ? options.measurement_poll_interval : 60;
1007
- const interval = setInterval(async () => {
1008
- try {
1009
- await endpoint.read('haElectricalMeasurement', ['rmsVoltage', 'rmsCurrent', 'activePower']);
1010
- await endpoint.read('seMetering', ['currentSummDelivered']);
1011
- } catch (error) {/* Do nothing*/}
1012
- }, seconds*1000);
1013
- globalStore.putValue(device, 'interval', interval);
1014
- }
1015
- },
1016
- },
1017
972
  {
1018
973
  fingerprint: [{modelID: 'TS011F', manufacturerName: '_TZ3000_cphmq0q7'},
1019
974
  {modelID: 'TS011F', manufacturerName: '_TZ3000_ew3ldmgx'},
@@ -1059,6 +1014,51 @@ module.exports = [
1059
1014
  exposes: [e.switch(), exposes.enum('power_outage_memory', ea.STATE_SET, ['on', 'off', 'restore'])
1060
1015
  .withDescription('Recover state after power outage')],
1061
1016
  },
1017
+ {
1018
+ fingerprint: [
1019
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_dpo1ysak', applicationVersion: 69},
1020
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_cphmq0q7', applicationVersion: 69},
1021
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_5f43h46b', applicationVersion: 69},
1022
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_dpo1ysak', applicationVersion: 68},
1023
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_cphmq0q7', applicationVersion: 68},
1024
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_5f43h46b', applicationVersion: 68},
1025
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_ps3dmato', applicationVersion: 69},
1026
+ {modelID: 'TS011F', manufacturerName: '_TZ3000_w0qqde0g', applicationVersion: 68},
1027
+ ],
1028
+ model: 'TS011F_plug_3',
1029
+ description: 'Smart plug (with power monitoring by polling)',
1030
+ vendor: 'TuYa',
1031
+ whiteLabel: [{vendor: 'VIKEFON', model: 'TS011F'}],
1032
+ fromZigbee: [fz.on_off, fz.electrical_measurement, fz.metering, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory],
1033
+ toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory],
1034
+ configure: async (device, coordinatorEndpoint, logger) => {
1035
+ const endpoint = device.getEndpoint(1);
1036
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
1037
+ endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {acCurrentDivisor: 1000, acCurrentMultiplier: 1});
1038
+ endpoint.saveClusterAttributeKeyValue('seMetering', {divisor: 100, multiplier: 1});
1039
+ device.save();
1040
+ },
1041
+ options: [exposes.options.measurement_poll_interval()],
1042
+ exposes: [e.switch(), e.power(), e.current(), e.voltage().withAccess(ea.STATE),
1043
+ e.energy(), exposes.enum('power_outage_memory', ea.STATE_SET, ['on', 'off', 'restore'])
1044
+ .withDescription('Recover state after power outage')],
1045
+ onEvent: (type, data, device, options) => {
1046
+ const endpoint = device.getEndpoint(1);
1047
+ if (type === 'stop') {
1048
+ clearInterval(globalStore.getValue(device, 'interval'));
1049
+ globalStore.clearValue(device, 'interval');
1050
+ } else if (!globalStore.hasValue(device, 'interval')) {
1051
+ const seconds = options && options.measurement_poll_interval ? options.measurement_poll_interval : 60;
1052
+ const interval = setInterval(async () => {
1053
+ try {
1054
+ await endpoint.read('haElectricalMeasurement', ['rmsVoltage', 'rmsCurrent', 'activePower']);
1055
+ await endpoint.read('seMetering', ['currentSummDelivered']);
1056
+ } catch (error) {/* Do nothing*/}
1057
+ }, seconds*1000);
1058
+ globalStore.putValue(device, 'interval', interval);
1059
+ }
1060
+ },
1061
+ },
1062
1062
  {
1063
1063
  zigbeeModel: ['5p1vj8r'],
1064
1064
  fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_t5p1vj8r'}, {modelID: 'TS0601', manufacturerName: '_TZE200_uebojraa'}],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.328",
3
+ "version": "14.0.329",
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.328",
3
+ "version": "14.0.329",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [