zigbee-herdsman-converters 15.0.78 → 15.0.80
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/ledvance.js +16 -0
- package/devices/owon.js +1 -1
- package/devices/saswell.js +1 -1
- package/devices/tuya.js +20 -0
- package/devices/ubisys.js +10 -0
- package/lib/tuya.js +10 -2
- package/package.json +1 -1
package/devices/ledvance.js
CHANGED
|
@@ -210,6 +210,22 @@ module.exports = [
|
|
|
210
210
|
extend: extend.ledvance.light_onoff_brightness_colortemp_color({colorTempRange: [153, 370]}),
|
|
211
211
|
ota: ota.ledvance,
|
|
212
212
|
},
|
|
213
|
+
{
|
|
214
|
+
zigbeeModel: ['A60 RGBW T'],
|
|
215
|
+
model: '4058075729025',
|
|
216
|
+
vendor: 'LEDVANCE',
|
|
217
|
+
description: 'SMART+ lamp E27 RGBTW',
|
|
218
|
+
extend: extend.ledvance.light_onoff_brightness_colortemp_color({colorTempRange: [153, 370]}),
|
|
219
|
+
ota: ota.ledvance,
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
zigbeeModel: ['A60 RGBW B22D T'],
|
|
223
|
+
model: '4058075729049',
|
|
224
|
+
vendor: 'LEDVANCE',
|
|
225
|
+
description: 'SMART+ lamp B22D RGBTW',
|
|
226
|
+
extend: extend.ledvance.light_onoff_brightness_colortemp_color({colorTempRange: [153, 370]}),
|
|
227
|
+
ota: ota.ledvance,
|
|
228
|
+
},
|
|
213
229
|
{
|
|
214
230
|
zigbeeModel: ['A60 DIM T'],
|
|
215
231
|
model: '4058075728981',
|
package/devices/owon.js
CHANGED
package/devices/saswell.js
CHANGED
|
@@ -35,7 +35,7 @@ module.exports = [
|
|
|
35
35
|
toZigbee: [tz.saswell_thermostat_current_heating_setpoint, tz.saswell_thermostat_mode, tz.saswell_thermostat_away,
|
|
36
36
|
tz.saswell_thermostat_child_lock, tz.saswell_thermostat_window_detection, tz.saswell_thermostat_frost_detection,
|
|
37
37
|
tz.saswell_thermostat_calibration, tz.saswell_thermostat_anti_scaling, tz.tuya_thermostat_weekly_schedule],
|
|
38
|
-
onEvent: tuya.onEventSetTime,
|
|
38
|
+
onEvent: (type, data, device) => !['_TZE200_c88teujp'].includes(device.manufacturerName) && tuya.onEventSetTime(type, data, device),
|
|
39
39
|
meta: {
|
|
40
40
|
thermostat: {
|
|
41
41
|
weeklyScheduleMaxTransitions: 4,
|
package/devices/tuya.js
CHANGED
|
@@ -2665,6 +2665,26 @@ module.exports = [
|
|
|
2665
2665
|
[66, 100, 160].includes(device.applicationVersion), // polling for energy
|
|
2666
2666
|
),
|
|
2667
2667
|
},
|
|
2668
|
+
{
|
|
2669
|
+
fingerprint: [{modelID: 'TS011F', manufacturerName: '_TZ3000_wbloefbf'}],
|
|
2670
|
+
model: 'TS011F_switch_5_gang',
|
|
2671
|
+
description: '2 gang 2 usb 1 wall ac outlet',
|
|
2672
|
+
whiteLabel: [{vendor: 'Milfra', model: 'M11Z'}],
|
|
2673
|
+
vendor: 'TuYa',
|
|
2674
|
+
extend: tuya.extend.switch({powerOutageMemory: true, childLock: true, endpoints: ['l1', 'l2', 'l3', 'l4', 'l5']}),
|
|
2675
|
+
endpoint: (device) => {
|
|
2676
|
+
return {l1: 1, l2: 2, l3: 3, l4: 4, l5: 5};
|
|
2677
|
+
},
|
|
2678
|
+
meta: {multiEndpoint: true},
|
|
2679
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
2680
|
+
await tuya.configureMagicPacket(device, coordinatorEndpoint, logger);
|
|
2681
|
+
await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
|
|
2682
|
+
await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
|
|
2683
|
+
await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ['genOnOff']);
|
|
2684
|
+
await reporting.bind(device.getEndpoint(4), coordinatorEndpoint, ['genOnOff']);
|
|
2685
|
+
await reporting.bind(device.getEndpoint(5), coordinatorEndpoint, ['genOnOff']);
|
|
2686
|
+
},
|
|
2687
|
+
},
|
|
2668
2688
|
{
|
|
2669
2689
|
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_ntcy3xu1', '_TZE200_ytibqbra']),
|
|
2670
2690
|
model: 'TS0601_smoke_1',
|
package/devices/ubisys.js
CHANGED
|
@@ -925,4 +925,14 @@ module.exports = [
|
|
|
925
925
|
},
|
|
926
926
|
ota: ota.ubisys,
|
|
927
927
|
},
|
|
928
|
+
{
|
|
929
|
+
zigbeeModel: ['R0 (5501)'],
|
|
930
|
+
model: 'R0',
|
|
931
|
+
vendor: 'Ubisys',
|
|
932
|
+
description: 'Zigbee Router',
|
|
933
|
+
fromZigbee: [fz.linkquality_from_basic],
|
|
934
|
+
toZigbee: [],
|
|
935
|
+
exposes: [],
|
|
936
|
+
ota: ota.ubisys,
|
|
937
|
+
},
|
|
928
938
|
];
|
package/lib/tuya.js
CHANGED
|
@@ -1245,6 +1245,14 @@ const valueConverter = {
|
|
|
1245
1245
|
divideBy10: valueConverterBasic.divideBy(10),
|
|
1246
1246
|
divideBy1000: valueConverterBasic.divideBy(1000),
|
|
1247
1247
|
raw: valueConverterBasic.raw(),
|
|
1248
|
+
coverPosition: {
|
|
1249
|
+
to: async (v, meta) => {
|
|
1250
|
+
return meta.options.invert_cover ? 100 - v : v;
|
|
1251
|
+
},
|
|
1252
|
+
from: (v, meta, options) => {
|
|
1253
|
+
return options.invert_cover ? 100 - v : v;
|
|
1254
|
+
},
|
|
1255
|
+
},
|
|
1248
1256
|
plus1: {
|
|
1249
1257
|
from: (v) => v + 1,
|
|
1250
1258
|
to: (v) => v - 1,
|
|
@@ -1824,9 +1832,9 @@ const tuyaFz = {
|
|
|
1824
1832
|
if (dpEntry) {
|
|
1825
1833
|
const value = getDataValue(dpValue);
|
|
1826
1834
|
if (dpEntry[1]) {
|
|
1827
|
-
result[dpEntry[1]] = dpEntry[2].from(value, meta);
|
|
1835
|
+
result[dpEntry[1]] = dpEntry[2].from(value, meta, options);
|
|
1828
1836
|
} else if (dpEntry[2]) {
|
|
1829
|
-
result = {...result, ...dpEntry[2].from(value, meta)};
|
|
1837
|
+
result = {...result, ...dpEntry[2].from(value, meta, options)};
|
|
1830
1838
|
}
|
|
1831
1839
|
} else {
|
|
1832
1840
|
meta.logger.debug(`Datapoint ${dpId} not defined for '${meta.device.manufacturerName}' ` +
|