zigbee-herdsman-converters 21.20.0 → 21.21.0
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/CHANGELOG.md +19 -0
- package/devices/acuity_brands_lighting.js +37 -4
- package/devices/acuity_brands_lighting.js.map +1 -1
- package/devices/adeo.js +41 -41
- package/devices/adeo.js.map +1 -1
- package/devices/adurosmart.js +11 -11
- package/devices/adurosmart.js.map +1 -1
- package/devices/aeotec.d.ts.map +1 -1
- package/devices/aeotec.js +55 -22
- package/devices/aeotec.js.map +1 -1
- package/devices/airam.js +3 -3
- package/devices/airam.js.map +1 -1
- package/devices/ajax_online.js +6 -6
- package/devices/ajax_online.js.map +1 -1
- package/devices/alchemy.js +36 -3
- package/devices/alchemy.js.map +1 -1
- package/devices/amina.js +17 -17
- package/devices/amina.js.map +1 -1
- package/devices/anchor.js +35 -2
- package/devices/anchor.js.map +1 -1
- package/devices/atsmart.js +35 -2
- package/devices/atsmart.js.map +1 -1
- package/devices/aurora_lighting.d.ts.map +1 -1
- package/devices/aurora_lighting.js +12 -13
- package/devices/aurora_lighting.js.map +1 -1
- package/devices/awox.js +6 -6
- package/devices/awox.js.map +1 -1
- package/devices/bankamp.js +35 -2
- package/devices/bankamp.js.map +1 -1
- package/devices/bega.js +36 -3
- package/devices/bega.js.map +1 -1
- package/devices/belkin.js +35 -2
- package/devices/belkin.js.map +1 -1
- package/devices/bitron.js +5 -5
- package/devices/bitron.js.map +1 -1
- package/devices/blitzwolf.js +3 -3
- package/devices/blitzwolf.js.map +1 -1
- package/devices/bosch.d.ts.map +1 -1
- package/devices/bosch.js +46 -47
- package/devices/bosch.js.map +1 -1
- package/devices/bouffalo_lab.js +35 -2
- package/devices/bouffalo_lab.js.map +1 -1
- package/devices/bticino.js +3 -3
- package/devices/bticino.js.map +1 -1
- package/devices/busch_jaeger.js +2 -2
- package/devices/busch_jaeger.js.map +1 -1
- package/devices/calex.js +3 -3
- package/devices/calex.js.map +1 -1
- package/devices/candeo.js +56 -23
- package/devices/candeo.js.map +1 -1
- package/devices/casaia.js +3 -3
- package/devices/casaia.js.map +1 -1
- package/devices/centralite.js +3 -3
- package/devices/centralite.js.map +1 -1
- package/devices/chacon.js +36 -3
- package/devices/chacon.js.map +1 -1
- package/devices/cleode.js +35 -2
- package/devices/cleode.js.map +1 -1
- package/devices/climax.js +3 -3
- package/devices/climax.js.map +1 -1
- package/devices/commercial_electric.js +35 -2
- package/devices/commercial_electric.js.map +1 -1
- package/devices/cree.js +35 -2
- package/devices/cree.js.map +1 -1
- package/devices/ctm.d.ts.map +1 -1
- package/devices/ctm.js +2 -3
- package/devices/ctm.js.map +1 -1
- package/devices/custom_devices_diy.d.ts.map +1 -1
- package/devices/custom_devices_diy.js +50 -51
- package/devices/custom_devices_diy.js.map +1 -1
- package/devices/cy_lighting.js +35 -2
- package/devices/cy_lighting.js.map +1 -1
- package/devices/databyte.js +2 -2
- package/devices/databyte.js.map +1 -1
- package/devices/datek.d.ts.map +1 -1
- package/devices/datek.js +3 -4
- package/devices/datek.js.map +1 -1
- package/devices/dawon_dns.js +16 -16
- package/devices/dawon_dns.js.map +1 -1
- package/devices/develco.js +29 -29
- package/devices/develco.js.map +1 -1
- package/devices/diyruz.d.ts.map +1 -1
- package/devices/diyruz.js +4 -5
- package/devices/diyruz.js.map +1 -1
- package/devices/dnake.js +35 -2
- package/devices/dnake.js.map +1 -1
- package/devices/dowsing_reynolds.js +35 -2
- package/devices/dowsing_reynolds.js.map +1 -1
- package/devices/dresden_elektronik.js +40 -7
- package/devices/dresden_elektronik.js.map +1 -1
- package/devices/easyiot.js +7 -7
- package/devices/easyiot.js.map +1 -1
- package/devices/eatonhalo_led.js +35 -2
- package/devices/eatonhalo_led.js.map +1 -1
- package/devices/ecodim.js +4 -4
- package/devices/ecodim.js.map +1 -1
- package/devices/ecosmart.js +42 -9
- package/devices/ecosmart.js.map +1 -1
- package/devices/edp.js +2 -2
- package/devices/edp.js.map +1 -1
- package/devices/efekta.d.ts.map +1 -1
- package/devices/efekta.js +152 -119
- package/devices/efekta.js.map +1 -1
- package/devices/eglo.js +5 -5
- package/devices/eglo.js.map +1 -1
- package/devices/elko.js +13 -13
- package/devices/elko.js.map +1 -1
- package/devices/enbrighten.js +46 -13
- package/devices/enbrighten.js.map +1 -1
- package/devices/envilar.js +7 -7
- package/devices/envilar.js.map +1 -1
- package/devices/essentialb.js +10 -10
- package/devices/essentialb.js.map +1 -1
- package/devices/eucontrols.js +35 -2
- package/devices/eucontrols.js.map +1 -1
- package/devices/evn.js +2 -2
- package/devices/evn.js.map +1 -1
- package/devices/evvr.js +35 -2
- package/devices/evvr.js.map +1 -1
- package/devices/ewelink.d.ts.map +1 -1
- package/devices/ewelink.js +27 -27
- package/devices/ewelink.js.map +1 -1
- package/devices/ezex.js +35 -2
- package/devices/ezex.js.map +1 -1
- package/devices/fantem.d.ts.map +1 -1
- package/devices/fantem.js +1 -2
- package/devices/fantem.js.map +1 -1
- package/devices/feibit.d.ts.map +1 -1
- package/devices/feibit.js +24 -20
- package/devices/feibit.js.map +1 -1
- package/devices/frient.js +38 -5
- package/devices/frient.js.map +1 -1
- package/devices/futurehome.js +2 -2
- package/devices/futurehome.js.map +1 -1
- package/devices/ge.js +8 -8
- package/devices/ge.js.map +1 -1
- package/devices/gewiss.js +4 -4
- package/devices/gewiss.js.map +1 -1
- package/devices/gidealed.js +35 -2
- package/devices/gidealed.js.map +1 -1
- package/devices/giderwel.js +35 -2
- package/devices/giderwel.js.map +1 -1
- package/devices/gledopto.js +15 -15
- package/devices/gledopto.js.map +1 -1
- package/devices/gmy.js +35 -2
- package/devices/gmy.js.map +1 -1
- package/devices/gs.d.ts.map +1 -1
- package/devices/gs.js +46 -13
- package/devices/gs.js.map +1 -1
- package/devices/gumax.js +35 -2
- package/devices/gumax.js.map +1 -1
- package/devices/halemeier.js +5 -5
- package/devices/halemeier.js.map +1 -1
- package/devices/hampton_bay.js +3 -3
- package/devices/hampton_bay.js.map +1 -1
- package/devices/heatit.js +35 -2
- package/devices/heatit.js.map +1 -1
- package/devices/heiman.d.ts.map +1 -1
- package/devices/heiman.js +3 -4
- package/devices/heiman.js.map +1 -1
- package/devices/heimgard_technologies.js +2 -2
- package/devices/heimgard_technologies.js.map +1 -1
- package/devices/hej.js +45 -12
- package/devices/hej.js.map +1 -1
- package/devices/hfh.js +35 -2
- package/devices/hfh.js.map +1 -1
- package/devices/hilux.js +36 -3
- package/devices/hilux.js.map +1 -1
- package/devices/hive.js +10 -10
- package/devices/hive.js.map +1 -1
- package/devices/honyar.js +2 -2
- package/devices/honyar.js.map +1 -1
- package/devices/hornbach.js +47 -14
- package/devices/hornbach.js.map +1 -1
- package/devices/hzc_electric.d.ts.map +1 -1
- package/devices/hzc_electric.js +4 -5
- package/devices/hzc_electric.js.map +1 -1
- package/devices/icasa.js +7 -7
- package/devices/icasa.js.map +1 -1
- package/devices/idinio.js +35 -2
- package/devices/idinio.js.map +1 -1
- package/devices/ihorn.js +2 -2
- package/devices/ihorn.js.map +1 -1
- package/devices/ikea.d.ts.map +1 -1
- package/devices/ikea.js +168 -130
- package/devices/ikea.js.map +1 -1
- package/devices/ilightsin.js +35 -2
- package/devices/ilightsin.js.map +1 -1
- package/devices/iluminize.d.ts.map +1 -1
- package/devices/iluminize.js +30 -30
- package/devices/iluminize.js.map +1 -1
- package/devices/ilux.js +35 -2
- package/devices/ilux.js.map +1 -1
- package/devices/imhotepcreation.d.ts.map +1 -1
- package/devices/imhotepcreation.js +3 -10
- package/devices/imhotepcreation.js.map +1 -1
- package/devices/immax.d.ts.map +1 -1
- package/devices/immax.js +9 -10
- package/devices/immax.js.map +1 -1
- package/devices/imou.js +39 -6
- package/devices/imou.js.map +1 -1
- package/devices/innr.js +99 -99
- package/devices/innr.js.map +1 -1
- package/devices/inovelli.js +12 -12
- package/devices/inovelli.js.map +1 -1
- package/devices/iolloi.js +35 -2
- package/devices/iolloi.js.map +1 -1
- package/devices/iris.js +2 -2
- package/devices/iris.js.map +1 -1
- package/devices/istar.js +36 -3
- package/devices/istar.js.map +1 -1
- package/devices/jasco.js +37 -4
- package/devices/jasco.js.map +1 -1
- package/devices/jiawen.js +36 -3
- package/devices/jiawen.js.map +1 -1
- package/devices/jumitech.js +35 -2
- package/devices/jumitech.js.map +1 -1
- package/devices/klikaanklikuit.js +36 -3
- package/devices/klikaanklikuit.js.map +1 -1
- package/devices/konke.d.ts.map +1 -1
- package/devices/konke.js +4 -5
- package/devices/konke.js.map +1 -1
- package/devices/ksentry.js +35 -2
- package/devices/ksentry.js.map +1 -1
- package/devices/kurvia.js +35 -2
- package/devices/kurvia.js.map +1 -1
- package/devices/lanesto.js +35 -2
- package/devices/lanesto.js.map +1 -1
- package/devices/lds.js +35 -2
- package/devices/lds.js.map +1 -1
- package/devices/led_trading.js +3 -3
- package/devices/led_trading.js.map +1 -1
- package/devices/ledvance.js +37 -4
- package/devices/ledvance.js.map +1 -1
- package/devices/leedarson.d.ts.map +1 -1
- package/devices/leedarson.js +9 -10
- package/devices/leedarson.js.map +1 -1
- package/devices/legrand.js +9 -9
- package/devices/legrand.js.map +1 -1
- package/devices/lellki.js +6 -6
- package/devices/lellki.js.map +1 -1
- package/devices/letsled.js +35 -2
- package/devices/letsled.js.map +1 -1
- package/devices/leviton.js +7 -7
- package/devices/leviton.js.map +1 -1
- package/devices/lg.js +37 -4
- package/devices/lg.js.map +1 -1
- package/devices/lidl.d.ts.map +1 -1
- package/devices/lidl.js +6 -3
- package/devices/lidl.js.map +1 -1
- package/devices/lifecontrol.d.ts.map +1 -1
- package/devices/lifecontrol.js +14 -14
- package/devices/lifecontrol.js.map +1 -1
- package/devices/lightsolutions.js +38 -5
- package/devices/lightsolutions.js.map +1 -1
- package/devices/linkind.js +10 -10
- package/devices/linkind.js.map +1 -1
- package/devices/livingwise.js +4 -4
- package/devices/livingwise.js.map +1 -1
- package/devices/lonsonho.js +6 -6
- package/devices/lonsonho.js.map +1 -1
- package/devices/ls.js +4 -4
- package/devices/ls.js.map +1 -1
- package/devices/lubeez.js +35 -2
- package/devices/lubeez.js.map +1 -1
- package/devices/lumi.d.ts.map +1 -1
- package/devices/lumi.js +103 -104
- package/devices/lumi.js.map +1 -1
- package/devices/lupus.js +3 -3
- package/devices/lupus.js.map +1 -1
- package/devices/lutron.js +2 -2
- package/devices/lutron.js.map +1 -1
- package/devices/m_elec.js +38 -5
- package/devices/m_elec.js.map +1 -1
- package/devices/matcall_bv.js +36 -3
- package/devices/matcall_bv.js.map +1 -1
- package/devices/micromatic.js +35 -2
- package/devices/micromatic.js.map +1 -1
- package/devices/modular.js +35 -2
- package/devices/modular.js.map +1 -1
- package/devices/moes.d.ts.map +1 -1
- package/devices/moes.js +5 -5
- package/devices/moes.js.map +1 -1
- package/devices/muller_licht.js +5 -5
- package/devices/muller_licht.js.map +1 -1
- package/devices/multiterm.js +2 -2
- package/devices/multiterm.js.map +1 -1
- package/devices/namron.d.ts.map +1 -1
- package/devices/namron.js +35 -36
- package/devices/namron.js.map +1 -1
- package/devices/nanoleaf.js +35 -2
- package/devices/nanoleaf.js.map +1 -1
- package/devices/neo.js +2 -2
- package/devices/neo.js.map +1 -1
- package/devices/nexelec.js +35 -2
- package/devices/nexelec.js.map +1 -1
- package/devices/niviss.js +35 -2
- package/devices/niviss.js.map +1 -1
- package/devices/nodon.d.ts.map +1 -1
- package/devices/nodon.js +21 -21
- package/devices/nodon.js.map +1 -1
- package/devices/nordtronic.js +38 -5
- package/devices/nordtronic.js.map +1 -1
- package/devices/nue_3a.js +30 -30
- package/devices/nue_3a.js.map +1 -1
- package/devices/orvibo.js +23 -23
- package/devices/orvibo.js.map +1 -1
- package/devices/osram.js +3 -3
- package/devices/osram.js.map +1 -1
- package/devices/owon.d.ts.map +1 -1
- package/devices/owon.js +7 -8
- package/devices/owon.js.map +1 -1
- package/devices/paul_neuhaus.js +11 -11
- package/devices/paul_neuhaus.js.map +1 -1
- package/devices/paulmann.js +33 -33
- package/devices/paulmann.js.map +1 -1
- package/devices/perenio.js +2 -2
- package/devices/perenio.js.map +1 -1
- package/devices/philio.js +35 -2
- package/devices/philio.js.map +1 -1
- package/devices/philips.d.ts.map +1 -1
- package/devices/philips.js +4 -5
- package/devices/philips.js.map +1 -1
- package/devices/prolight.js +6 -6
- package/devices/prolight.js.map +1 -1
- package/devices/pushok.d.ts.map +1 -1
- package/devices/pushok.js +74 -41
- package/devices/pushok.js.map +1 -1
- package/devices/qa.js +18 -18
- package/devices/qa.js.map +1 -1
- package/devices/quotra.js +36 -3
- package/devices/quotra.js.map +1 -1
- package/devices/rademacher.js +37 -4
- package/devices/rademacher.js.map +1 -1
- package/devices/radium.js +35 -2
- package/devices/radium.js.map +1 -1
- package/devices/raex.js +35 -2
- package/devices/raex.js.map +1 -1
- package/devices/rgb_genie.js +2 -2
- package/devices/rgb_genie.js.map +1 -1
- package/devices/robb.d.ts.map +1 -1
- package/devices/robb.js +25 -25
- package/devices/robb.js.map +1 -1
- package/devices/salus_controls.js +7 -7
- package/devices/salus_controls.js.map +1 -1
- package/devices/samotech.js +43 -10
- package/devices/samotech.js.map +1 -1
- package/devices/sber.js +44 -11
- package/devices/sber.js.map +1 -1
- package/devices/scanproducts.js +36 -3
- package/devices/scanproducts.js.map +1 -1
- package/devices/schneider_electric.d.ts.map +1 -1
- package/devices/schneider_electric.js +83 -84
- package/devices/schneider_electric.js.map +1 -1
- package/devices/schwaiger.js +7 -7
- package/devices/schwaiger.js.map +1 -1
- package/devices/seastar_intelligence.js +35 -2
- package/devices/seastar_intelligence.js.map +1 -1
- package/devices/sengled.d.ts +2 -2
- package/devices/sengled.d.ts.map +1 -1
- package/devices/sengled.js +62 -29
- package/devices/sengled.js.map +1 -1
- package/devices/shenzhen_homa.js +44 -11
- package/devices/shenzhen_homa.js.map +1 -1
- package/devices/shinasystem.d.ts.map +1 -1
- package/devices/shinasystem.js +36 -37
- package/devices/shinasystem.js.map +1 -1
- package/devices/shyugj.js +36 -3
- package/devices/shyugj.js.map +1 -1
- package/devices/sinope.js +13 -13
- package/devices/sinope.js.map +1 -1
- package/devices/slv.js +37 -4
- package/devices/slv.js.map +1 -1
- package/devices/smart_home_pty.js +36 -3
- package/devices/smart_home_pty.js.map +1 -1
- package/devices/smartthings.js +4 -4
- package/devices/smartthings.js.map +1 -1
- package/devices/smlight.js +35 -2
- package/devices/smlight.js.map +1 -1
- package/devices/sohan_electric.js +35 -2
- package/devices/sohan_electric.js.map +1 -1
- package/devices/solaredge.js +35 -2
- package/devices/solaredge.js.map +1 -1
- package/devices/soma.js +35 -2
- package/devices/soma.js.map +1 -1
- package/devices/somfy.js +4 -4
- package/devices/somfy.js.map +1 -1
- package/devices/sonoff.d.ts.map +1 -1
- package/devices/sonoff.js +65 -65
- package/devices/sonoff.js.map +1 -1
- package/devices/sowilo.js +35 -2
- package/devices/sowilo.js.map +1 -1
- package/devices/spotmau.js +38 -5
- package/devices/spotmau.js.map +1 -1
- package/devices/sunricher.d.ts.map +1 -1
- package/devices/sunricher.js +96 -63
- package/devices/sunricher.js.map +1 -1
- package/devices/tci.js +37 -4
- package/devices/tci.js.map +1 -1
- package/devices/terncy.d.ts.map +1 -1
- package/devices/terncy.js +3 -4
- package/devices/terncy.js.map +1 -1
- package/devices/the_light_group.js +4 -4
- package/devices/the_light_group.js.map +1 -1
- package/devices/third_reality.d.ts.map +1 -1
- package/devices/third_reality.js +38 -39
- package/devices/third_reality.js.map +1 -1
- package/devices/tlwglobal.js +37 -4
- package/devices/tlwglobal.js.map +1 -1
- package/devices/trust.js +5 -5
- package/devices/trust.js.map +1 -1
- package/devices/tuya.d.ts.map +1 -1
- package/devices/tuya.js +110 -35
- package/devices/tuya.js.map +1 -1
- package/devices/ubisys.js +8 -8
- package/devices/ubisys.js.map +1 -1
- package/devices/vbled.js +35 -2
- package/devices/vbled.js.map +1 -1
- package/devices/vesternet.js +3 -3
- package/devices/vesternet.js.map +1 -1
- package/devices/villeroy_boch.js +36 -3
- package/devices/villeroy_boch.js.map +1 -1
- package/devices/vimar.js +4 -4
- package/devices/vimar.js.map +1 -1
- package/devices/visonic.js +2 -2
- package/devices/visonic.js.map +1 -1
- package/devices/vrey.js +35 -2
- package/devices/vrey.js.map +1 -1
- package/devices/weten.js +2 -2
- package/devices/weten.js.map +1 -1
- package/devices/wirenboard.d.ts.map +1 -1
- package/devices/wirenboard.js +38 -24
- package/devices/wirenboard.js.map +1 -1
- package/devices/wisdom.js +35 -2
- package/devices/wisdom.js.map +1 -1
- package/devices/xal.js +37 -4
- package/devices/xal.js.map +1 -1
- package/devices/xinghuoyuan.js +35 -2
- package/devices/xinghuoyuan.js.map +1 -1
- package/devices/xyzroe.js +9 -9
- package/devices/xyzroe.js.map +1 -1
- package/devices/yale.js +3 -3
- package/devices/yale.js.map +1 -1
- package/devices/yandex.d.ts.map +1 -1
- package/devices/yandex.js +59 -26
- package/devices/yandex.js.map +1 -1
- package/devices/ynoa.js +4 -4
- package/devices/ynoa.js.map +1 -1
- package/devices/yokis.d.ts.map +1 -1
- package/devices/yokis.js +226 -226
- package/devices/yokis.js.map +1 -1
- package/devices/zemismart.js +9 -9
- package/devices/zemismart.js.map +1 -1
- package/devices/zigbeetlc.js +53 -20
- package/devices/zigbeetlc.js.map +1 -1
- package/devices/zipato.js +35 -2
- package/devices/zipato.js.map +1 -1
- package/lib/generateDefinition.d.ts.map +1 -1
- package/lib/generateDefinition.js +3 -16
- package/lib/generateDefinition.js.map +1 -1
- package/lib/ikea.d.ts +3 -3
- package/lib/ikea.d.ts.map +1 -1
- package/lib/ikea.js +16 -16
- package/lib/ikea.js.map +1 -1
- package/lib/lumi.d.ts +7 -3
- package/lib/lumi.d.ts.map +1 -1
- package/lib/lumi.js +4 -4
- package/lib/lumi.js.map +1 -1
- package/package.json +1 -1
package/devices/lumi.js
CHANGED
|
@@ -41,7 +41,6 @@ const toZigbee_1 = __importDefault(require("../converters/toZigbee"));
|
|
|
41
41
|
const exposes = __importStar(require("../lib/exposes"));
|
|
42
42
|
const logger_1 = require("../lib/logger");
|
|
43
43
|
const lumi = __importStar(require("../lib/lumi"));
|
|
44
|
-
const modernExtend_1 = require("../lib/modernExtend");
|
|
45
44
|
const m = __importStar(require("../lib/modernExtend"));
|
|
46
45
|
const reporting = __importStar(require("../lib/reporting"));
|
|
47
46
|
const globalStore = __importStar(require("../lib/store"));
|
|
@@ -64,7 +63,7 @@ const definitions = [
|
|
|
64
63
|
const endpoint = device.getEndpoint(1);
|
|
65
64
|
await endpoint.read('genPowerCfg', ['batteryVoltage']);
|
|
66
65
|
},
|
|
67
|
-
extend: [
|
|
66
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
68
67
|
},
|
|
69
68
|
{
|
|
70
69
|
zigbeeModel: ['lumi.airm.fhac01'],
|
|
@@ -90,7 +89,7 @@ const definitions = [
|
|
|
90
89
|
await endpoint.read('genPowerCfg', ['batteryVoltage']);
|
|
91
90
|
},
|
|
92
91
|
extend: [
|
|
93
|
-
|
|
92
|
+
m.quirkCheckinInterval('1_HOUR'),
|
|
94
93
|
// OTA request: "fieldControl":0, "manufacturerCode":4447, "imageType":10635, no available for now
|
|
95
94
|
// https://github.com/Koenkk/zigbee-OTA/pull/138
|
|
96
95
|
// lumiZigbeeOTA(),
|
|
@@ -113,18 +112,18 @@ const definitions = [
|
|
|
113
112
|
.enum('detection_distance', ea.ALL, ['10mm', '20mm', '30mm'])
|
|
114
113
|
.withDescription('The sensor will be considered "off" within the set distance. Please press the device button before setting'),
|
|
115
114
|
],
|
|
116
|
-
extend: [
|
|
115
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
117
116
|
},
|
|
118
117
|
{
|
|
119
118
|
zigbeeModel: ['lumi.dimmer.rcbac1'],
|
|
120
119
|
model: 'ZNDDMK11LM',
|
|
121
120
|
vendor: 'Aqara',
|
|
122
121
|
description: 'Smart lightstrip driver',
|
|
123
|
-
fromZigbee: [lumi.fromZigbee.lumi_power, lumi.fromZigbee.lumi_specific, ...
|
|
122
|
+
fromZigbee: [lumi.fromZigbee.lumi_power, lumi.fromZigbee.lumi_specific, ...m.light({ colorTemp: { range: undefined }, color: true }).fromZigbee],
|
|
124
123
|
toZigbee: [
|
|
125
124
|
lumi.toZigbee.lumi_dimmer_mode,
|
|
126
125
|
lumi.toZigbee.lumi_switch_power_outage_memory,
|
|
127
|
-
...
|
|
126
|
+
...m.light({ colorTemp: { range: undefined }, color: true }).toZigbee,
|
|
128
127
|
],
|
|
129
128
|
exposes: [
|
|
130
129
|
e.power(),
|
|
@@ -138,7 +137,7 @@ const definitions = [
|
|
|
138
137
|
e.light_brightness_colortemp([153, 370]).removeFeature('color_temp_startup').withEndpoint('l2'),
|
|
139
138
|
e.enum('dimmer_mode', ea.ALL, ['rgbw', 'dual_ct']).withDescription('Switch between rgbw mode or dual color temperature mode'),
|
|
140
139
|
],
|
|
141
|
-
extend: [
|
|
140
|
+
extend: [m.deviceEndpoints({ endpoints: { l1: 1, l2: 2 } }), lumiZigbeeOTA()],
|
|
142
141
|
},
|
|
143
142
|
{
|
|
144
143
|
zigbeeModel: ['lumi.light.aqcn02'],
|
|
@@ -163,8 +162,8 @@ const definitions = [
|
|
|
163
162
|
extend: [
|
|
164
163
|
lumiZigbeeOTA(),
|
|
165
164
|
lumiLight({ colorTemp: true, powerOutageMemory: 'switch' }),
|
|
166
|
-
|
|
167
|
-
|
|
165
|
+
m.forceDeviceType({ type: 'Router' }),
|
|
166
|
+
m.forcePowerSource({ powerSource: 'Mains (single phase)' }),
|
|
168
167
|
],
|
|
169
168
|
},
|
|
170
169
|
{
|
|
@@ -225,7 +224,7 @@ const definitions = [
|
|
|
225
224
|
e.power_outage_count(false),
|
|
226
225
|
],
|
|
227
226
|
toZigbee: [],
|
|
228
|
-
extend: [
|
|
227
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
229
228
|
},
|
|
230
229
|
{
|
|
231
230
|
zigbeeModel: ['lumi.sensor_switch.aq2', 'lumi.remote.b1acn01'],
|
|
@@ -242,7 +241,7 @@ const definitions = [
|
|
|
242
241
|
],
|
|
243
242
|
fromZigbee: [lumi.fromZigbee.lumi_action_multistate, lumi.fromZigbee.lumi_action, lumi.fromZigbee.lumi_basic],
|
|
244
243
|
toZigbee: [],
|
|
245
|
-
extend: [
|
|
244
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
246
245
|
},
|
|
247
246
|
{
|
|
248
247
|
zigbeeModel: ['lumi.sensor_switch.aq3', 'lumi.sensor_swit'],
|
|
@@ -253,7 +252,7 @@ const definitions = [
|
|
|
253
252
|
exposes: [e.battery(), e.action(['single', 'double', 'hold', 'release', 'shake']), e.battery_voltage()],
|
|
254
253
|
fromZigbee: [lumi.fromZigbee.lumi_basic, lumi.fromZigbee.lumi_action_multistate],
|
|
255
254
|
toZigbee: [],
|
|
256
|
-
extend: [
|
|
255
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
257
256
|
},
|
|
258
257
|
{
|
|
259
258
|
zigbeeModel: ['lumi.sensor_86sw1'],
|
|
@@ -264,7 +263,7 @@ const definitions = [
|
|
|
264
263
|
exposes: [e.battery(), e.action(['single']), e.battery_voltage()],
|
|
265
264
|
fromZigbee: [lumi.fromZigbee.lumi_action, lumi.fromZigbee.lumi_basic],
|
|
266
265
|
toZigbee: [],
|
|
267
|
-
extend: [
|
|
266
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiPreventReset()],
|
|
268
267
|
},
|
|
269
268
|
{
|
|
270
269
|
zigbeeModel: ['lumi.remote.b186acn01'],
|
|
@@ -275,7 +274,7 @@ const definitions = [
|
|
|
275
274
|
exposes: [e.battery(), e.action(['single', 'double', 'hold']), e.battery_voltage()],
|
|
276
275
|
fromZigbee: [lumi.fromZigbee.lumi_action, lumi.fromZigbee.lumi_action_multistate, lumi.fromZigbee.lumi_basic],
|
|
277
276
|
toZigbee: [],
|
|
278
|
-
extend: [
|
|
277
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiPreventReset()],
|
|
279
278
|
},
|
|
280
279
|
{
|
|
281
280
|
zigbeeModel: ['lumi.remote.b186acn02'],
|
|
@@ -286,7 +285,7 @@ const definitions = [
|
|
|
286
285
|
toZigbee: [],
|
|
287
286
|
exposes: [e.battery(), e.action(['single', 'double', 'hold']), e.battery_voltage()],
|
|
288
287
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
289
|
-
extend: [
|
|
288
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiPreventReset()],
|
|
290
289
|
configure: async (device, coordinatorEndpoint) => {
|
|
291
290
|
try {
|
|
292
291
|
const endpoint = device.endpoints[1];
|
|
@@ -304,9 +303,9 @@ const definitions = [
|
|
|
304
303
|
whiteLabel: [{ vendor: 'Aqara', model: 'RLS-K01D' }],
|
|
305
304
|
description: 'Light strip T1',
|
|
306
305
|
extend: [
|
|
307
|
-
|
|
306
|
+
m.light({ effect: false, powerOnBehavior: false, colorTemp: { startup: false, range: [153, 370] }, color: true }),
|
|
308
307
|
lumiPowerOnBehavior(),
|
|
309
|
-
|
|
308
|
+
m.numeric({
|
|
310
309
|
name: 'length',
|
|
311
310
|
valueMin: 1,
|
|
312
311
|
valueMax: 10,
|
|
@@ -318,7 +317,7 @@ const definitions = [
|
|
|
318
317
|
description: 'LED strip length',
|
|
319
318
|
zigbeeCommandOptions: { manufacturerCode },
|
|
320
319
|
}),
|
|
321
|
-
|
|
320
|
+
m.numeric({
|
|
322
321
|
name: 'min_brightness',
|
|
323
322
|
valueMin: 0,
|
|
324
323
|
valueMax: 99,
|
|
@@ -328,7 +327,7 @@ const definitions = [
|
|
|
328
327
|
description: 'Minimum brightness level',
|
|
329
328
|
zigbeeCommandOptions: { manufacturerCode },
|
|
330
329
|
}),
|
|
331
|
-
|
|
330
|
+
m.numeric({
|
|
332
331
|
name: 'max_brightness',
|
|
333
332
|
valueMin: 1,
|
|
334
333
|
valueMax: 100,
|
|
@@ -338,7 +337,7 @@ const definitions = [
|
|
|
338
337
|
description: 'Maximum brightness level',
|
|
339
338
|
zigbeeCommandOptions: { manufacturerCode },
|
|
340
339
|
}),
|
|
341
|
-
|
|
340
|
+
m.binary({
|
|
342
341
|
name: 'audio',
|
|
343
342
|
valueOn: ['ON', 1],
|
|
344
343
|
valueOff: ['OFF', 0],
|
|
@@ -347,7 +346,7 @@ const definitions = [
|
|
|
347
346
|
description: 'Enabling audio',
|
|
348
347
|
zigbeeCommandOptions: { manufacturerCode },
|
|
349
348
|
}),
|
|
350
|
-
|
|
349
|
+
m.enumLookup({
|
|
351
350
|
name: 'audio_sensitivity',
|
|
352
351
|
lookup: { low: 0, medium: 1, high: 2 },
|
|
353
352
|
cluster: 'manuSpecificLumi',
|
|
@@ -355,7 +354,7 @@ const definitions = [
|
|
|
355
354
|
description: 'Audio sensitivity',
|
|
356
355
|
zigbeeCommandOptions: { manufacturerCode },
|
|
357
356
|
}),
|
|
358
|
-
|
|
357
|
+
m.enumLookup({
|
|
359
358
|
name: 'audio_effect',
|
|
360
359
|
lookup: { random: 0, blink: 1, rainbow: 2, wave: 3 },
|
|
361
360
|
cluster: 'manuSpecificLumi',
|
|
@@ -363,7 +362,7 @@ const definitions = [
|
|
|
363
362
|
description: 'Audio effect',
|
|
364
363
|
zigbeeCommandOptions: { manufacturerCode },
|
|
365
364
|
}),
|
|
366
|
-
|
|
365
|
+
m.numeric({
|
|
367
366
|
name: 'preset',
|
|
368
367
|
valueMin: 1,
|
|
369
368
|
valueMax: 32,
|
|
@@ -372,7 +371,7 @@ const definitions = [
|
|
|
372
371
|
description: 'Preset index (0-6 default presets)',
|
|
373
372
|
zigbeeCommandOptions: { manufacturerCode },
|
|
374
373
|
}),
|
|
375
|
-
|
|
374
|
+
m.numeric({
|
|
376
375
|
name: 'speed',
|
|
377
376
|
valueMin: 1,
|
|
378
377
|
valueMax: 100,
|
|
@@ -393,7 +392,7 @@ const definitions = [
|
|
|
393
392
|
exposes: [e.battery(), e.action(['single_left', 'single_right', 'single_both']), e.battery_voltage(), e.power_outage_count(false)],
|
|
394
393
|
fromZigbee: [lumi.fromZigbee.lumi_action, lumi.fromZigbee.lumi_basic],
|
|
395
394
|
toZigbee: [],
|
|
396
|
-
extend: [
|
|
395
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiPreventReset()],
|
|
397
396
|
},
|
|
398
397
|
{
|
|
399
398
|
zigbeeModel: ['lumi.remote.b286acn01'],
|
|
@@ -418,7 +417,7 @@ const definitions = [
|
|
|
418
417
|
],
|
|
419
418
|
fromZigbee: [lumi.fromZigbee.lumi_action, lumi.fromZigbee.lumi_action_multistate, lumi.fromZigbee.lumi_basic],
|
|
420
419
|
toZigbee: [],
|
|
421
|
-
extend: [
|
|
420
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiPreventReset()],
|
|
422
421
|
},
|
|
423
422
|
{
|
|
424
423
|
zigbeeModel: ['lumi.switch.b1laus01'],
|
|
@@ -1127,7 +1126,7 @@ const definitions = [
|
|
|
1127
1126
|
'hold_both',
|
|
1128
1127
|
]),
|
|
1129
1128
|
],
|
|
1130
|
-
extend: [
|
|
1129
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiPreventReset()],
|
|
1131
1130
|
},
|
|
1132
1131
|
{
|
|
1133
1132
|
zigbeeModel: ['lumi.switch.b1lacn02'],
|
|
@@ -1389,7 +1388,7 @@ const definitions = [
|
|
|
1389
1388
|
description: 'Smart wall switch T1 (no neutral, double rocker)',
|
|
1390
1389
|
extend: [
|
|
1391
1390
|
lumiZigbeeOTA(),
|
|
1392
|
-
|
|
1391
|
+
m.deviceEndpoints({ endpoints: { left: 1, right: 2 } }),
|
|
1393
1392
|
lumiOnOff({ powerOutageMemory: 'binary', operationMode: true, endpointNames: ['left', 'right'] }),
|
|
1394
1393
|
lumiLedDisabledNight(),
|
|
1395
1394
|
lumiFlipIndicatorLight(),
|
|
@@ -1419,10 +1418,10 @@ const definitions = [
|
|
|
1419
1418
|
vendor: 'Aqara',
|
|
1420
1419
|
description: 'Smart wall switch T1 (with neutral, double rocker)',
|
|
1421
1420
|
extend: [
|
|
1422
|
-
|
|
1423
|
-
|
|
1421
|
+
m.forceDeviceType({ type: 'Router' }),
|
|
1422
|
+
m.forcePowerSource({ powerSource: 'Mains (single phase)' }),
|
|
1424
1423
|
lumiZigbeeOTA(),
|
|
1425
|
-
|
|
1424
|
+
m.deviceEndpoints({ endpoints: { left: 1, right: 2 } }),
|
|
1426
1425
|
lumiOnOff({ powerOutageMemory: 'binary', operationMode: true, endpointNames: ['left', 'right'] }),
|
|
1427
1426
|
lumiLedDisabledNight(),
|
|
1428
1427
|
lumiFlipIndicatorLight(),
|
|
@@ -1439,7 +1438,7 @@ const definitions = [
|
|
|
1439
1438
|
description: 'Smart wall switch T1 (no neutral, triple rocker)',
|
|
1440
1439
|
extend: [
|
|
1441
1440
|
lumiZigbeeOTA(),
|
|
1442
|
-
|
|
1441
|
+
m.deviceEndpoints({ endpoints: { left: 1, center: 2, right: 3 } }),
|
|
1443
1442
|
lumiOnOff({ powerOutageMemory: 'binary', operationMode: true, endpointNames: ['left', 'center', 'right'] }),
|
|
1444
1443
|
lumiLedDisabledNight(),
|
|
1445
1444
|
lumiFlipIndicatorLight(),
|
|
@@ -1465,7 +1464,7 @@ const definitions = [
|
|
|
1465
1464
|
description: 'Smart wall switch T1 (with neutral, triple rocker)',
|
|
1466
1465
|
extend: [
|
|
1467
1466
|
lumiZigbeeOTA(),
|
|
1468
|
-
|
|
1467
|
+
m.deviceEndpoints({ endpoints: { left: 1, center: 2, right: 3 } }),
|
|
1469
1468
|
lumiOnOff({ powerOutageMemory: 'binary', operationMode: true, endpointNames: ['left', 'center', 'right'] }),
|
|
1470
1469
|
lumiLedDisabledNight(),
|
|
1471
1470
|
lumiFlipIndicatorLight(),
|
|
@@ -1500,7 +1499,7 @@ const definitions = [
|
|
|
1500
1499
|
fromZigbee: [lumi.fromZigbee.lumi_basic, lumi.fromZigbee.lumi_temperature, fromZigbee_1.default.humidity],
|
|
1501
1500
|
toZigbee: [],
|
|
1502
1501
|
exposes: [e.battery(), e.temperature(), e.humidity(), e.battery_voltage()],
|
|
1503
|
-
extend: [
|
|
1502
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
1504
1503
|
},
|
|
1505
1504
|
{
|
|
1506
1505
|
zigbeeModel: ['lumi.weather'],
|
|
@@ -1515,7 +1514,7 @@ const definitions = [
|
|
|
1515
1514
|
device.powerSource = 'Battery';
|
|
1516
1515
|
device.save();
|
|
1517
1516
|
},
|
|
1518
|
-
extend: [
|
|
1517
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
1519
1518
|
},
|
|
1520
1519
|
{
|
|
1521
1520
|
zigbeeModel: ['lumi.sensor_ht.agl02'],
|
|
@@ -1536,7 +1535,7 @@ const definitions = [
|
|
|
1536
1535
|
await reporting.bind(endpoint, coordinatorEndpoint, binds);
|
|
1537
1536
|
await endpoint.read('genPowerCfg', ['batteryVoltage']);
|
|
1538
1537
|
},
|
|
1539
|
-
extend: [
|
|
1538
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
1540
1539
|
},
|
|
1541
1540
|
{
|
|
1542
1541
|
zigbeeModel: ['lumi.sensor_motion'],
|
|
@@ -1553,7 +1552,7 @@ const definitions = [
|
|
|
1553
1552
|
fromZigbee: [lumi.fromZigbee.lumi_basic, fromZigbee_1.default.occupancy_with_timeout],
|
|
1554
1553
|
toZigbee: [],
|
|
1555
1554
|
exposes: [e.battery(), e.occupancy(), e.battery_voltage(), e.power_outage_count(false)],
|
|
1556
|
-
extend: [
|
|
1555
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
1557
1556
|
},
|
|
1558
1557
|
{
|
|
1559
1558
|
zigbeeModel: ['lumi.sensor_motion.aq2'],
|
|
@@ -1564,7 +1563,7 @@ const definitions = [
|
|
|
1564
1563
|
fromZigbee: [lumi.fromZigbee.lumi_basic, fromZigbee_1.default.occupancy_with_timeout, lumi.fromZigbee.lumi_illuminance],
|
|
1565
1564
|
toZigbee: [],
|
|
1566
1565
|
exposes: [e.battery(), e.occupancy(), e.device_temperature(), e.battery_voltage(), e.illuminance(), e.power_outage_count(false)],
|
|
1567
|
-
extend: [
|
|
1566
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
1568
1567
|
},
|
|
1569
1568
|
{
|
|
1570
1569
|
zigbeeModel: ['lumi.motion.agl02'],
|
|
@@ -1594,7 +1593,7 @@ const definitions = [
|
|
|
1594
1593
|
await endpoint.read('genPowerCfg', ['batteryVoltage']);
|
|
1595
1594
|
await endpoint.read('manuSpecificLumi', [0x0102], { manufacturerCode: manufacturerCode });
|
|
1596
1595
|
},
|
|
1597
|
-
extend: [
|
|
1596
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
1598
1597
|
},
|
|
1599
1598
|
{
|
|
1600
1599
|
zigbeeModel: ['lumi.motion.agl04'],
|
|
@@ -1624,7 +1623,7 @@ const definitions = [
|
|
|
1624
1623
|
await endpoint.read('manuSpecificLumi', [0x0102], { manufacturerCode: manufacturerCode });
|
|
1625
1624
|
await endpoint.read('manuSpecificLumi', [0x010c], { manufacturerCode: manufacturerCode });
|
|
1626
1625
|
},
|
|
1627
|
-
extend: [
|
|
1626
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
1628
1627
|
},
|
|
1629
1628
|
{
|
|
1630
1629
|
zigbeeModel: ['lumi.motion.ac02'],
|
|
@@ -1660,7 +1659,7 @@ const definitions = [
|
|
|
1660
1659
|
await endpoint.read('manuSpecificLumi', [0x010c], { manufacturerCode: manufacturerCode });
|
|
1661
1660
|
await endpoint.read('manuSpecificLumi', [0x0152], { manufacturerCode: manufacturerCode });
|
|
1662
1661
|
},
|
|
1663
|
-
extend: [
|
|
1662
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
1664
1663
|
},
|
|
1665
1664
|
{
|
|
1666
1665
|
zigbeeModel: ['lumi.motion.acn001'],
|
|
@@ -1689,7 +1688,7 @@ const definitions = [
|
|
|
1689
1688
|
await endpoint.read('genPowerCfg', ['batteryVoltage']);
|
|
1690
1689
|
await endpoint.read('manuSpecificLumi', [0x0102], { manufacturerCode: manufacturerCode });
|
|
1691
1690
|
},
|
|
1692
|
-
extend: [
|
|
1691
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
1693
1692
|
},
|
|
1694
1693
|
{
|
|
1695
1694
|
zigbeeModel: ['lumi.motion.ac01'],
|
|
@@ -1793,7 +1792,7 @@ const definitions = [
|
|
|
1793
1792
|
lumi.lumiModernExtend.fp1eDetectionRange(),
|
|
1794
1793
|
lumi.lumiModernExtend.fp1eSpatialLearning(),
|
|
1795
1794
|
lumi.lumiModernExtend.fp1eRestartDevice(),
|
|
1796
|
-
|
|
1795
|
+
m.identify(),
|
|
1797
1796
|
],
|
|
1798
1797
|
},
|
|
1799
1798
|
{
|
|
@@ -1811,7 +1810,7 @@ const definitions = [
|
|
|
1811
1810
|
fromZigbee: [lumi.fromZigbee.lumi_basic, lumi.fromZigbee.lumi_contact],
|
|
1812
1811
|
toZigbee: [],
|
|
1813
1812
|
exposes: [e.battery(), e.contact(), e.battery_voltage(), e.power_outage_count(false)],
|
|
1814
|
-
extend: [
|
|
1813
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
1815
1814
|
},
|
|
1816
1815
|
{
|
|
1817
1816
|
zigbeeModel: ['lumi.sensor_magnet.aq2'],
|
|
@@ -1822,7 +1821,7 @@ const definitions = [
|
|
|
1822
1821
|
fromZigbee: [lumi.fromZigbee.lumi_basic, lumi.fromZigbee.lumi_contact],
|
|
1823
1822
|
toZigbee: [],
|
|
1824
1823
|
exposes: [e.battery(), e.contact(), e.device_temperature(), e.battery_voltage(), e.power_outage_count(false), e.trigger_count()],
|
|
1825
|
-
extend: [
|
|
1824
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
1826
1825
|
configure: async (device) => {
|
|
1827
1826
|
device.powerSource = 'Battery';
|
|
1828
1827
|
device.save();
|
|
@@ -1845,7 +1844,7 @@ const definitions = [
|
|
|
1845
1844
|
e.power_outage_count(false),
|
|
1846
1845
|
e.trigger_count(),
|
|
1847
1846
|
],
|
|
1848
|
-
extend: [
|
|
1847
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
1849
1848
|
},
|
|
1850
1849
|
{
|
|
1851
1850
|
zigbeeModel: ['lumi.flood.agl02'],
|
|
@@ -1860,7 +1859,7 @@ const definitions = [
|
|
|
1860
1859
|
fromZigbee: [lumi.fromZigbee.lumi_basic, fromZigbee_1.default.ias_water_leak_alarm_1, lumi.fromZigbee.lumi_specific],
|
|
1861
1860
|
toZigbee: [],
|
|
1862
1861
|
exposes: [e.battery(), e.water_leak(), e.battery_low(), e.tamper(), e.battery_voltage()],
|
|
1863
|
-
extend: [
|
|
1862
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
1864
1863
|
},
|
|
1865
1864
|
{
|
|
1866
1865
|
zigbeeModel: ['lumi.sensor_cube', 'lumi.sensor_cube.aqgl01'],
|
|
@@ -1883,7 +1882,7 @@ const definitions = [
|
|
|
1883
1882
|
e.action(['shake', 'throw', 'wakeup', 'fall', 'tap', 'slide', 'flip180', 'flip90', 'rotate_left', 'rotate_right']),
|
|
1884
1883
|
],
|
|
1885
1884
|
toZigbee: [],
|
|
1886
|
-
extend: [
|
|
1885
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
1887
1886
|
},
|
|
1888
1887
|
{
|
|
1889
1888
|
zigbeeModel: ['lumi.plug'],
|
|
@@ -1981,7 +1980,7 @@ const definitions = [
|
|
|
1981
1980
|
model: 'SP-EUC01',
|
|
1982
1981
|
description: 'Smart plug EU',
|
|
1983
1982
|
vendor: 'Aqara',
|
|
1984
|
-
extend: [
|
|
1983
|
+
extend: [m.forceDeviceType({ type: 'Router' }), lumiZigbeeOTA()],
|
|
1985
1984
|
fromZigbee: [
|
|
1986
1985
|
fromZigbee_1.default.on_off,
|
|
1987
1986
|
lumi.fromZigbee.lumi_basic,
|
|
@@ -2087,7 +2086,7 @@ const definitions = [
|
|
|
2087
2086
|
e.led_disabled_night(),
|
|
2088
2087
|
e.auto_off(30),
|
|
2089
2088
|
],
|
|
2090
|
-
extend: [
|
|
2089
|
+
extend: [m.customTimeResponse('2000_LOCAL')],
|
|
2091
2090
|
},
|
|
2092
2091
|
{
|
|
2093
2092
|
zigbeeModel: ['lumi.ctrl_86plug', 'lumi.ctrl_86plug.aq1'],
|
|
@@ -2128,7 +2127,7 @@ const definitions = [
|
|
|
2128
2127
|
e.device_temperature(),
|
|
2129
2128
|
e.power_outage_count(false),
|
|
2130
2129
|
],
|
|
2131
|
-
extend: [
|
|
2130
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
2132
2131
|
},
|
|
2133
2132
|
{
|
|
2134
2133
|
zigbeeModel: ['lumi.sensor_natgas'],
|
|
@@ -2272,7 +2271,7 @@ const definitions = [
|
|
|
2272
2271
|
await endpoint.read('manuSpecificLumi', [0x0126], { manufacturerCode: manufacturerCode });
|
|
2273
2272
|
await endpoint.read('manuSpecificLumi', [0x014b], { manufacturerCode: manufacturerCode });
|
|
2274
2273
|
},
|
|
2275
|
-
extend: [
|
|
2274
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
2276
2275
|
},
|
|
2277
2276
|
{
|
|
2278
2277
|
zigbeeModel: ['lumi.lock.v1'],
|
|
@@ -2307,7 +2306,7 @@ const definitions = [
|
|
|
2307
2306
|
e.battery_voltage(),
|
|
2308
2307
|
e.power_outage_count(false),
|
|
2309
2308
|
],
|
|
2310
|
-
extend: [
|
|
2309
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
2311
2310
|
},
|
|
2312
2311
|
{
|
|
2313
2312
|
zigbeeModel: ['lumi.vibration.agl01'],
|
|
@@ -2319,9 +2318,9 @@ const definitions = [
|
|
|
2319
2318
|
// Doesn't seem to be working at all
|
|
2320
2319
|
// https://github.com/Koenkk/zigbee2mqtt/issues/21731
|
|
2321
2320
|
// lumiMiscellaneous(),
|
|
2322
|
-
|
|
2321
|
+
m.battery({ voltageToPercentage: { min: 2850, max: 3000 }, voltage: true }),
|
|
2323
2322
|
lumiZigbeeOTA(),
|
|
2324
|
-
|
|
2323
|
+
m.quirkCheckinInterval('1_HOUR'),
|
|
2325
2324
|
],
|
|
2326
2325
|
},
|
|
2327
2326
|
{
|
|
@@ -2444,7 +2443,7 @@ const definitions = [
|
|
|
2444
2443
|
.withDescription('Performs an automatic calibration process similar to Aqara’s method to set curtain limits.'),
|
|
2445
2444
|
],
|
|
2446
2445
|
extend: [
|
|
2447
|
-
|
|
2446
|
+
m.windowCovering({ controls: ['lift'], coverInverted: true, configureReporting: true }),
|
|
2448
2447
|
lumiCurtainSpeed(),
|
|
2449
2448
|
lumiCurtainManualOpenClose(),
|
|
2450
2449
|
lumiCurtainAdaptivePullingSpeed(),
|
|
@@ -2457,7 +2456,7 @@ const definitions = [
|
|
|
2457
2456
|
lumiCurtainCalibrationStatus(),
|
|
2458
2457
|
lumiCurtainCalibrated(),
|
|
2459
2458
|
lumiCurtainIdentifyBeep(),
|
|
2460
|
-
|
|
2459
|
+
m.identify(),
|
|
2461
2460
|
lumiZigbeeOTA(),
|
|
2462
2461
|
],
|
|
2463
2462
|
},
|
|
@@ -2500,7 +2499,7 @@ const definitions = [
|
|
|
2500
2499
|
await endpoint.read('manuSpecificLumi', [0x040a], { manufacturerCode: manufacturerCode });
|
|
2501
2500
|
},
|
|
2502
2501
|
extend: [
|
|
2503
|
-
|
|
2502
|
+
m.quirkAddEndpointCluster({
|
|
2504
2503
|
endpointID: 1,
|
|
2505
2504
|
inputClusters: ['manuSpecificLumi'],
|
|
2506
2505
|
}),
|
|
@@ -2615,7 +2614,7 @@ const definitions = [
|
|
|
2615
2614
|
lumiOperationMode({ description: 'Decoupled mode for 1st relay', endpointName: 'l1' }),
|
|
2616
2615
|
lumiOperationMode({ description: 'Decoupled mode for 2nd relay', endpointName: 'l2' }),
|
|
2617
2616
|
lumiAction({ endpointNames: ['l1', 'l2'] }),
|
|
2618
|
-
|
|
2617
|
+
m.binary({
|
|
2619
2618
|
name: 'interlock',
|
|
2620
2619
|
valueOn: ['ON', 1],
|
|
2621
2620
|
valueOff: ['OFF', 0],
|
|
@@ -2624,7 +2623,7 @@ const definitions = [
|
|
|
2624
2623
|
description: 'Enabling prevents both relays being on at the same time (Interlock)',
|
|
2625
2624
|
zigbeeCommandOptions: { manufacturerCode },
|
|
2626
2625
|
}),
|
|
2627
|
-
|
|
2626
|
+
m.enumLookup({
|
|
2628
2627
|
name: 'mode',
|
|
2629
2628
|
lookup: { power: 0, pulse: 1, dry: 3 },
|
|
2630
2629
|
cluster: 'manuSpecificLumi',
|
|
@@ -2632,7 +2631,7 @@ const definitions = [
|
|
|
2632
2631
|
description: 'Work mode: Power mode, Dry mode with impulse, Dry mode',
|
|
2633
2632
|
zigbeeCommandOptions: { manufacturerCode },
|
|
2634
2633
|
}),
|
|
2635
|
-
|
|
2634
|
+
m.numeric({
|
|
2636
2635
|
name: 'pulse_length',
|
|
2637
2636
|
valueMin: 200,
|
|
2638
2637
|
valueMax: 2000,
|
|
@@ -2684,7 +2683,7 @@ const definitions = [
|
|
|
2684
2683
|
device.type = 'EndDevice';
|
|
2685
2684
|
device.save();
|
|
2686
2685
|
},
|
|
2687
|
-
extend: [
|
|
2686
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
2688
2687
|
},
|
|
2689
2688
|
{
|
|
2690
2689
|
zigbeeModel: ['lumi.lock.acn03'],
|
|
@@ -2716,7 +2715,7 @@ const definitions = [
|
|
|
2716
2715
|
'door_closed',
|
|
2717
2716
|
]),
|
|
2718
2717
|
],
|
|
2719
|
-
extend: [
|
|
2718
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
2720
2719
|
configure: async (device, coordinatorEndpoint) => {
|
|
2721
2720
|
// Device advertises itself as Router but is an EndDevice
|
|
2722
2721
|
device.type = 'EndDevice';
|
|
@@ -2753,7 +2752,7 @@ const definitions = [
|
|
|
2753
2752
|
'door_closed',
|
|
2754
2753
|
]),
|
|
2755
2754
|
],
|
|
2756
|
-
extend: [
|
|
2755
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
2757
2756
|
},
|
|
2758
2757
|
{
|
|
2759
2758
|
zigbeeModel: ['lumi.remote.b286opcn01'],
|
|
@@ -2788,7 +2787,7 @@ const definitions = [
|
|
|
2788
2787
|
],
|
|
2789
2788
|
toZigbee: [lumi.toZigbee.lumi_operation_mode_opple],
|
|
2790
2789
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
2791
|
-
extend: [
|
|
2790
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
2792
2791
|
configure: async (device, coordinatorEndpoint) => {
|
|
2793
2792
|
const endpoint = device.getEndpoint(1);
|
|
2794
2793
|
await endpoint.write('manuSpecificLumi', { mode: 1 }, { manufacturerCode: manufacturerCode });
|
|
@@ -2840,7 +2839,7 @@ const definitions = [
|
|
|
2840
2839
|
],
|
|
2841
2840
|
toZigbee: [lumi.toZigbee.lumi_operation_mode_opple],
|
|
2842
2841
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
2843
|
-
extend: [
|
|
2842
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
2844
2843
|
configure: async (device, coordinatorEndpoint) => {
|
|
2845
2844
|
const endpoint = device.getEndpoint(1);
|
|
2846
2845
|
await endpoint.write('manuSpecificLumi', { mode: 1 }, { manufacturerCode: manufacturerCode });
|
|
@@ -2906,7 +2905,7 @@ const definitions = [
|
|
|
2906
2905
|
],
|
|
2907
2906
|
toZigbee: [lumi.toZigbee.lumi_operation_mode_opple],
|
|
2908
2907
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
2909
|
-
extend: [
|
|
2908
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
2910
2909
|
configure: async (device, coordinatorEndpoint) => {
|
|
2911
2910
|
const endpoint = device.getEndpoint(1);
|
|
2912
2911
|
await endpoint.write('manuSpecificLumi', { mode: 1 }, { manufacturerCode: manufacturerCode });
|
|
@@ -2921,7 +2920,7 @@ const definitions = [
|
|
|
2921
2920
|
description: 'Mi light sensor',
|
|
2922
2921
|
fromZigbee: [fromZigbee_1.default.battery, lumi.fromZigbee.lumi_specific],
|
|
2923
2922
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
2924
|
-
extend: [
|
|
2923
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), m.illuminance()],
|
|
2925
2924
|
exposes: [e.battery(), e.battery_voltage()],
|
|
2926
2925
|
},
|
|
2927
2926
|
{
|
|
@@ -2942,7 +2941,7 @@ const definitions = [
|
|
|
2942
2941
|
powerOutageMemory: 'enum',
|
|
2943
2942
|
levelConfig: { disabledFeatures: ['current_level_startup'] },
|
|
2944
2943
|
}),
|
|
2945
|
-
|
|
2944
|
+
m.numeric({
|
|
2946
2945
|
name: 'min_brightness',
|
|
2947
2946
|
valueMin: 0,
|
|
2948
2947
|
valueMax: 99,
|
|
@@ -2952,7 +2951,7 @@ const definitions = [
|
|
|
2952
2951
|
description: 'Minimum brightness level',
|
|
2953
2952
|
zigbeeCommandOptions: { manufacturerCode },
|
|
2954
2953
|
}),
|
|
2955
|
-
|
|
2954
|
+
m.numeric({
|
|
2956
2955
|
name: 'max_brightness',
|
|
2957
2956
|
valueMin: 1,
|
|
2958
2957
|
valueMax: 100,
|
|
@@ -2969,7 +2968,7 @@ const definitions = [
|
|
|
2969
2968
|
model: 'ZNTGMK11LM',
|
|
2970
2969
|
vendor: 'Aqara',
|
|
2971
2970
|
description: 'Smart RGBW light controller',
|
|
2972
|
-
extend: [
|
|
2971
|
+
extend: [m.light({ colorTemp: { range: undefined }, color: { modes: ['xy', 'hs'] } }), lumiZigbeeOTA()],
|
|
2973
2972
|
},
|
|
2974
2973
|
{
|
|
2975
2974
|
zigbeeModel: ['lumi.light.cwacn1'],
|
|
@@ -2983,7 +2982,7 @@ const definitions = [
|
|
|
2983
2982
|
model: 'HLQDQ01LM',
|
|
2984
2983
|
vendor: 'Aqara',
|
|
2985
2984
|
description: 'Smart LED controller',
|
|
2986
|
-
extend: [
|
|
2985
|
+
extend: [m.light(), lumiZigbeeOTA()],
|
|
2987
2986
|
},
|
|
2988
2987
|
{
|
|
2989
2988
|
zigbeeModel: ['lumi.light.acn004'],
|
|
@@ -3185,7 +3184,7 @@ const definitions = [
|
|
|
3185
3184
|
vendor: 'Aqara',
|
|
3186
3185
|
description: 'Wireless remote switch T1 (single rocker)',
|
|
3187
3186
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
3188
|
-
extend: [
|
|
3187
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
3189
3188
|
fromZigbee: [lumi.fromZigbee.lumi_action, lumi.fromZigbee.lumi_action_multistate, fromZigbee_1.default.battery, lumi.fromZigbee.lumi_specific],
|
|
3190
3189
|
toZigbee: [],
|
|
3191
3190
|
exposes: [e.action(['single', 'double', 'hold']), e.battery()],
|
|
@@ -3199,7 +3198,7 @@ const definitions = [
|
|
|
3199
3198
|
fromZigbee: [fromZigbee_1.default.battery, lumi.fromZigbee.lumi_action_multistate, lumi.fromZigbee.lumi_specific, fromZigbee_1.default.command_toggle],
|
|
3200
3199
|
toZigbee: [lumi.toZigbee.lumi_switch_click_mode, lumi.toZigbee.lumi_operation_mode_opple],
|
|
3201
3200
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } }, multiEndpoint: true },
|
|
3202
|
-
extend: [
|
|
3201
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
3203
3202
|
exposes: [
|
|
3204
3203
|
e.battery(),
|
|
3205
3204
|
e.battery_voltage(),
|
|
@@ -3314,15 +3313,15 @@ const definitions = [
|
|
|
3314
3313
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
3315
3314
|
exposes: [e.device_temperature(), e.battery(), e.battery_voltage()],
|
|
3316
3315
|
extend: [
|
|
3317
|
-
|
|
3318
|
-
|
|
3316
|
+
m.quirkCheckinInterval('1_HOUR'),
|
|
3317
|
+
m.quirkAddEndpointCluster({
|
|
3319
3318
|
endpointID: 1,
|
|
3320
3319
|
inputClusters: ['msTemperatureMeasurement', 'msRelativeHumidity', 'genAnalogInput', 'manuSpecificLumi'],
|
|
3321
3320
|
}),
|
|
3322
3321
|
lumiAirQuality(),
|
|
3323
3322
|
lumiVoc(),
|
|
3324
|
-
|
|
3325
|
-
|
|
3323
|
+
m.temperature(),
|
|
3324
|
+
m.humidity(),
|
|
3326
3325
|
lumiDisplayUnit(),
|
|
3327
3326
|
lumiOutageCountRestoreBindReporting(),
|
|
3328
3327
|
lumiZigbeeOTA(),
|
|
@@ -3435,7 +3434,7 @@ const definitions = [
|
|
|
3435
3434
|
const endpoint1 = device.getEndpoint(1);
|
|
3436
3435
|
await endpoint1.write('manuSpecificLumi', { mode: 1 }, { manufacturerCode: manufacturerCode, disableResponse: true });
|
|
3437
3436
|
},
|
|
3438
|
-
extend: [
|
|
3437
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
3439
3438
|
},
|
|
3440
3439
|
{
|
|
3441
3440
|
zigbeeModel: ['lumi.sen_ill.agl01'],
|
|
@@ -3460,7 +3459,7 @@ const definitions = [
|
|
|
3460
3459
|
await device.getEndpoint(1).write('manuSpecificLumi', { mode: 1 }, { manufacturerCode: manufacturerCode, disableResponse: true });
|
|
3461
3460
|
await endpoint.read('manuSpecificLumi', [0x0000], { manufacturerCode: manufacturerCode });
|
|
3462
3461
|
},
|
|
3463
|
-
extend: [
|
|
3462
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA(), m.illuminance({ reporting: false })],
|
|
3464
3463
|
},
|
|
3465
3464
|
{
|
|
3466
3465
|
zigbeeModel: ['lumi.plug.sacn03'],
|
|
@@ -3511,7 +3510,7 @@ const definitions = [
|
|
|
3511
3510
|
toZigbee: [],
|
|
3512
3511
|
exposes: [e.contact(), e.battery(), e.battery_voltage()],
|
|
3513
3512
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
3514
|
-
extend: [
|
|
3513
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
3515
3514
|
},
|
|
3516
3515
|
{
|
|
3517
3516
|
zigbeeModel: ['lumi.plug.sacn02'],
|
|
@@ -3546,13 +3545,13 @@ const definitions = [
|
|
|
3546
3545
|
vendor: 'Aqara',
|
|
3547
3546
|
description: 'Smart rotary knob H1 (wireless)',
|
|
3548
3547
|
extend: [
|
|
3549
|
-
|
|
3548
|
+
m.quirkCheckinInterval('1_HOUR'),
|
|
3550
3549
|
lumiPreventReset(),
|
|
3551
3550
|
lumiCommandMode(),
|
|
3552
3551
|
lumiAction({ actionLookup: { hold: 0, single: 1, double: 2, release: 255 } }),
|
|
3553
3552
|
lumiBattery({ voltageToPercentage: { min: 2850, max: 3000 } }),
|
|
3554
3553
|
lumiKnobRotation(),
|
|
3555
|
-
|
|
3554
|
+
m.enumLookup({
|
|
3556
3555
|
name: 'sensitivity',
|
|
3557
3556
|
lookup: { low: 720, medium: 360, high: 180 },
|
|
3558
3557
|
cluster: 'manuSpecificLumi',
|
|
@@ -3568,7 +3567,7 @@ const definitions = [
|
|
|
3568
3567
|
vendor: 'Aqara',
|
|
3569
3568
|
description: 'Wireless remote switch E1 (single rocker)',
|
|
3570
3569
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
3571
|
-
extend: [
|
|
3570
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
3572
3571
|
fromZigbee: [lumi.fromZigbee.lumi_action_multistate, lumi.fromZigbee.lumi_specific],
|
|
3573
3572
|
toZigbee: [lumi.toZigbee.lumi_switch_click_mode],
|
|
3574
3573
|
exposes: [
|
|
@@ -3590,7 +3589,7 @@ const definitions = [
|
|
|
3590
3589
|
vendor: 'Aqara',
|
|
3591
3590
|
description: 'Wireless remote switch E1 (double rocker)',
|
|
3592
3591
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
3593
|
-
extend: [
|
|
3592
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiPreventReset()],
|
|
3594
3593
|
exposes: [
|
|
3595
3594
|
e.battery(),
|
|
3596
3595
|
e.battery_voltage(),
|
|
@@ -3627,7 +3626,7 @@ const definitions = [
|
|
|
3627
3626
|
.withDescription('Operation mode, select "command" to enable bindings (wake up the device before changing modes!)'),
|
|
3628
3627
|
],
|
|
3629
3628
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
3630
|
-
extend: [
|
|
3629
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
3631
3630
|
configure: async (device, coordinatorEndpoint) => {
|
|
3632
3631
|
const endpoint1 = device.getEndpoint(1);
|
|
3633
3632
|
await endpoint1.write('manuSpecificLumi', { mode: 1 }, { manufacturerCode: manufacturerCode, disableResponse: true });
|
|
@@ -3679,7 +3678,7 @@ const definitions = [
|
|
|
3679
3678
|
await endpoint.read('manuSpecificLumi', [0x040a], { manufacturerCode: manufacturerCode });
|
|
3680
3679
|
await endpoint.read('genPowerCfg', ['batteryVoltage']);
|
|
3681
3680
|
},
|
|
3682
|
-
extend: [
|
|
3681
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
3683
3682
|
},
|
|
3684
3683
|
{
|
|
3685
3684
|
zigbeeModel: ['aqara.feeder.acn001'],
|
|
@@ -3755,7 +3754,7 @@ const definitions = [
|
|
|
3755
3754
|
fromZigbee: [fromZigbee_1.default.battery, lumi.fromZigbee.lumi_action_multistate, lumi.fromZigbee.lumi_specific],
|
|
3756
3755
|
toZigbee: [],
|
|
3757
3756
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
3758
|
-
extend: [
|
|
3757
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
3759
3758
|
exposes: [
|
|
3760
3759
|
e.battery(),
|
|
3761
3760
|
e.battery_voltage(),
|
|
@@ -3772,7 +3771,7 @@ const definitions = [
|
|
|
3772
3771
|
fromZigbee: [fromZigbee_1.default.battery, lumi.fromZigbee.lumi_action_multistate, lumi.fromZigbee.lumi_specific, fromZigbee_1.default.command_toggle],
|
|
3773
3772
|
toZigbee: [lumi.toZigbee.lumi_switch_click_mode, lumi.toZigbee.lumi_operation_mode_opple],
|
|
3774
3773
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } }, multiEndpoint: true },
|
|
3775
|
-
extend: [
|
|
3774
|
+
extend: [m.quirkCheckinInterval('1_HOUR')],
|
|
3776
3775
|
exposes: [
|
|
3777
3776
|
e.battery(),
|
|
3778
3777
|
e.battery_voltage(),
|
|
@@ -3845,7 +3844,7 @@ const definitions = [
|
|
|
3845
3844
|
'button_3_triple',
|
|
3846
3845
|
]),
|
|
3847
3846
|
],
|
|
3848
|
-
extend: [
|
|
3847
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
3849
3848
|
},
|
|
3850
3849
|
{
|
|
3851
3850
|
zigbeeModel: ['lumi.switch.acn048'],
|
|
@@ -3872,7 +3871,7 @@ const definitions = [
|
|
|
3872
3871
|
extend: [
|
|
3873
3872
|
lumiZigbeeOTA(),
|
|
3874
3873
|
lumiPreventReset(),
|
|
3875
|
-
|
|
3874
|
+
m.deviceEndpoints({ endpoints: { top: 1, bottom: 2 } }),
|
|
3876
3875
|
lumiOnOff({
|
|
3877
3876
|
operationMode: true,
|
|
3878
3877
|
powerOutageMemory: 'enum',
|
|
@@ -3895,7 +3894,7 @@ const definitions = [
|
|
|
3895
3894
|
extend: [
|
|
3896
3895
|
lumiZigbeeOTA(),
|
|
3897
3896
|
lumiPreventReset(),
|
|
3898
|
-
|
|
3897
|
+
m.deviceEndpoints({ endpoints: { top: 1, center: 2, bottom: 3 } }),
|
|
3899
3898
|
lumiOnOff({
|
|
3900
3899
|
operationMode: true,
|
|
3901
3900
|
powerOutageMemory: 'enum',
|
|
@@ -3918,7 +3917,7 @@ const definitions = [
|
|
|
3918
3917
|
extend: [
|
|
3919
3918
|
lumiZigbeeOTA(),
|
|
3920
3919
|
lumiPreventReset(),
|
|
3921
|
-
|
|
3920
|
+
m.deviceEndpoints({ endpoints: { top: 1, center: 2, bottom: 3, wireless: 4 } }),
|
|
3922
3921
|
lumiOnOff({
|
|
3923
3922
|
operationMode: true,
|
|
3924
3923
|
powerOutageMemory: 'enum',
|
|
@@ -3961,7 +3960,7 @@ const definitions = [
|
|
|
3961
3960
|
extend: [
|
|
3962
3961
|
lumiZigbeeOTA(),
|
|
3963
3962
|
lumiPreventReset(),
|
|
3964
|
-
|
|
3963
|
+
m.deviceEndpoints({ endpoints: { top: 1, bottom: 2 } }),
|
|
3965
3964
|
lumiOnOff({
|
|
3966
3965
|
operationMode: true,
|
|
3967
3966
|
powerOutageMemory: 'enum',
|
|
@@ -3987,7 +3986,7 @@ const definitions = [
|
|
|
3987
3986
|
extend: [
|
|
3988
3987
|
lumiZigbeeOTA(),
|
|
3989
3988
|
lumiPreventReset(),
|
|
3990
|
-
|
|
3989
|
+
m.deviceEndpoints({ endpoints: { top: 1, center: 2, bottom: 3 } }),
|
|
3991
3990
|
lumiOnOff({
|
|
3992
3991
|
operationMode: true,
|
|
3993
3992
|
powerOutageMemory: 'enum',
|
|
@@ -4013,7 +4012,7 @@ const definitions = [
|
|
|
4013
4012
|
extend: [
|
|
4014
4013
|
lumiZigbeeOTA(),
|
|
4015
4014
|
lumiPreventReset(),
|
|
4016
|
-
|
|
4015
|
+
m.deviceEndpoints({ endpoints: { top: 1, center: 2, bottom: 3, wireless: 4 } }),
|
|
4017
4016
|
lumiOnOff({
|
|
4018
4017
|
operationMode: true,
|
|
4019
4018
|
powerOutageMemory: 'enum',
|
|
@@ -4056,7 +4055,7 @@ const definitions = [
|
|
|
4056
4055
|
whiteLabel: [{ vendor: 'Aqara', model: 'MFCZQ12LM' }],
|
|
4057
4056
|
description: 'Cube T1 Pro',
|
|
4058
4057
|
meta: { battery: { voltageToPercentage: { min: 2850, max: 3000 } } },
|
|
4059
|
-
extend: [
|
|
4058
|
+
extend: [m.quirkCheckinInterval('1_HOUR'), lumiZigbeeOTA()],
|
|
4060
4059
|
fromZigbee: [
|
|
4061
4060
|
lumi.fromZigbee.lumi_specific,
|
|
4062
4061
|
lumi.fromZigbee.lumi_action_multistate,
|
|
@@ -4301,7 +4300,7 @@ const definitions = [
|
|
|
4301
4300
|
lumiOverloadProtection(),
|
|
4302
4301
|
lumiLedIndicator(),
|
|
4303
4302
|
lumiButtonLock(),
|
|
4304
|
-
|
|
4303
|
+
m.binary({
|
|
4305
4304
|
name: 'charging_protection',
|
|
4306
4305
|
cluster: 'manuSpecificLumi',
|
|
4307
4306
|
attribute: { ID: 0x0202, type: 0x10 },
|
|
@@ -4311,7 +4310,7 @@ const definitions = [
|
|
|
4311
4310
|
access: 'ALL',
|
|
4312
4311
|
zigbeeCommandOptions: { manufacturerCode },
|
|
4313
4312
|
}),
|
|
4314
|
-
|
|
4313
|
+
m.numeric({
|
|
4315
4314
|
name: 'charging_limit',
|
|
4316
4315
|
cluster: 'manuSpecificLumi',
|
|
4317
4316
|
attribute: { ID: 0x0206, type: 0x39 },
|
|
@@ -4331,7 +4330,7 @@ const definitions = [
|
|
|
4331
4330
|
vendor: 'Aqara',
|
|
4332
4331
|
description: 'Ceiling light T1',
|
|
4333
4332
|
extend: [
|
|
4334
|
-
|
|
4333
|
+
m.deviceEndpoints({ endpoints: { white: 1, rgb: 2 } }),
|
|
4335
4334
|
lumiLight({ colorTemp: true, powerOutageMemory: 'light', endpointNames: ['white'] }),
|
|
4336
4335
|
lumiLight({ colorTemp: true, deviceTemperature: false, powerOutageCount: false, color: { modes: ['xy', 'hs'] }, endpointNames: ['rgb'] }),
|
|
4337
4336
|
lumiZigbeeOTA(),
|
|
@@ -4343,11 +4342,11 @@ const definitions = [
|
|
|
4343
4342
|
vendor: 'Aqara',
|
|
4344
4343
|
description: 'Ceiling light T1M',
|
|
4345
4344
|
extend: [
|
|
4346
|
-
|
|
4345
|
+
m.deviceEndpoints({ endpoints: { white: 1, rgb: 2 } }),
|
|
4347
4346
|
lumiLight({ colorTemp: true, endpointNames: ['white'] }),
|
|
4348
4347
|
lumiLight({ colorTemp: true, deviceTemperature: false, powerOutageCount: false, color: { modes: ['xy', 'hs'] }, endpointNames: ['rgb'] }),
|
|
4349
4348
|
lumiZigbeeOTA(),
|
|
4350
|
-
|
|
4349
|
+
m.enumLookup({
|
|
4351
4350
|
name: 'power_on_behaviour',
|
|
4352
4351
|
lookup: { on: 0, previous: 1, off: 2 },
|
|
4353
4352
|
cluster: 'manuSpecificLumi',
|
|
@@ -4364,7 +4363,7 @@ const definitions = [
|
|
|
4364
4363
|
description: 'Smart rotary knob H1 (with neutral)',
|
|
4365
4364
|
extend: [
|
|
4366
4365
|
lumiPreventReset(),
|
|
4367
|
-
|
|
4366
|
+
m.deviceEndpoints({ endpoints: { left: 1, center: 2, right: 3 } }),
|
|
4368
4367
|
lumiOnOff({ powerOutageMemory: 'binary', endpointNames: ['left', 'center', 'right'] }),
|
|
4369
4368
|
lumiCommandMode(),
|
|
4370
4369
|
lumiAction({ actionLookup: { hold: 0, single: 1, double: 2, release: 255 } }),
|
|
@@ -4379,7 +4378,7 @@ const definitions = [
|
|
|
4379
4378
|
model: 'VC-X01D',
|
|
4380
4379
|
vendor: 'Aqara',
|
|
4381
4380
|
description: 'Valve controller T1',
|
|
4382
|
-
extend: [lumiZigbeeOTA(),
|
|
4381
|
+
extend: [lumiZigbeeOTA(), m.onOff({ powerOnBehavior: false }), m.battery()],
|
|
4383
4382
|
},
|
|
4384
4383
|
];
|
|
4385
4384
|
exports.default = definitions;
|