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.
- package/converters/toZigbee.js +15 -5
- package/devices/ikea.js +1 -1
- package/devices/ledvance.js +1 -1
- package/devices/lonsonho.js +1 -1
- package/devices/osram.js +1 -1
- package/devices/philips.js +18 -1
- package/devices/schneider_electric.js +1 -0
- package/devices/tuya.js +46 -46
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
package/converters/toZigbee.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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',
|
package/devices/ledvance.js
CHANGED
|
@@ -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
|
{
|
package/devices/lonsonho.js
CHANGED
|
@@ -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
|
{
|
package/devices/philips.js
CHANGED
|
@@ -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'
|
|
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'}],
|
package/npm-shrinkwrap.json
CHANGED