zigbee-herdsman-converters 15.0.47 → 15.0.48
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/essentialb.js +20 -0
- package/devices/ikea.js +17 -20
- package/devices/osram.js +1 -1
- package/devices/philips.js +1 -1
- package/devices/tuya.js +3 -2
- package/lib/ota/OTA_URLs.md +4 -4
- package/package.json +1 -1
package/devices/essentialb.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
const exposes = require('../lib/exposes');
|
|
2
|
+
const fz = require('../converters/fromZigbee');
|
|
3
|
+
const reporting = require('../lib/reporting');
|
|
1
4
|
const extend = require('../lib/extend');
|
|
5
|
+
const e = exposes.presets;
|
|
2
6
|
|
|
3
7
|
module.exports = [
|
|
4
8
|
{
|
|
@@ -64,4 +68,20 @@ module.exports = [
|
|
|
64
68
|
description: 'GU10 MR16 RGBW light bulb',
|
|
65
69
|
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 370]}),
|
|
66
70
|
},
|
|
71
|
+
{
|
|
72
|
+
zigbeeModel: ['EB-SB-1B'],
|
|
73
|
+
model: 'EB-SB-1B',
|
|
74
|
+
vendor: 'EssentielB',
|
|
75
|
+
description: 'Smart button',
|
|
76
|
+
fromZigbee: [fz.battery, fz.command_on, fz.command_off, fz.command_step, fz.command_stop, fz.command_step_color_temperature],
|
|
77
|
+
toZigbee: [],
|
|
78
|
+
exposes: [e.battery(), e.action(['on', 'off', 'color_temperature_step_up', 'color_temperature_step_down',
|
|
79
|
+
'brightness_step_up', 'brightness_step_down', 'brightness_stop'])],
|
|
80
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
81
|
+
const endpoint = device.getEndpoint(1);
|
|
82
|
+
const binds = ['genBasic', 'genOnOff', 'genPowerCfg', 'lightingColorCtrl', 'genLevelCtrl'];
|
|
83
|
+
await reporting.bind(endpoint, coordinatorEndpoint, binds);
|
|
84
|
+
await reporting.batteryPercentageRemaining(endpoint);
|
|
85
|
+
},
|
|
86
|
+
},
|
|
67
87
|
];
|
package/devices/ikea.js
CHANGED
|
@@ -181,7 +181,7 @@ const ikea = {
|
|
|
181
181
|
return state;
|
|
182
182
|
},
|
|
183
183
|
},
|
|
184
|
-
|
|
184
|
+
battery: {
|
|
185
185
|
cluster: 'genPowerCfg',
|
|
186
186
|
type: ['attributeReport', 'readResponse'],
|
|
187
187
|
convert: (model, msg, publish, options, meta) => {
|
|
@@ -645,7 +645,7 @@ module.exports = [
|
|
|
645
645
|
model: 'E1524/E1810',
|
|
646
646
|
description: 'TRADFRI remote control',
|
|
647
647
|
vendor: 'IKEA',
|
|
648
|
-
fromZigbee: [ikea.fz.
|
|
648
|
+
fromZigbee: [ikea.fz.battery, fz.E1524_E1810_toggle, fz.E1524_E1810_levelctrl, fz.ikea_arrow_click, fz.ikea_arrow_hold,
|
|
649
649
|
fz.ikea_arrow_release],
|
|
650
650
|
exposes: [e.battery().withAccess(ea.STATE_GET), e.action(['arrow_left_click', 'arrow_left_hold', 'arrow_left_release',
|
|
651
651
|
'arrow_right_click', 'arrow_right_hold', 'arrow_right_release', 'brightness_down_click', 'brightness_down_hold',
|
|
@@ -661,7 +661,7 @@ module.exports = [
|
|
|
661
661
|
model: 'E2001/E2002',
|
|
662
662
|
vendor: 'IKEA',
|
|
663
663
|
description: 'STYRBAR remote control',
|
|
664
|
-
fromZigbee: [ikea.fz.
|
|
664
|
+
fromZigbee: [ikea.fz.battery, ikea.fz.styrbar_on, fz.command_off, fz.command_move, fz.command_stop, fz.ikea_arrow_click,
|
|
665
665
|
fz.ikea_arrow_hold, ikea.fz.styrbar_arrow_release],
|
|
666
666
|
exposes: [e.battery().withAccess(ea.STATE_GET), e.action(['on', 'off', 'brightness_move_up', 'brightness_move_down',
|
|
667
667
|
'brightness_stop', 'arrow_left_click', 'arrow_right_click', 'arrow_left_hold',
|
|
@@ -681,7 +681,7 @@ module.exports = [
|
|
|
681
681
|
vendor: 'IKEA',
|
|
682
682
|
description: 'TRADFRI ON/OFF switch',
|
|
683
683
|
fromZigbee: [fz.command_on, fz.legacy.genOnOff_cmdOn, fz.command_off, fz.legacy.genOnOff_cmdOff, fz.command_move,
|
|
684
|
-
ikea.fz.
|
|
684
|
+
ikea.fz.battery, fz.legacy.E1743_brightness_up, fz.legacy.E1743_brightness_down, fz.command_stop,
|
|
685
685
|
fz.legacy.E1743_brightness_stop],
|
|
686
686
|
exposes: [
|
|
687
687
|
e.battery().withAccess(ea.STATE_GET),
|
|
@@ -697,7 +697,7 @@ module.exports = [
|
|
|
697
697
|
model: 'E1841',
|
|
698
698
|
vendor: 'IKEA',
|
|
699
699
|
description: 'KNYCKLAN open/close remote water valve',
|
|
700
|
-
fromZigbee: [fz.command_on, fz.command_off, ikea.fz.
|
|
700
|
+
fromZigbee: [fz.command_on, fz.command_off, ikea.fz.battery],
|
|
701
701
|
exposes: [e.battery().withAccess(ea.STATE_GET), e.action(['on', 'off'])],
|
|
702
702
|
toZigbee: [tz.battery_percentage_remaining],
|
|
703
703
|
ota: ota.tradfri,
|
|
@@ -724,7 +724,7 @@ module.exports = [
|
|
|
724
724
|
model: 'E1812',
|
|
725
725
|
vendor: 'IKEA',
|
|
726
726
|
description: 'TRADFRI shortcut button',
|
|
727
|
-
fromZigbee: [fz.command_on, fz.command_off, fz.command_move, fz.command_stop, ikea.fz.
|
|
727
|
+
fromZigbee: [fz.command_on, fz.command_off, fz.command_move, fz.command_stop, ikea.fz.battery],
|
|
728
728
|
exposes: [e.battery().withAccess(ea.STATE_GET), e.action(['on', 'off', 'brightness_move_up', 'brightness_stop'])],
|
|
729
729
|
toZigbee: [tz.battery_percentage_remaining],
|
|
730
730
|
ota: ota.tradfri,
|
|
@@ -758,7 +758,7 @@ module.exports = [
|
|
|
758
758
|
model: 'E1525/E1745',
|
|
759
759
|
vendor: 'IKEA',
|
|
760
760
|
description: 'TRADFRI motion sensor',
|
|
761
|
-
fromZigbee: [fz.battery, fz.tradfri_occupancy, fz.E1745_requested_brightness],
|
|
761
|
+
fromZigbee: [ikea.fz.battery, fz.tradfri_occupancy, fz.E1745_requested_brightness],
|
|
762
762
|
toZigbee: [],
|
|
763
763
|
exposes: [e.battery(), e.occupancy(),
|
|
764
764
|
exposes.numeric('requested_brightness_level', ea.STATE).withValueMin(76).withValueMax(254),
|
|
@@ -795,9 +795,8 @@ module.exports = [
|
|
|
795
795
|
model: 'E1757',
|
|
796
796
|
vendor: 'IKEA',
|
|
797
797
|
description: 'FYRTUR roller blind',
|
|
798
|
-
fromZigbee: [fz.cover_position_tilt, fz.battery],
|
|
799
|
-
toZigbee: [tz.cover_state, tz.cover_position_tilt],
|
|
800
|
-
meta: {battery: {dontDividePercentage: true}},
|
|
798
|
+
fromZigbee: [fz.cover_position_tilt, ikea.fz.battery],
|
|
799
|
+
toZigbee: [tz.cover_state, tz.cover_position_tilt, tz.battery_percentage_remaining],
|
|
801
800
|
ota: ota.tradfri,
|
|
802
801
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
803
802
|
const endpoint = device.getEndpoint(1);
|
|
@@ -805,16 +804,15 @@ module.exports = [
|
|
|
805
804
|
await reporting.batteryPercentageRemaining(endpoint);
|
|
806
805
|
await reporting.currentPositionLiftPercentage(endpoint);
|
|
807
806
|
},
|
|
808
|
-
exposes: [e.cover_position(), e.battery()],
|
|
807
|
+
exposes: [e.cover_position(), e.battery().withAccess(ea.STATE_GET)],
|
|
809
808
|
},
|
|
810
809
|
{
|
|
811
810
|
zigbeeModel: ['KADRILJ roller blind'],
|
|
812
811
|
model: 'E1926',
|
|
813
812
|
vendor: 'IKEA',
|
|
814
813
|
description: 'KADRILJ roller blind',
|
|
815
|
-
fromZigbee: [fz.cover_position_tilt, fz.battery],
|
|
816
|
-
toZigbee: [tz.cover_state, tz.cover_position_tilt],
|
|
817
|
-
meta: {battery: {dontDividePercentage: true}},
|
|
814
|
+
fromZigbee: [fz.cover_position_tilt, ikea.fz.battery],
|
|
815
|
+
toZigbee: [tz.cover_state, tz.cover_position_tilt, tz.battery_percentage_remaining],
|
|
818
816
|
ota: ota.tradfri,
|
|
819
817
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
820
818
|
const endpoint = device.getEndpoint(1);
|
|
@@ -822,16 +820,15 @@ module.exports = [
|
|
|
822
820
|
await reporting.batteryPercentageRemaining(endpoint);
|
|
823
821
|
await reporting.currentPositionLiftPercentage(endpoint);
|
|
824
822
|
},
|
|
825
|
-
exposes: [e.cover_position(), e.battery()],
|
|
823
|
+
exposes: [e.cover_position(), e.battery().withAccess(ea.STATE_GET)],
|
|
826
824
|
},
|
|
827
825
|
{
|
|
828
826
|
zigbeeModel: ['PRAKTLYSING cellular blind'],
|
|
829
827
|
model: 'E2102',
|
|
830
828
|
vendor: 'IKEA',
|
|
831
829
|
description: 'PRAKTLYSING cellular blind',
|
|
832
|
-
fromZigbee: [fz.cover_position_tilt, fz.battery],
|
|
833
|
-
toZigbee: [tz.cover_state, tz.cover_position_tilt],
|
|
834
|
-
meta: {battery: {dontDividePercentage: true}},
|
|
830
|
+
fromZigbee: [fz.cover_position_tilt, ikea.fz.battery],
|
|
831
|
+
toZigbee: [tz.cover_state, tz.cover_position_tilt, tz.battery_percentage_remaining],
|
|
835
832
|
ota: ota.tradfri,
|
|
836
833
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
837
834
|
const endpoint = device.getEndpoint(1);
|
|
@@ -839,7 +836,7 @@ module.exports = [
|
|
|
839
836
|
await reporting.batteryPercentageRemaining(endpoint);
|
|
840
837
|
await reporting.currentPositionLiftPercentage(endpoint);
|
|
841
838
|
},
|
|
842
|
-
exposes: [e.cover_position(), e.battery()],
|
|
839
|
+
exposes: [e.cover_position(), e.battery().withAccess(ea.STATE_GET)],
|
|
843
840
|
},
|
|
844
841
|
{
|
|
845
842
|
zigbeeModel: ['TREDANSEN block-out cellul blind'],
|
|
@@ -863,7 +860,7 @@ module.exports = [
|
|
|
863
860
|
model: 'E1766',
|
|
864
861
|
vendor: 'IKEA',
|
|
865
862
|
description: 'TRADFRI open/close remote',
|
|
866
|
-
fromZigbee: [ikea.fz.
|
|
863
|
+
fromZigbee: [ikea.fz.battery, fz.command_cover_close, fz.legacy.cover_close, fz.command_cover_open, fz.legacy.cover_open,
|
|
867
864
|
fz.command_cover_stop, fz.legacy.cover_stop],
|
|
868
865
|
exposes: [e.battery().withAccess(ea.STATE_GET), e.action(['close', 'open', 'stop'])],
|
|
869
866
|
toZigbee: [tz.battery_percentage_remaining],
|
package/devices/osram.js
CHANGED
|
@@ -335,7 +335,7 @@ module.exports = [
|
|
|
335
335
|
model: 'AC03648',
|
|
336
336
|
vendor: 'OSRAM',
|
|
337
337
|
description: 'SMART+ spot GU5.3 tunable white',
|
|
338
|
-
extend: extend.ledvance.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
|
|
338
|
+
extend: extend.ledvance.light_onoff_brightness_colortemp({colorTempRange: [153, 370], disablePowerOnBehavior: true}),
|
|
339
339
|
ota: ota.ledvance,
|
|
340
340
|
},
|
|
341
341
|
{
|
package/devices/philips.js
CHANGED
|
@@ -592,7 +592,7 @@ module.exports = [
|
|
|
592
592
|
extend: philips.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
593
593
|
},
|
|
594
594
|
{
|
|
595
|
-
zigbeeModel: ['LCG002', '929003047701', '929003047701'],
|
|
595
|
+
zigbeeModel: ['LCG002', '929003047701', '929003047701', '929003526202_01', ' 929003526202_02', '929003526202_03'],
|
|
596
596
|
model: '929001953101',
|
|
597
597
|
vendor: 'Philips',
|
|
598
598
|
description: 'Hue White and Color Ambiance GU10',
|
package/devices/tuya.js
CHANGED
|
@@ -1074,6 +1074,7 @@ module.exports = [
|
|
|
1074
1074
|
{
|
|
1075
1075
|
fingerprint: [{modelID: 'TS0202', manufacturerName: '_TYZB01_jytabjkb'},
|
|
1076
1076
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_lltemgsf'},
|
|
1077
|
+
{modelID: 'TS0202', manufacturerName: '_TYZB01_5nr7ncpl'},
|
|
1077
1078
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_mg4dy6z6'}],
|
|
1078
1079
|
model: 'TS0202_1',
|
|
1079
1080
|
vendor: 'TuYa',
|
|
@@ -1285,7 +1286,7 @@ module.exports = [
|
|
|
1285
1286
|
},
|
|
1286
1287
|
{
|
|
1287
1288
|
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_ip2akl4w', '_TZE200_1agwnems', '_TZE200_la2c2uo9', '_TZE200_579lguh2',
|
|
1288
|
-
'_TZE200_vucankjx']),
|
|
1289
|
+
'_TZE200_vucankjx', '_TZE200_4mh6tyyo']),
|
|
1289
1290
|
model: 'TS0601_dimmer_1',
|
|
1290
1291
|
vendor: 'TuYa',
|
|
1291
1292
|
description: '1 gang smart dimmer',
|
|
@@ -2250,7 +2251,7 @@ module.exports = [
|
|
|
2250
2251
|
e.battery_low(), e.child_lock(), e.open_window(), e.open_window_temperature().withValueMin(5).withValueMax(30),
|
|
2251
2252
|
e.comfort_temperature().withValueMin(5).withValueMax(30), e.eco_temperature().withValueMin(5).withValueMax(30),
|
|
2252
2253
|
exposes.climate().withPreset(['auto', 'manual', 'holiday']).withLocalTemperatureCalibration(-5, 5, 0.1, ea.STATE_SET)
|
|
2253
|
-
.withLocalTemperature(ea.STATE).withSetpoint('current_heating_setpoint', 5, 30, 0.5, ea.
|
|
2254
|
+
.withLocalTemperature(ea.STATE).withSetpoint('current_heating_setpoint', 5, 30, 0.5, ea.STATE_SET)
|
|
2254
2255
|
.withSystemMode(['off', 'heat'], ea.STATE_SET, 'Only for Homeassistant'),
|
|
2255
2256
|
exposes.binary('heating_stop', ea.STATE_SET, 'ON', 'OFF').withDescription('Battery life can be prolonged'+
|
|
2256
2257
|
' by switching the heating off. To achieve this, the valve is closed fully. To activate the '+
|
package/lib/ota/OTA_URLs.md
CHANGED
|
@@ -26,6 +26,10 @@ https://files.inovelli.com/firmware/firmware.json
|
|
|
26
26
|
|
|
27
27
|
https://files.inovelli.com/firmware
|
|
28
28
|
|
|
29
|
+
Experimental Inovelli OTA URL for zigpy:
|
|
30
|
+
|
|
31
|
+
https://files.inovelli.com/firmware/firmware-zha.json
|
|
32
|
+
|
|
29
33
|
### Sonoff OTA Firmware provider
|
|
30
34
|
|
|
31
35
|
Sonoff Zigbee OTA firmware images are made publicly available by Sonoff (first-party) at the following URLs:
|
|
@@ -46,10 +50,6 @@ Download-URL:
|
|
|
46
50
|
|
|
47
51
|
http://fw.ota.homesmart.ikea.net/feed/version_info.json
|
|
48
52
|
|
|
49
|
-
Download-URL (Test/Beta-Version):
|
|
50
|
-
|
|
51
|
-
http://fw.test.ota.homesmart.ikea.net/feed/version_info.json
|
|
52
|
-
|
|
53
53
|
Release changelogs
|
|
54
54
|
|
|
55
55
|
https://ww8.ikea.com/ikeahomesmart/releasenotes/releasenotes.html
|