@willieee802/zigbee-herdsman-converters 19.44.3 → 19.45.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 +1101 -0
- package/dist/converters/actions.d.ts.map +1 -1
- package/dist/converters/actions.js +2 -0
- package/dist/converters/actions.js.map +1 -1
- package/dist/converters/fromZigbee.d.ts +1 -150
- package/dist/converters/fromZigbee.d.ts.map +1 -1
- package/dist/converters/fromZigbee.js +183 -3044
- package/dist/converters/fromZigbee.js.map +1 -1
- package/dist/converters/toZigbee.d.ts +0 -121
- package/dist/converters/toZigbee.d.ts.map +1 -1
- package/dist/converters/toZigbee.js +289 -2386
- package/dist/converters/toZigbee.js.map +1 -1
- package/dist/devices/ITCommander.d.ts.map +1 -1
- package/dist/devices/ITCommander.js +2 -1
- package/dist/devices/ITCommander.js.map +1 -1
- package/dist/devices/acova.d.ts.map +1 -1
- package/dist/devices/acova.js +69 -2
- package/dist/devices/acova.js.map +1 -1
- package/dist/devices/adeo.d.ts.map +1 -1
- package/dist/devices/adeo.js +35 -3
- package/dist/devices/adeo.js.map +1 -1
- package/dist/devices/adurosmart.js +1 -1
- package/dist/devices/adurosmart.js.map +1 -1
- package/dist/devices/amina.d.ts.map +1 -1
- package/dist/devices/amina.js +47 -10
- package/dist/devices/amina.js.map +1 -1
- package/dist/devices/aurora_lighting.d.ts.map +1 -1
- package/dist/devices/aurora_lighting.js +15 -0
- package/dist/devices/aurora_lighting.js.map +1 -1
- package/dist/devices/automaton.d.ts.map +1 -1
- package/dist/devices/automaton.js +1 -0
- package/dist/devices/automaton.js.map +1 -1
- package/dist/devices/avatto.d.ts.map +1 -1
- package/dist/devices/avatto.js +29 -24
- package/dist/devices/avatto.js.map +1 -1
- package/dist/devices/awox.d.ts.map +1 -1
- package/dist/devices/awox.js +41 -3
- package/dist/devices/awox.js.map +1 -1
- package/dist/devices/bacchus.d.ts.map +1 -1
- package/dist/devices/bacchus.js +75 -0
- package/dist/devices/bacchus.js.map +1 -1
- package/dist/devices/bitron.d.ts.map +1 -1
- package/dist/devices/bitron.js +29 -2
- package/dist/devices/bitron.js.map +1 -1
- package/dist/devices/bosch.d.ts.map +1 -1
- package/dist/devices/bosch.js +70 -50
- package/dist/devices/bosch.js.map +1 -1
- package/dist/devices/bticino.d.ts.map +1 -1
- package/dist/devices/bticino.js +11 -1
- package/dist/devices/bticino.js.map +1 -1
- package/dist/devices/byun.d.ts.map +1 -1
- package/dist/devices/byun.js +40 -3
- package/dist/devices/byun.js.map +1 -1
- package/dist/devices/candeo.d.ts.map +1 -1
- package/dist/devices/candeo.js +262 -9
- package/dist/devices/candeo.js.map +1 -1
- package/dist/devices/centralite.d.ts +9 -0
- package/dist/devices/centralite.d.ts.map +1 -1
- package/dist/devices/centralite.js +44 -5
- package/dist/devices/centralite.js.map +1 -1
- package/dist/devices/{aubess.d.ts → cigol.d.ts} +1 -1
- package/dist/devices/cigol.d.ts.map +1 -0
- package/dist/devices/cigol.js +260 -0
- package/dist/devices/cigol.js.map +1 -0
- package/dist/devices/cleverio.js +2 -2
- package/dist/devices/cleverio.js.map +1 -1
- package/dist/devices/climax.d.ts.map +1 -1
- package/dist/devices/climax.js +15 -1
- package/dist/devices/climax.js.map +1 -1
- package/dist/devices/ctm.d.ts.map +1 -1
- package/dist/devices/ctm.js +845 -496
- package/dist/devices/ctm.js.map +1 -1
- package/dist/devices/custom_devices_diy.d.ts +183 -1
- package/dist/devices/custom_devices_diy.d.ts.map +1 -1
- package/dist/devices/custom_devices_diy.js +390 -33
- package/dist/devices/custom_devices_diy.js.map +1 -1
- package/dist/devices/daewoo.d.ts +3 -0
- package/dist/devices/daewoo.d.ts.map +1 -0
- package/dist/devices/daewoo.js +198 -0
- package/dist/devices/daewoo.js.map +1 -0
- package/dist/devices/danfoss.d.ts.map +1 -1
- package/dist/devices/danfoss.js +1270 -296
- package/dist/devices/danfoss.js.map +1 -1
- package/dist/devices/databyte.d.ts.map +1 -1
- package/dist/devices/databyte.js +47 -3
- package/dist/devices/databyte.js.map +1 -1
- package/dist/devices/datek.d.ts.map +1 -1
- package/dist/devices/datek.js +202 -41
- package/dist/devices/datek.js.map +1 -1
- package/dist/devices/dawon_dns.d.ts.map +1 -1
- package/dist/devices/dawon_dns.js +14 -1
- package/dist/devices/dawon_dns.js.map +1 -1
- package/dist/devices/develco.d.ts.map +1 -1
- package/dist/devices/develco.js +145 -64
- package/dist/devices/develco.js.map +1 -1
- package/dist/devices/diyruz.d.ts.map +1 -1
- package/dist/devices/diyruz.js +444 -20
- package/dist/devices/diyruz.js.map +1 -1
- package/dist/devices/domraem.d.ts.map +1 -1
- package/dist/devices/domraem.js +7 -0
- package/dist/devices/domraem.js.map +1 -1
- package/dist/devices/easyaccess.d.ts.map +1 -1
- package/dist/devices/easyaccess.js +22 -2
- package/dist/devices/easyaccess.js.map +1 -1
- package/dist/devices/easyiot.d.ts.map +1 -1
- package/dist/devices/easyiot.js +767 -5
- package/dist/devices/easyiot.js.map +1 -1
- package/dist/devices/echostar.d.ts.map +1 -1
- package/dist/devices/echostar.js +25 -1
- package/dist/devices/echostar.js.map +1 -1
- package/dist/devices/ecodim.d.ts.map +1 -1
- package/dist/devices/ecodim.js +8 -0
- package/dist/devices/ecodim.js.map +1 -1
- package/dist/devices/ecolink.d.ts.map +1 -1
- package/dist/devices/ecolink.js +12 -0
- package/dist/devices/ecolink.js.map +1 -1
- package/dist/devices/efekta.d.ts.map +1 -1
- package/dist/devices/efekta.js +1615 -60
- package/dist/devices/efekta.js.map +1 -1
- package/dist/devices/eglo.d.ts.map +1 -1
- package/dist/devices/eglo.js +203 -17
- package/dist/devices/eglo.js.map +1 -1
- package/dist/devices/elko.d.ts.map +1 -1
- package/dist/devices/elko.js +20 -22
- package/dist/devices/elko.js.map +1 -1
- package/dist/devices/engo.d.ts.map +1 -1
- package/dist/devices/engo.js +201 -0
- package/dist/devices/engo.js.map +1 -1
- package/dist/devices/enocean.d.ts.map +1 -1
- package/dist/devices/enocean.js +132 -4
- package/dist/devices/enocean.js.map +1 -1
- package/dist/devices/ensystec.d.ts +3 -0
- package/dist/devices/ensystec.d.ts.map +1 -0
- package/dist/devices/ensystec.js +1200 -0
- package/dist/devices/ensystec.js.map +1 -0
- package/dist/devices/eurotronic.d.ts +78 -1
- package/dist/devices/eurotronic.d.ts.map +1 -1
- package/dist/devices/eurotronic.js +244 -40
- package/dist/devices/eurotronic.js.map +1 -1
- package/dist/devices/ewelink.d.ts.map +1 -1
- package/dist/devices/ewelink.js +154 -2
- package/dist/devices/ewelink.js.map +1 -1
- package/dist/devices/fantem.js +1 -1
- package/dist/devices/fantem.js.map +1 -1
- package/dist/devices/fireangel.d.ts.map +1 -1
- package/dist/devices/fireangel.js +12 -1
- package/dist/devices/fireangel.js.map +1 -1
- package/dist/devices/frankever.d.ts.map +1 -1
- package/dist/devices/frankever.js +96 -0
- package/dist/devices/frankever.js.map +1 -1
- package/dist/devices/frient.d.ts.map +1 -1
- package/dist/devices/frient.js +15 -0
- package/dist/devices/frient.js.map +1 -1
- package/dist/devices/girier.js +1 -1
- package/dist/devices/girier.js.map +1 -1
- package/dist/devices/gledopto.js +1 -1
- package/dist/devices/gledopto.js.map +1 -1
- package/dist/devices/gmmts.d.ts.map +1 -1
- package/dist/devices/gmmts.js +59 -55
- package/dist/devices/gmmts.js.map +1 -1
- package/dist/devices/halo_smart_labs.d.ts +3 -0
- package/dist/devices/halo_smart_labs.d.ts.map +1 -0
- package/dist/devices/halo_smart_labs.js +918 -0
- package/dist/devices/halo_smart_labs.js.map +1 -0
- package/dist/devices/handshake_finland.d.ts +3 -0
- package/dist/devices/handshake_finland.d.ts.map +1 -0
- package/dist/devices/handshake_finland.js +15 -0
- package/dist/devices/handshake_finland.js.map +1 -0
- package/dist/devices/heiman.d.ts.map +1 -1
- package/dist/devices/heiman.js +1361 -147
- package/dist/devices/heiman.js.map +1 -1
- package/dist/devices/heimgard_technologies.d.ts.map +1 -1
- package/dist/devices/heimgard_technologies.js +13 -0
- package/dist/devices/heimgard_technologies.js.map +1 -1
- package/dist/devices/hive.d.ts.map +1 -1
- package/dist/devices/hive.js +11 -0
- package/dist/devices/hive.js.map +1 -1
- package/dist/devices/ikea.d.ts.map +1 -1
- package/dist/devices/ikea.js +185 -135
- package/dist/devices/ikea.js.map +1 -1
- package/dist/devices/iluminize.d.ts.map +1 -1
- package/dist/devices/iluminize.js +8 -7
- package/dist/devices/iluminize.js.map +1 -1
- package/dist/devices/immax.d.ts.map +1 -1
- package/dist/devices/immax.js +3 -1
- package/dist/devices/immax.js.map +1 -1
- package/dist/devices/index.d.ts.map +1 -1
- package/dist/devices/index.js +20 -2
- package/dist/devices/index.js.map +1 -1
- package/dist/devices/innr.d.ts.map +1 -1
- package/dist/devices/innr.js +34 -2
- package/dist/devices/innr.js.map +1 -1
- package/dist/devices/inovelli.d.ts.map +1 -1
- package/dist/devices/inovelli.js +41 -2348
- package/dist/devices/inovelli.js.map +1 -1
- package/dist/devices/iris.d.ts.map +1 -1
- package/dist/devices/iris.js +13 -1
- package/dist/devices/iris.js.map +1 -1
- package/dist/devices/javis.d.ts.map +1 -1
- package/dist/devices/javis.js +39 -1
- package/dist/devices/javis.js.map +1 -1
- package/dist/devices/jxuan.d.ts.map +1 -1
- package/dist/devices/jxuan.js +37 -2
- package/dist/devices/jxuan.js.map +1 -1
- package/dist/devices/kami.d.ts.map +1 -1
- package/dist/devices/kami.js +21 -2
- package/dist/devices/kami.js.map +1 -1
- package/dist/devices/keen_home.d.ts.map +1 -1
- package/dist/devices/keen_home.js +13 -3
- package/dist/devices/keen_home.js.map +1 -1
- package/dist/devices/klikaanklikuit.d.ts.map +1 -1
- package/dist/devices/klikaanklikuit.js +7 -0
- package/dist/devices/klikaanklikuit.js.map +1 -1
- package/dist/devices/kmpcil.d.ts.map +1 -1
- package/dist/devices/kmpcil.js +44 -5
- package/dist/devices/kmpcil.js.map +1 -1
- package/dist/devices/konke.d.ts.map +1 -1
- package/dist/devices/konke.js +10 -1
- package/dist/devices/konke.js.map +1 -1
- package/dist/devices/lds.d.ts.map +1 -1
- package/dist/devices/lds.js +7 -0
- package/dist/devices/lds.js.map +1 -1
- package/dist/devices/led_trading.d.ts.map +1 -1
- package/dist/devices/led_trading.js +13 -13
- package/dist/devices/led_trading.js.map +1 -1
- package/dist/devices/leedarson.d.ts.map +1 -1
- package/dist/devices/leedarson.js +140 -1
- package/dist/devices/leedarson.js.map +1 -1
- package/dist/devices/legrand.d.ts.map +1 -1
- package/dist/devices/legrand.js +73 -42
- package/dist/devices/legrand.js.map +1 -1
- package/dist/devices/lellki.d.ts.map +1 -1
- package/dist/devices/lellki.js +3 -1
- package/dist/devices/lellki.js.map +1 -1
- package/dist/devices/letv.d.ts.map +1 -1
- package/dist/devices/letv.js +16 -2
- package/dist/devices/letv.js.map +1 -1
- package/dist/devices/lidl.d.ts.map +1 -1
- package/dist/devices/lidl.js +26 -6
- package/dist/devices/lidl.js.map +1 -1
- package/dist/devices/lincukoo.d.ts.map +1 -1
- package/dist/devices/lincukoo.js +92 -31
- package/dist/devices/lincukoo.js.map +1 -1
- package/dist/devices/linkind.d.ts.map +1 -1
- package/dist/devices/linkind.js +14 -1
- package/dist/devices/linkind.js.map +1 -1
- package/dist/devices/linptech.d.ts.map +1 -1
- package/dist/devices/linptech.js +3 -1
- package/dist/devices/linptech.js.map +1 -1
- package/dist/devices/livingwise.d.ts.map +1 -1
- package/dist/devices/livingwise.js +2 -1
- package/dist/devices/livingwise.js.map +1 -1
- package/dist/devices/livolo.d.ts.map +1 -1
- package/dist/devices/livolo.js +612 -20
- package/dist/devices/livolo.js.map +1 -1
- package/dist/devices/lixee.d.ts.map +1 -1
- package/dist/devices/lixee.js +46 -44
- package/dist/devices/lixee.js.map +1 -1
- package/dist/devices/lonsonho.d.ts.map +1 -1
- package/dist/devices/lonsonho.js +18 -11
- package/dist/devices/lonsonho.js.map +1 -1
- package/dist/devices/lumi.d.ts.map +1 -1
- package/dist/devices/lumi.js +877 -155
- package/dist/devices/lumi.js.map +1 -1
- package/dist/devices/lytko.d.ts.map +1 -1
- package/dist/devices/lytko.js +205 -556
- package/dist/devices/lytko.js.map +1 -1
- package/dist/devices/makegood.d.ts.map +1 -1
- package/dist/devices/makegood.js +5 -1
- package/dist/devices/makegood.js.map +1 -1
- package/dist/devices/mazda.js +7 -7
- package/dist/devices/mazda.js.map +1 -1
- package/dist/devices/meazon.d.ts.map +1 -1
- package/dist/devices/meazon.js +82 -20
- package/dist/devices/meazon.js.map +1 -1
- package/dist/devices/megaman.d.ts +4 -0
- package/dist/devices/megaman.d.ts.map +1 -0
- package/dist/devices/megaman.js +48 -0
- package/dist/devices/megaman.js.map +1 -0
- package/dist/devices/mercator.d.ts.map +1 -1
- package/dist/devices/mercator.js +20 -5
- package/dist/devices/mercator.js.map +1 -1
- package/dist/devices/miboxer.d.ts.map +1 -1
- package/dist/devices/miboxer.js +3 -1
- package/dist/devices/miboxer.js.map +1 -1
- package/dist/devices/mill.d.ts.map +1 -1
- package/dist/devices/mill.js +33 -7
- package/dist/devices/mill.js.map +1 -1
- package/dist/devices/moes.d.ts.map +1 -1
- package/dist/devices/moes.js +89 -15
- package/dist/devices/moes.js.map +1 -1
- package/dist/devices/msh.d.ts +3 -0
- package/dist/devices/msh.d.ts.map +1 -0
- package/dist/devices/msh.js +93 -0
- package/dist/devices/msh.js.map +1 -0
- package/dist/devices/muller_licht.d.ts.map +1 -1
- package/dist/devices/muller_licht.js +11 -0
- package/dist/devices/muller_licht.js.map +1 -1
- package/dist/devices/multir.d.ts.map +1 -1
- package/dist/devices/multir.js +12 -1
- package/dist/devices/multir.js.map +1 -1
- package/dist/devices/multiterm.js +2 -2
- package/dist/devices/multiterm.js.map +1 -1
- package/dist/devices/namron.d.ts.map +1 -1
- package/dist/devices/namron.js +488 -128
- package/dist/devices/namron.js.map +1 -1
- package/dist/devices/neo.d.ts.map +1 -1
- package/dist/devices/neo.js +151 -192
- package/dist/devices/neo.js.map +1 -1
- package/dist/devices/netica.d.ts +3 -0
- package/dist/devices/netica.d.ts.map +1 -0
- package/dist/devices/netica.js +153 -0
- package/dist/devices/netica.js.map +1 -0
- package/dist/devices/niko.d.ts.map +1 -1
- package/dist/devices/niko.js +10 -8
- package/dist/devices/niko.js.map +1 -1
- package/dist/devices/nodon.d.ts.map +1 -1
- package/dist/devices/nodon.js +6 -4
- package/dist/devices/nodon.js.map +1 -1
- package/dist/devices/nous.d.ts.map +1 -1
- package/dist/devices/nous.js +160 -61
- package/dist/devices/nous.js.map +1 -1
- package/dist/devices/nue_3a.d.ts.map +1 -1
- package/dist/devices/nue_3a.js +2 -0
- package/dist/devices/nue_3a.js.map +1 -1
- package/dist/devices/onesti.d.ts +11 -1
- package/dist/devices/onesti.d.ts.map +1 -1
- package/dist/devices/onesti.js +30 -6
- package/dist/devices/onesti.js.map +1 -1
- package/dist/devices/onokom.d.ts.map +1 -1
- package/dist/devices/onokom.js +1152 -2309
- package/dist/devices/onokom.js.map +1 -1
- package/dist/devices/orvibo.d.ts +17 -1
- package/dist/devices/orvibo.d.ts.map +1 -1
- package/dist/devices/orvibo.js +71 -4
- package/dist/devices/orvibo.js.map +1 -1
- package/dist/devices/owon.d.ts.map +1 -1
- package/dist/devices/owon.js +382 -62
- package/dist/devices/owon.js.map +1 -1
- package/dist/devices/paul_neuhaus.d.ts.map +1 -1
- package/dist/devices/paul_neuhaus.js +9 -0
- package/dist/devices/paul_neuhaus.js.map +1 -1
- package/dist/devices/paulmann.js +2 -2
- package/dist/devices/paulmann.js.map +1 -1
- package/dist/devices/perenio.d.ts.map +1 -1
- package/dist/devices/perenio.js +57 -39
- package/dist/devices/perenio.js.map +1 -1
- package/dist/devices/philips.d.ts.map +1 -1
- package/dist/devices/philips.js +194 -53
- package/dist/devices/philips.js.map +1 -1
- package/dist/devices/plaid.d.ts.map +1 -1
- package/dist/devices/plaid.js +18 -1
- package/dist/devices/plaid.js.map +1 -1
- package/dist/devices/plugwise.d.ts.map +1 -1
- package/dist/devices/plugwise.js +307 -26
- package/dist/devices/plugwise.js.map +1 -1
- package/dist/devices/profalux.d.ts.map +1 -1
- package/dist/devices/profalux.js +25 -1
- package/dist/devices/profalux.js.map +1 -1
- package/dist/devices/pushok.d.ts.map +1 -1
- package/dist/devices/pushok.js +44 -0
- package/dist/devices/pushok.js.map +1 -1
- package/dist/devices/qa.d.ts.map +1 -1
- package/dist/devices/qa.js +80 -32
- package/dist/devices/qa.js.map +1 -1
- package/dist/devices/repenic_ltd.d.ts +3 -0
- package/dist/devices/repenic_ltd.d.ts.map +1 -0
- package/dist/devices/repenic_ltd.js +97 -0
- package/dist/devices/repenic_ltd.js.map +1 -0
- package/dist/devices/robb.d.ts.map +1 -1
- package/dist/devices/robb.js +13 -1
- package/dist/devices/robb.js.map +1 -1
- package/dist/devices/rtx.js +1 -1
- package/dist/devices/rtx.js.map +1 -1
- package/dist/devices/salus_controls.d.ts.map +1 -1
- package/dist/devices/salus_controls.js +44 -17
- package/dist/devices/salus_controls.js.map +1 -1
- package/dist/devices/samotech.js +2 -2
- package/dist/devices/samotech.js.map +1 -1
- package/dist/devices/sber.d.ts.map +1 -1
- package/dist/devices/sber.js +435 -26
- package/dist/devices/sber.js.map +1 -1
- package/dist/devices/schneider_electric.d.ts.map +1 -1
- package/dist/devices/schneider_electric.js +808 -252
- package/dist/devices/schneider_electric.js.map +1 -1
- package/dist/devices/securifi.d.ts.map +1 -1
- package/dist/devices/securifi.js +24 -1
- package/dist/devices/securifi.js.map +1 -1
- package/dist/devices/sengled.d.ts.map +1 -1
- package/dist/devices/sengled.js +5 -4
- package/dist/devices/sengled.js.map +1 -1
- package/dist/devices/shada.d.ts +3 -0
- package/dist/devices/shada.d.ts.map +1 -0
- package/dist/devices/{aubess.js → shada.js} +7 -20
- package/dist/devices/shada.js.map +1 -0
- package/dist/devices/shelly.d.ts.map +1 -1
- package/dist/devices/shelly.js +646 -61
- package/dist/devices/shelly.js.map +1 -1
- package/dist/devices/shinasystem.d.ts.map +1 -1
- package/dist/devices/shinasystem.js +75 -16
- package/dist/devices/shinasystem.js.map +1 -1
- package/dist/devices/siglis.d.ts.map +1 -1
- package/dist/devices/siglis.js +26 -0
- package/dist/devices/siglis.js.map +1 -1
- package/dist/devices/sinope.d.ts.map +1 -1
- package/dist/devices/sinope.js +163 -83
- package/dist/devices/sinope.js.map +1 -1
- package/dist/devices/slacky_diy.d.ts.map +1 -1
- package/dist/devices/slacky_diy.js +3007 -69
- package/dist/devices/slacky_diy.js.map +1 -1
- package/dist/devices/smarli.d.ts.map +1 -1
- package/dist/devices/smarli.js +4 -5
- package/dist/devices/smarli.js.map +1 -1
- package/dist/devices/smartthings.d.ts +25 -0
- package/dist/devices/smartthings.d.ts.map +1 -1
- package/dist/devices/smartthings.js +62 -11
- package/dist/devices/smartthings.js.map +1 -1
- package/dist/devices/somfy.d.ts.map +1 -1
- package/dist/devices/somfy.js +14 -1
- package/dist/devices/somfy.js.map +1 -1
- package/dist/devices/sonoff.d.ts +42 -1
- package/dist/devices/sonoff.d.ts.map +1 -1
- package/dist/devices/sonoff.js +5161 -2007
- package/dist/devices/sonoff.js.map +1 -1
- package/dist/devices/sprut.d.ts.map +1 -1
- package/dist/devices/sprut.js +5 -4
- package/dist/devices/sprut.js.map +1 -1
- package/dist/devices/stello.d.ts.map +1 -1
- package/dist/devices/stello.js +6 -24
- package/dist/devices/stello.js.map +1 -1
- package/dist/devices/stelpro.d.ts +51 -1
- package/dist/devices/stelpro.d.ts.map +1 -1
- package/dist/devices/stelpro.js +86 -23
- package/dist/devices/stelpro.js.map +1 -1
- package/dist/devices/sunricher.d.ts.map +1 -1
- package/dist/devices/sunricher.js +215 -29
- package/dist/devices/sunricher.js.map +1 -1
- package/dist/devices/tech.d.ts.map +1 -1
- package/dist/devices/tech.js +35 -35
- package/dist/devices/tech.js.map +1 -1
- package/dist/devices/terncy.d.ts.map +1 -1
- package/dist/devices/terncy.js +398 -2
- package/dist/devices/terncy.js.map +1 -1
- package/dist/devices/third_reality.d.ts +42 -1
- package/dist/devices/third_reality.d.ts.map +1 -1
- package/dist/devices/third_reality.js +521 -110
- package/dist/devices/third_reality.js.map +1 -1
- package/dist/devices/tuya.d.ts.map +1 -1
- package/dist/devices/tuya.js +3143 -815
- package/dist/devices/tuya.js.map +1 -1
- package/dist/devices/ubisys.d.ts.map +1 -1
- package/dist/devices/ubisys.js +11 -8
- package/dist/devices/ubisys.js.map +1 -1
- package/dist/devices/vesternet.d.ts.map +1 -1
- package/dist/devices/vesternet.js +7 -0
- package/dist/devices/vesternet.js.map +1 -1
- package/dist/devices/viessmann.d.ts.map +1 -1
- package/dist/devices/viessmann.js +107 -4
- package/dist/devices/viessmann.js.map +1 -1
- package/dist/devices/vsmart.d.ts.map +1 -1
- package/dist/devices/vsmart.js +11 -0
- package/dist/devices/vsmart.js.map +1 -1
- package/dist/devices/weiser.d.ts.map +1 -1
- package/dist/devices/weiser.js +6 -0
- package/dist/devices/weiser.js.map +1 -1
- package/dist/devices/wirenboard.d.ts.map +1 -1
- package/dist/devices/wirenboard.js +124 -21
- package/dist/devices/wirenboard.js.map +1 -1
- package/dist/devices/wmun.d.ts.map +1 -1
- package/dist/devices/wmun.js +3 -2
- package/dist/devices/wmun.js.map +1 -1
- package/dist/devices/woolley.d.ts.map +1 -1
- package/dist/devices/woolley.js +6 -9
- package/dist/devices/woolley.js.map +1 -1
- package/dist/devices/woox.js +2 -2
- package/dist/devices/woox.js.map +1 -1
- package/dist/devices/xyzroe.d.ts.map +1 -1
- package/dist/devices/xyzroe.js +16 -4
- package/dist/devices/xyzroe.js.map +1 -1
- package/dist/devices/yale.d.ts.map +1 -1
- package/dist/devices/yale.js +138 -40
- package/dist/devices/yale.js.map +1 -1
- package/dist/devices/yandex.d.ts.map +1 -1
- package/dist/devices/yandex.js +93 -11
- package/dist/devices/yandex.js.map +1 -1
- package/dist/devices/yokis.d.ts.map +1 -1
- package/dist/devices/yokis.js +122 -85
- package/dist/devices/yokis.js.map +1 -1
- package/dist/devices/zbeacon.d.ts.map +1 -1
- package/dist/devices/zbeacon.js +0 -7
- package/dist/devices/zbeacon.js.map +1 -1
- package/dist/devices/zemismart.d.ts.map +1 -1
- package/dist/devices/zemismart.js +148 -11
- package/dist/devices/zemismart.js.map +1 -1
- package/dist/devices/zigbeetlc.js +1 -1
- package/dist/devices/zigbeetlc.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -35
- package/dist/index.js.map +1 -1
- package/dist/lib/bosch.d.ts.map +1 -1
- package/dist/lib/bosch.js +212 -42
- package/dist/lib/bosch.js.map +1 -1
- package/dist/lib/constants.d.ts +99 -17
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +15 -2
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/develco.d.ts +11 -0
- package/dist/lib/develco.d.ts.map +1 -1
- package/dist/lib/develco.js +78 -9
- package/dist/lib/develco.js.map +1 -1
- package/dist/lib/exposes.d.ts +11 -10
- package/dist/lib/exposes.d.ts.map +1 -1
- package/dist/lib/exposes.js +7 -48
- package/dist/lib/exposes.js.map +1 -1
- package/dist/lib/heiman.d.ts.map +1 -1
- package/dist/lib/heiman.js +34 -14
- package/dist/lib/heiman.js.map +1 -1
- package/dist/lib/ikea.d.ts +17 -0
- package/dist/lib/ikea.d.ts.map +1 -1
- package/dist/lib/ikea.js +46 -20
- package/dist/lib/ikea.js.map +1 -1
- package/dist/lib/inovelli.d.ts +86 -0
- package/dist/lib/inovelli.d.ts.map +1 -0
- package/dist/lib/inovelli.js +2580 -0
- package/dist/lib/inovelli.js.map +1 -0
- package/dist/lib/ledvance.d.ts +4 -4
- package/dist/lib/ledvance.d.ts.map +1 -1
- package/dist/lib/ledvance.js +23 -7
- package/dist/lib/ledvance.js.map +1 -1
- package/dist/lib/legacy.d.ts +21 -2
- package/dist/lib/legacy.d.ts.map +1 -1
- package/dist/lib/legacy.js +29 -2
- package/dist/lib/legacy.js.map +1 -1
- package/dist/lib/legrand.d.ts +65 -6
- package/dist/lib/legrand.d.ts.map +1 -1
- package/dist/lib/legrand.js +188 -9
- package/dist/lib/legrand.js.map +1 -1
- package/dist/lib/light.d.ts +1 -1
- package/dist/lib/light.d.ts.map +1 -1
- package/dist/lib/light.js +2 -2
- package/dist/lib/light.js.map +1 -1
- package/dist/lib/lumi.d.ts +88 -44
- package/dist/lib/lumi.d.ts.map +1 -1
- package/dist/lib/lumi.js +1813 -59
- package/dist/lib/lumi.js.map +1 -1
- package/dist/lib/modernExtend.d.ts +19 -14
- package/dist/lib/modernExtend.d.ts.map +1 -1
- package/dist/lib/modernExtend.js +37 -35
- package/dist/lib/modernExtend.js.map +1 -1
- package/dist/lib/namron.d.ts +131 -28
- package/dist/lib/namron.d.ts.map +1 -1
- package/dist/lib/namron.js +723 -42
- package/dist/lib/namron.js.map +1 -1
- package/dist/lib/nodon.d.ts.map +1 -1
- package/dist/lib/nodon.js +3 -1
- package/dist/lib/nodon.js.map +1 -1
- package/dist/lib/philips.d.ts +106 -2
- package/dist/lib/philips.d.ts.map +1 -1
- package/dist/lib/philips.js +945 -44
- package/dist/lib/philips.js.map +1 -1
- package/dist/lib/sonoff.d.ts +77 -10
- package/dist/lib/sonoff.d.ts.map +1 -1
- package/dist/lib/sonoff.js +165 -34
- package/dist/lib/sonoff.js.map +1 -1
- package/dist/lib/sunricher.d.ts +1 -1
- package/dist/lib/sunricher.d.ts.map +1 -1
- package/dist/lib/sunricher.js +6 -8
- package/dist/lib/sunricher.js.map +1 -1
- package/dist/lib/tuya.d.ts +558 -13
- package/dist/lib/tuya.d.ts.map +1 -1
- package/dist/lib/tuya.js +1518 -10
- package/dist/lib/tuya.js.map +1 -1
- package/dist/lib/types.d.ts +9 -6
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/ubisys.d.ts +1 -1
- package/dist/lib/ubisys.d.ts.map +1 -1
- package/dist/lib/ubisys.js +60 -5
- package/dist/lib/ubisys.js.map +1 -1
- package/dist/lib/utils.d.ts +5 -8
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +30 -17
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/zosung.d.ts +69 -6
- package/dist/lib/zosung.d.ts.map +1 -1
- package/dist/lib/zosung.js +113 -1
- package/dist/lib/zosung.js.map +1 -1
- package/dist/models-index.json +1 -1
- package/package.json +2 -2
- package/dist/devices/aubess.d.ts.map +0 -1
- package/dist/devices/aubess.js.map +0 -1
package/dist/devices/diyruz.js
CHANGED
|
@@ -34,14 +34,428 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.definitions = void 0;
|
|
37
|
+
const zigbee_herdsman_1 = require("@willieee802/zigbee-herdsman");
|
|
37
38
|
const fz = __importStar(require("../converters/fromZigbee"));
|
|
38
39
|
const tz = __importStar(require("../converters/toZigbee"));
|
|
40
|
+
const ptvo = __importStar(require("../devices/custom_devices_diy"));
|
|
39
41
|
const constants = __importStar(require("../lib/constants"));
|
|
40
42
|
const exposes = __importStar(require("../lib/exposes"));
|
|
41
43
|
const m = __importStar(require("../lib/modernExtend"));
|
|
42
44
|
const reporting = __importStar(require("../lib/reporting"));
|
|
45
|
+
const utils = __importStar(require("../lib/utils"));
|
|
43
46
|
const e = exposes.presets;
|
|
44
47
|
const ea = exposes.access;
|
|
48
|
+
const diyruzExtend = {
|
|
49
|
+
addDiyruzGenOnOffCluster: () => m.deviceAddCustomCluster("genOnOff", {
|
|
50
|
+
name: "genOnOff",
|
|
51
|
+
ID: zigbee_herdsman_1.Zcl.Clusters.genOnOff.ID,
|
|
52
|
+
attributes: {
|
|
53
|
+
cpuTemperature: { name: "cpuTemperature", ID: 0xa191, type: zigbee_herdsman_1.Zcl.DataType.INT16 }, // 41361
|
|
54
|
+
power: { name: "power", ID: 0xa194, type: zigbee_herdsman_1.Zcl.DataType.INT16 }, // 41364
|
|
55
|
+
action: { name: "action", ID: 0xa197, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN }, // 41367
|
|
56
|
+
},
|
|
57
|
+
commands: {},
|
|
58
|
+
commandsResponse: {},
|
|
59
|
+
}),
|
|
60
|
+
addDiyruzMsIlluminanceLevelSensingCluster: () => m.deviceAddCustomCluster("msIlluminanceLevelSensing", {
|
|
61
|
+
name: "msIlluminanceLevelSensing",
|
|
62
|
+
ID: zigbee_herdsman_1.Zcl.Clusters.msIlluminanceLevelSensing.ID,
|
|
63
|
+
attributes: {
|
|
64
|
+
sensitivity: { name: "sensitivity", ID: 0xf000, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true }, // 61440
|
|
65
|
+
ledFeedback: { name: "ledFeedback", ID: 0xf001, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true }, // 61441
|
|
66
|
+
buzzerFeedback: { name: "buzzerFeedback", ID: 0xf002, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true }, // 61442
|
|
67
|
+
sensorsCount: { name: "sensorsCount", ID: 0xf003, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true }, // 61443
|
|
68
|
+
sensorsType: { name: "sensorsType", ID: 0xf004, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true }, // 61444
|
|
69
|
+
alertThreshold: { name: "alertThreshold", ID: 0xf005, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true }, // 61445
|
|
70
|
+
},
|
|
71
|
+
commands: {},
|
|
72
|
+
commandsResponse: {},
|
|
73
|
+
}),
|
|
74
|
+
addDiyruzMsIlluminanceMeasurementCluster: () => m.deviceAddCustomCluster("msIlluminanceMeasurement", {
|
|
75
|
+
name: "msIlluminanceMeasurement",
|
|
76
|
+
ID: zigbee_herdsman_1.Zcl.Clusters.msIlluminanceMeasurement.ID,
|
|
77
|
+
attributes: {
|
|
78
|
+
radioactiveEventsPerMinute: { name: "radioactiveEventsPerMinute", ID: 0xf001, type: zigbee_herdsman_1.Zcl.DataType.UINT16 }, // 61441
|
|
79
|
+
radiationDosePerHour: { name: "radiationDosePerHour", ID: 0xf002, type: zigbee_herdsman_1.Zcl.DataType.UINT32 }, // 61442
|
|
80
|
+
},
|
|
81
|
+
commands: {},
|
|
82
|
+
commandsResponse: {},
|
|
83
|
+
}),
|
|
84
|
+
addDiyruzMsCO2Cluster: () => m.deviceAddCustomCluster("msCO2", {
|
|
85
|
+
name: "msCO2",
|
|
86
|
+
ID: zigbee_herdsman_1.Zcl.Clusters.msCO2.ID,
|
|
87
|
+
attributes: {
|
|
88
|
+
enableAbc: { name: "enableAbc", ID: 0x0202, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
|
|
89
|
+
ledFeedback: { name: "ledFeedback", ID: 0x0203, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
|
|
90
|
+
threshold1: { name: "threshold1", ID: 0x0204, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true },
|
|
91
|
+
threshold2: { name: "threshold2", ID: 0x0205, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true },
|
|
92
|
+
},
|
|
93
|
+
commands: {},
|
|
94
|
+
commandsResponse: {},
|
|
95
|
+
}),
|
|
96
|
+
addDiyruzMsTemperatureMeasurementCluster: () => m.deviceAddCustomCluster("msTemperatureMeasurement", {
|
|
97
|
+
name: "msTemperatureMeasurement",
|
|
98
|
+
ID: zigbee_herdsman_1.Zcl.Clusters.msTemperatureMeasurement.ID,
|
|
99
|
+
attributes: {
|
|
100
|
+
temperatureOffset: { name: "temperatureOffset", ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true },
|
|
101
|
+
},
|
|
102
|
+
commands: {},
|
|
103
|
+
commandsResponse: {},
|
|
104
|
+
}),
|
|
105
|
+
addDiyruzMsPressureMeasurementCluster: () => m.deviceAddCustomCluster("msPressureMeasurement", {
|
|
106
|
+
name: "msPressureMeasurement",
|
|
107
|
+
ID: zigbee_herdsman_1.Zcl.Clusters.msPressureMeasurement.ID,
|
|
108
|
+
attributes: {
|
|
109
|
+
pressureOffset: { name: "pressureOffset", ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT32, write: true },
|
|
110
|
+
},
|
|
111
|
+
commands: {},
|
|
112
|
+
commandsResponse: {},
|
|
113
|
+
}),
|
|
114
|
+
addDiyruzMsRelativeHumidityCluster: () => m.deviceAddCustomCluster("msRelativeHumidity", {
|
|
115
|
+
name: "msRelativeHumidity",
|
|
116
|
+
ID: zigbee_herdsman_1.Zcl.Clusters.msRelativeHumidity.ID,
|
|
117
|
+
attributes: {
|
|
118
|
+
humidityOffset: { name: "humidityOffset", ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true },
|
|
119
|
+
},
|
|
120
|
+
commands: {},
|
|
121
|
+
commandsResponse: {},
|
|
122
|
+
}),
|
|
123
|
+
addDiyruzClosuresDoorLockCluster: () => m.deviceAddCustomCluster("closuresDoorLock", {
|
|
124
|
+
name: "closuresDoorLock",
|
|
125
|
+
ID: zigbee_herdsman_1.Zcl.Clusters.closuresDoorLock.ID,
|
|
126
|
+
attributes: {
|
|
127
|
+
state: { name: "state", ID: 0x0050, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
|
|
128
|
+
mode: { name: "mode", ID: 0x0051, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
|
|
129
|
+
sound: { name: "sound", ID: 0x0052, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
|
|
130
|
+
timeRing: { name: "timeRing", ID: 0x0053, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true },
|
|
131
|
+
timeTalk: { name: "timeTalk", ID: 0x0054, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true },
|
|
132
|
+
timeOpen: { name: "timeOpen", ID: 0x0055, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true },
|
|
133
|
+
timeReport: { name: "timeReport", ID: 0x0056, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true },
|
|
134
|
+
timeBell: { name: "timeBell", ID: 0x0057, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true },
|
|
135
|
+
},
|
|
136
|
+
commands: {},
|
|
137
|
+
commandsResponse: {},
|
|
138
|
+
}),
|
|
139
|
+
};
|
|
140
|
+
const tzLocal = {
|
|
141
|
+
diyruz_freepad_on_off_config: {
|
|
142
|
+
key: ["switch_type", "switch_actions"],
|
|
143
|
+
convertGet: async (entity, key, meta) => {
|
|
144
|
+
await entity.read("genOnOffSwitchCfg", ["switchType", "switchActions"]);
|
|
145
|
+
},
|
|
146
|
+
convertSet: async (entity, key, value, meta) => {
|
|
147
|
+
const switchTypesLookup = {
|
|
148
|
+
toggle: 0x00,
|
|
149
|
+
momentary: 0x01,
|
|
150
|
+
multifunction: 0x02,
|
|
151
|
+
};
|
|
152
|
+
const switchActionsLookup = {
|
|
153
|
+
on: 0x00,
|
|
154
|
+
off: 0x01,
|
|
155
|
+
toggle: 0x02,
|
|
156
|
+
};
|
|
157
|
+
const intVal = Number(value);
|
|
158
|
+
const switchType = utils.getFromLookup(value, switchTypesLookup, intVal);
|
|
159
|
+
const switchActions = utils.getFromLookup(value, switchActionsLookup, intVal);
|
|
160
|
+
const payloads = {
|
|
161
|
+
switch_type: { switchType },
|
|
162
|
+
switch_actions: { switchActions },
|
|
163
|
+
};
|
|
164
|
+
await entity.write("genOnOffSwitchCfg", payloads[key]);
|
|
165
|
+
return { state: { [`${key}`]: value } };
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
diyruz_geiger_config: {
|
|
169
|
+
key: ["sensitivity", "led_feedback", "buzzer_feedback", "sensors_count", "sensors_type", "alert_threshold"],
|
|
170
|
+
convertSet: async (entity, key, rawValue, meta) => {
|
|
171
|
+
const lookup = {
|
|
172
|
+
OFF: 0x00,
|
|
173
|
+
ON: 0x01,
|
|
174
|
+
};
|
|
175
|
+
const sensorsTypeLookup = {
|
|
176
|
+
"СБМ-20/СТС-5/BOI-33": "0",
|
|
177
|
+
"СБМ-19/СТС-6": "1",
|
|
178
|
+
Others: "2",
|
|
179
|
+
};
|
|
180
|
+
let value = utils.getFromLookup(rawValue, lookup, Number(rawValue));
|
|
181
|
+
if (key === "sensors_type") {
|
|
182
|
+
// @ts-expect-error ignore
|
|
183
|
+
value = utils.getFromLookup(rawValue, sensorsTypeLookup, Number(rawValue));
|
|
184
|
+
}
|
|
185
|
+
const payloads = {
|
|
186
|
+
sensitivity: { 61440: { value, type: 0x21 } },
|
|
187
|
+
led_feedback: { 61441: { value, type: 0x10 } },
|
|
188
|
+
buzzer_feedback: { 61442: { value, type: 0x10 } },
|
|
189
|
+
sensors_count: { 61443: { value, type: 0x20 } },
|
|
190
|
+
sensors_type: { 61444: { value, type: 0x30 } },
|
|
191
|
+
alert_threshold: { 61445: { value, type: 0x23 } },
|
|
192
|
+
};
|
|
193
|
+
await entity.write("msIlluminanceLevelSensing", payloads[key]);
|
|
194
|
+
return {
|
|
195
|
+
state: { [key]: rawValue },
|
|
196
|
+
};
|
|
197
|
+
},
|
|
198
|
+
convertGet: async (entity, key, meta) => {
|
|
199
|
+
await entity.read("msIlluminanceLevelSensing", [
|
|
200
|
+
"sensitivity",
|
|
201
|
+
"ledFeedback",
|
|
202
|
+
"buzzerFeedback",
|
|
203
|
+
]);
|
|
204
|
+
await entity.read("msIlluminanceLevelSensing", [
|
|
205
|
+
"sensorsCount",
|
|
206
|
+
"sensorsType",
|
|
207
|
+
"alertThreshold",
|
|
208
|
+
]);
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
diyruz_airsense_config: {
|
|
212
|
+
key: ["led_feedback", "enable_abc", "threshold1", "threshold2", "temperature_offset", "pressure_offset", "humidity_offset"],
|
|
213
|
+
convertSet: async (entity, key, rawValue, meta) => {
|
|
214
|
+
const lookup = { OFF: 0x00, ON: 0x01 };
|
|
215
|
+
const value = utils.getFromLookup(rawValue, lookup, Number(rawValue));
|
|
216
|
+
const payloads = {
|
|
217
|
+
led_feedback: ["msCO2", { 515: { value, type: 0x10 } }],
|
|
218
|
+
enable_abc: ["msCO2", { 514: { value, type: 0x10 } }],
|
|
219
|
+
threshold1: ["msCO2", { 516: { value, type: 0x21 } }],
|
|
220
|
+
threshold2: ["msCO2", { 517: { value, type: 0x21 } }],
|
|
221
|
+
temperature_offset: ["msTemperatureMeasurement", { 528: { value, type: 0x29 } }],
|
|
222
|
+
pressure_offset: ["msPressureMeasurement", { 528: { value, type: 0x2b } }],
|
|
223
|
+
humidity_offset: ["msRelativeHumidity", { 528: { value, type: 0x29 } }],
|
|
224
|
+
};
|
|
225
|
+
await entity.write(payloads[key][0], payloads[key][1]);
|
|
226
|
+
return {
|
|
227
|
+
state: { [key]: rawValue },
|
|
228
|
+
};
|
|
229
|
+
},
|
|
230
|
+
convertGet: async (entity, key, meta) => {
|
|
231
|
+
await entity.read("msCO2", ["ledFeedback", "enableAbc", "threshold1", "threshold2"]);
|
|
232
|
+
await entity.read("msTemperatureMeasurement", ["temperatureOffset"]);
|
|
233
|
+
await entity.read("msPressureMeasurement", ["pressureOffset"]);
|
|
234
|
+
await entity.read("msRelativeHumidity", ["humidityOffset"]);
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
diyruz_zintercom_config: {
|
|
238
|
+
key: ["mode", "sound", "time_ring", "time_talk", "time_open", "time_bell", "time_report"],
|
|
239
|
+
convertSet: async (entity, key, rawValue, meta) => {
|
|
240
|
+
const lookup = { OFF: 0x00, ON: 0x01 };
|
|
241
|
+
const modeOpenLookup = { never: "0", once: "1", always: "2", drop: "3" };
|
|
242
|
+
let value = utils.getFromLookup(rawValue, lookup, Number(rawValue));
|
|
243
|
+
if (key === "mode") {
|
|
244
|
+
// @ts-expect-error ignore
|
|
245
|
+
value = utils.getFromLookup(rawValue, modeOpenLookup, Number(rawValue));
|
|
246
|
+
}
|
|
247
|
+
const payloads = {
|
|
248
|
+
mode: { 81: { value, type: 0x30 } },
|
|
249
|
+
sound: { 82: { value, type: 0x10 } },
|
|
250
|
+
time_ring: { 83: { value, type: 0x20 } },
|
|
251
|
+
time_talk: { 84: { value, type: 0x20 } },
|
|
252
|
+
time_open: { 85: { value, type: 0x20 } },
|
|
253
|
+
time_bell: { 87: { value, type: 0x20 } },
|
|
254
|
+
time_report: { 86: { value, type: 0x20 } },
|
|
255
|
+
};
|
|
256
|
+
await entity.write("closuresDoorLock", payloads[key]);
|
|
257
|
+
return {
|
|
258
|
+
state: { [key]: rawValue },
|
|
259
|
+
};
|
|
260
|
+
},
|
|
261
|
+
convertGet: async (entity, key, meta) => {
|
|
262
|
+
await entity.read("closuresDoorLock", ["mode", "sound", "timeRing", "timeTalk"]);
|
|
263
|
+
await entity.read("closuresDoorLock", ["timeOpen", "timeBell", "timeReport"]);
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
};
|
|
267
|
+
const fzLocal = {
|
|
268
|
+
diyruz_contact: {
|
|
269
|
+
cluster: "genOnOff",
|
|
270
|
+
type: ["attributeReport", "readResponse"],
|
|
271
|
+
convert: (model, msg, publish, options, meta) => {
|
|
272
|
+
return { contact: msg.data.onOff !== 0 };
|
|
273
|
+
},
|
|
274
|
+
},
|
|
275
|
+
diyruz_rspm: {
|
|
276
|
+
cluster: "genOnOff",
|
|
277
|
+
type: ["attributeReport", "readResponse"],
|
|
278
|
+
convert: (model, msg, publish, options, meta) => {
|
|
279
|
+
const power = utils.precisionRound(msg.data["41364"], 2);
|
|
280
|
+
return {
|
|
281
|
+
state: msg.data.onOff === 1 ? "ON" : "OFF",
|
|
282
|
+
cpu_temperature: utils.precisionRound(msg.data["41361"], 2),
|
|
283
|
+
power: power,
|
|
284
|
+
current: utils.precisionRound(power / 230, 2),
|
|
285
|
+
action: msg.data["41367"] === 1 ? "hold" : "release",
|
|
286
|
+
};
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
diyruz_freepad_clicks: {
|
|
290
|
+
cluster: "genMultistateInput",
|
|
291
|
+
type: ["readResponse", "attributeReport"],
|
|
292
|
+
convert: (model, msg, publish, options, meta) => {
|
|
293
|
+
const button = utils.getKey(model.endpoint(msg.device), msg.endpoint.ID);
|
|
294
|
+
const lookup = { 0: "hold", 1: "single", 2: "double", 3: "triple", 4: "quadruple", 255: "release" };
|
|
295
|
+
const clicks = msg.data.presentValue;
|
|
296
|
+
const action = lookup[clicks] ? lookup[clicks] : `many_${clicks}`;
|
|
297
|
+
return { action: `${button}_${action}` };
|
|
298
|
+
},
|
|
299
|
+
},
|
|
300
|
+
diyruz_freepad_config: {
|
|
301
|
+
cluster: "genOnOffSwitchCfg",
|
|
302
|
+
type: ["readResponse"],
|
|
303
|
+
convert: (model, msg, publish, options, meta) => {
|
|
304
|
+
const button = utils.getKey(model.endpoint(msg.device), msg.endpoint.ID);
|
|
305
|
+
const { switchActions, switchType } = msg.data;
|
|
306
|
+
const switchTypesLookup = ["toggle", "momentary", "multifunction"];
|
|
307
|
+
const switchActionsLookup = ["on", "off", "toggle"];
|
|
308
|
+
return {
|
|
309
|
+
[`switch_type_${button}`]: switchTypesLookup[switchType],
|
|
310
|
+
[`switch_actions_${button}`]: switchActionsLookup[switchActions],
|
|
311
|
+
};
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
diyruz_geiger: {
|
|
315
|
+
cluster: "msIlluminanceMeasurement",
|
|
316
|
+
type: ["attributeReport", "readResponse"],
|
|
317
|
+
convert: (model, msg, publish, options, meta) => {
|
|
318
|
+
return {
|
|
319
|
+
radioactive_events_per_minute: msg.data.radioactiveEventsPerMinute,
|
|
320
|
+
radiation_dose_per_hour: msg.data.radiationDosePerHour,
|
|
321
|
+
};
|
|
322
|
+
},
|
|
323
|
+
},
|
|
324
|
+
diyruz_geiger_config: {
|
|
325
|
+
cluster: "msIlluminanceLevelSensing",
|
|
326
|
+
type: "readResponse",
|
|
327
|
+
convert: (model, msg, publish, options, meta) => {
|
|
328
|
+
const result = {};
|
|
329
|
+
if (msg.data.ledFeedback !== undefined) {
|
|
330
|
+
result.led_feedback = msg.data.ledFeedback ? "ON" : "OFF";
|
|
331
|
+
}
|
|
332
|
+
if (msg.data.buzzerFeedback !== undefined) {
|
|
333
|
+
result.buzzer_feedback = msg.data.buzzerFeedback ? "ON" : "OFF";
|
|
334
|
+
}
|
|
335
|
+
if (msg.data.sensitivity !== undefined) {
|
|
336
|
+
result.sensitivity = msg.data.sensitivity;
|
|
337
|
+
}
|
|
338
|
+
if (msg.data.sensorsCount !== undefined) {
|
|
339
|
+
result.sensors_count = msg.data.sensorsCount;
|
|
340
|
+
}
|
|
341
|
+
if (msg.data.sensorsType !== undefined) {
|
|
342
|
+
result.sensors_type = ["СБМ-20/СТС-5/BOI-33", "СБМ-19/СТС-6", "Others"][msg.data.sensorsType];
|
|
343
|
+
}
|
|
344
|
+
if (msg.data.alertThreshold !== undefined) {
|
|
345
|
+
result.alert_threshold = msg.data.alertThreshold;
|
|
346
|
+
}
|
|
347
|
+
return result;
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
diyruz_airsense_config_co2: {
|
|
351
|
+
cluster: "msCO2",
|
|
352
|
+
type: "readResponse",
|
|
353
|
+
convert: (model, msg, publish, options, meta) => {
|
|
354
|
+
const result = {};
|
|
355
|
+
if (msg.data.ledFeedback !== undefined) {
|
|
356
|
+
result.led_feedback = msg.data.ledFeedback ? "ON" : "OFF";
|
|
357
|
+
}
|
|
358
|
+
if (msg.data.enableAbc !== undefined) {
|
|
359
|
+
result.enable_abc = msg.data.enableAbc ? "ON" : "OFF";
|
|
360
|
+
}
|
|
361
|
+
if (msg.data.threshold1 !== undefined) {
|
|
362
|
+
result.threshold1 = msg.data.threshold1;
|
|
363
|
+
}
|
|
364
|
+
if (msg.data.threshold2 !== undefined) {
|
|
365
|
+
result.threshold2 = msg.data.threshold2;
|
|
366
|
+
}
|
|
367
|
+
return result;
|
|
368
|
+
},
|
|
369
|
+
},
|
|
370
|
+
diyruz_airsense_config_temp: {
|
|
371
|
+
cluster: "msTemperatureMeasurement",
|
|
372
|
+
type: "readResponse",
|
|
373
|
+
convert: (model, msg, publish, options, meta) => {
|
|
374
|
+
const result = {};
|
|
375
|
+
if (msg.data.temperatureOffset !== undefined) {
|
|
376
|
+
result.temperature_offset = msg.data.temperatureOffset;
|
|
377
|
+
}
|
|
378
|
+
return result;
|
|
379
|
+
},
|
|
380
|
+
},
|
|
381
|
+
diyruz_airsense_config_pres: {
|
|
382
|
+
cluster: "msPressureMeasurement",
|
|
383
|
+
type: "readResponse",
|
|
384
|
+
convert: (model, msg, publish, options, meta) => {
|
|
385
|
+
const result = {};
|
|
386
|
+
if (msg.data.pressureOffset !== undefined) {
|
|
387
|
+
result.pressure_offset = msg.data.pressureOffset;
|
|
388
|
+
}
|
|
389
|
+
return result;
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
diyruz_airsense_config_hum: {
|
|
393
|
+
cluster: "msRelativeHumidity",
|
|
394
|
+
type: "readResponse",
|
|
395
|
+
convert: (model, msg, publish, options, meta) => {
|
|
396
|
+
const result = {};
|
|
397
|
+
if (msg.data.humidityOffset !== undefined) {
|
|
398
|
+
result.humidity_offset = msg.data.humidityOffset;
|
|
399
|
+
}
|
|
400
|
+
return result;
|
|
401
|
+
},
|
|
402
|
+
},
|
|
403
|
+
diyruz_zintercom_config: {
|
|
404
|
+
cluster: "closuresDoorLock",
|
|
405
|
+
type: ["attributeReport", "readResponse"],
|
|
406
|
+
convert: (model, msg, publish, options, meta) => {
|
|
407
|
+
const result = {};
|
|
408
|
+
if (msg.data.state !== undefined) {
|
|
409
|
+
result.state = ["idle", "ring", "talk", "open", "drop"][msg.data.state];
|
|
410
|
+
}
|
|
411
|
+
if (msg.data.mode !== undefined) {
|
|
412
|
+
result.mode = ["never", "once", "always", "drop"][msg.data.mode];
|
|
413
|
+
}
|
|
414
|
+
if (msg.data.sound !== undefined) {
|
|
415
|
+
result.sound = msg.data.sound ? "ON" : "OFF";
|
|
416
|
+
}
|
|
417
|
+
if (msg.data.timeRing !== undefined) {
|
|
418
|
+
result.time_ring = msg.data.timeRing;
|
|
419
|
+
}
|
|
420
|
+
if (msg.data.timeTalk !== undefined) {
|
|
421
|
+
result.time_talk = msg.data.timeTalk;
|
|
422
|
+
}
|
|
423
|
+
if (msg.data.timeOpen !== undefined) {
|
|
424
|
+
result.time_open = msg.data.timeOpen;
|
|
425
|
+
}
|
|
426
|
+
if (msg.data.timeBell !== undefined) {
|
|
427
|
+
result.time_bell = msg.data.timeBell;
|
|
428
|
+
}
|
|
429
|
+
if (msg.data.timeReport !== undefined) {
|
|
430
|
+
result.time_report = msg.data.timeReport;
|
|
431
|
+
}
|
|
432
|
+
return result;
|
|
433
|
+
},
|
|
434
|
+
},
|
|
435
|
+
keypad20states: {
|
|
436
|
+
cluster: "genOnOff",
|
|
437
|
+
type: ["readResponse", "attributeReport"],
|
|
438
|
+
convert: (model, msg, publish, options, meta) => {
|
|
439
|
+
const button = utils.getKey(model.endpoint(msg.device), msg.endpoint.ID);
|
|
440
|
+
const state = msg.data.onOff === 1;
|
|
441
|
+
if (button) {
|
|
442
|
+
return { [button]: state };
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
},
|
|
446
|
+
keypad20_battery: {
|
|
447
|
+
cluster: "genPowerCfg",
|
|
448
|
+
type: ["readResponse", "attributeReport"],
|
|
449
|
+
convert: (model, msg, publish, options, meta) => {
|
|
450
|
+
const voltage = msg.data.mainsVoltage / 10;
|
|
451
|
+
return {
|
|
452
|
+
battery: utils.batteryVoltageToPercentage(voltage, "3V_2100"),
|
|
453
|
+
voltage: voltage, // @deprecated
|
|
454
|
+
// voltage: voltage / 1000.0,
|
|
455
|
+
};
|
|
456
|
+
},
|
|
457
|
+
},
|
|
458
|
+
};
|
|
45
459
|
exports.definitions = [
|
|
46
460
|
{
|
|
47
461
|
zigbeeModel: ["DIYRuZ_R4_5"],
|
|
@@ -58,7 +472,7 @@ exports.definitions = [
|
|
|
58
472
|
model: "DIYRuZ_KEYPAD20",
|
|
59
473
|
vendor: "DIYRuZ",
|
|
60
474
|
description: "DiY 20 button keypad",
|
|
61
|
-
fromZigbee: [
|
|
475
|
+
fromZigbee: [fzLocal.keypad20states, fzLocal.keypad20_battery],
|
|
62
476
|
toZigbee: [],
|
|
63
477
|
exposes: [e.battery()],
|
|
64
478
|
endpoint: (device) => {
|
|
@@ -91,7 +505,7 @@ exports.definitions = [
|
|
|
91
505
|
model: "DIYRuZ_magnet",
|
|
92
506
|
vendor: "DIYRuZ",
|
|
93
507
|
description: "DIYRuZ contact sensor",
|
|
94
|
-
fromZigbee: [
|
|
508
|
+
fromZigbee: [fzLocal.keypad20_battery, fzLocal.diyruz_contact],
|
|
95
509
|
exposes: [e.battery(), e.contact()],
|
|
96
510
|
toZigbee: [],
|
|
97
511
|
},
|
|
@@ -100,7 +514,7 @@ exports.definitions = [
|
|
|
100
514
|
model: "DIYRuZ_rspm",
|
|
101
515
|
vendor: "DIYRuZ",
|
|
102
516
|
description: "DIYRuZ relay switch power meter",
|
|
103
|
-
fromZigbee: [
|
|
517
|
+
fromZigbee: [fzLocal.diyruz_rspm],
|
|
104
518
|
toZigbee: [tz.on_off],
|
|
105
519
|
exposes: [e.switch(), e.power(), e.current(), e.cpu_temperature(), e.action(["hold", "release"])],
|
|
106
520
|
endpoint: (device) => {
|
|
@@ -112,7 +526,7 @@ exports.definitions = [
|
|
|
112
526
|
model: "DIYRuZ_FreePad",
|
|
113
527
|
vendor: "DIYRuZ",
|
|
114
528
|
description: "DiY 8/12/20 button keypad",
|
|
115
|
-
fromZigbee: [
|
|
529
|
+
fromZigbee: [fzLocal.diyruz_freepad_clicks, fzLocal.diyruz_freepad_config, fz.battery],
|
|
116
530
|
exposes: [e.battery(), e.action(["*_single", "*_double", "*_triple", "*_quadruple", "*_release", "*_hold"])].concat(((enpoinsCount) => {
|
|
117
531
|
const features = [];
|
|
118
532
|
for (let i = 1; i <= enpoinsCount; i++) {
|
|
@@ -122,7 +536,7 @@ exports.definitions = [
|
|
|
122
536
|
}
|
|
123
537
|
return features;
|
|
124
538
|
})(20)),
|
|
125
|
-
toZigbee: [
|
|
539
|
+
toZigbee: [tzLocal.diyruz_freepad_on_off_config],
|
|
126
540
|
configure: async (device, coordinatorEndpoint) => {
|
|
127
541
|
const endpoint = device.getEndpoint(1);
|
|
128
542
|
await reporting.bind(endpoint, coordinatorEndpoint, ["genPowerCfg"]);
|
|
@@ -180,7 +594,7 @@ exports.definitions = [
|
|
|
180
594
|
model: "FreePad_LeTV_8",
|
|
181
595
|
vendor: "DIYRuZ",
|
|
182
596
|
description: "LeTV 8key FreePad mod",
|
|
183
|
-
fromZigbee: [
|
|
597
|
+
fromZigbee: [fzLocal.diyruz_freepad_clicks, fzLocal.diyruz_freepad_config, fz.battery],
|
|
184
598
|
exposes: [e.battery(), e.action(["*_single", "*_double", "*_triple", "*_quadruple", "*_release"])].concat(((enpoinsCount) => {
|
|
185
599
|
const features = [];
|
|
186
600
|
for (let i = 1; i <= enpoinsCount; i++) {
|
|
@@ -190,7 +604,7 @@ exports.definitions = [
|
|
|
190
604
|
}
|
|
191
605
|
return features;
|
|
192
606
|
})(8)),
|
|
193
|
-
toZigbee: [
|
|
607
|
+
toZigbee: [tzLocal.diyruz_freepad_on_off_config],
|
|
194
608
|
configure: async (device, coordinatorEndpoint) => {
|
|
195
609
|
const endpoint = device.getEndpoint(1);
|
|
196
610
|
await reporting.bind(endpoint, coordinatorEndpoint, ["genPowerCfg"]);
|
|
@@ -227,7 +641,8 @@ exports.definitions = [
|
|
|
227
641
|
model: "DIYRuZ_Geiger",
|
|
228
642
|
vendor: "DIYRuZ",
|
|
229
643
|
description: "DiY Geiger counter",
|
|
230
|
-
|
|
644
|
+
extend: [diyruzExtend.addDiyruzMsIlluminanceLevelSensingCluster(), diyruzExtend.addDiyruzMsIlluminanceMeasurementCluster()],
|
|
645
|
+
fromZigbee: [fzLocal.diyruz_geiger, fz.command_on, fz.command_off, fzLocal.diyruz_geiger_config],
|
|
231
646
|
exposes: [
|
|
232
647
|
e.action(["on", "off"]),
|
|
233
648
|
e.numeric("radioactive_events_per_minute", ea.STATE).withUnit("rpm").withDescription("Current count radioactive pulses per minute"),
|
|
@@ -239,19 +654,19 @@ exports.definitions = [
|
|
|
239
654
|
e.numeric("sensors_count", ea.ALL).withDescription("Count of installed tubes").withValueMin(0).withValueMax(50),
|
|
240
655
|
e.numeric("sensitivity", ea.ALL).withDescription("This is applicable if tubes type is set to other").withValueMin(0).withValueMax(100),
|
|
241
656
|
],
|
|
242
|
-
toZigbee: [
|
|
657
|
+
toZigbee: [tzLocal.diyruz_geiger_config],
|
|
243
658
|
configure: async (device, coordinatorEndpoint) => {
|
|
244
659
|
const endpoint = device.getEndpoint(1);
|
|
245
660
|
await reporting.bind(endpoint, coordinatorEndpoint, ["msIlluminanceMeasurement", "genOnOff"]);
|
|
246
661
|
const payload = [
|
|
247
662
|
{
|
|
248
|
-
attribute:
|
|
663
|
+
attribute: "radioactiveEventsPerMinute",
|
|
249
664
|
minimumReportInterval: 0,
|
|
250
665
|
maximumReportInterval: constants.repInterval.MINUTE,
|
|
251
666
|
reportableChange: 0,
|
|
252
667
|
},
|
|
253
668
|
{
|
|
254
|
-
attribute:
|
|
669
|
+
attribute: "radiationDosePerHour",
|
|
255
670
|
minimumReportInterval: 0,
|
|
256
671
|
maximumReportInterval: constants.repInterval.MINUTE,
|
|
257
672
|
reportableChange: 0,
|
|
@@ -265,7 +680,7 @@ exports.definitions = [
|
|
|
265
680
|
model: "DIYRuZ_R8_8",
|
|
266
681
|
vendor: "DIYRuZ",
|
|
267
682
|
description: "DiY 8 Relays + 8 switches",
|
|
268
|
-
fromZigbee: [
|
|
683
|
+
fromZigbee: [ptvo.fzLocal.ptvo_multistate_action],
|
|
269
684
|
extend: [
|
|
270
685
|
m.deviceEndpoints({ endpoints: { l1: 1, l2: 2, l3: 3, l4: 4, l5: 5, l6: 6, l7: 7, l8: 8 } }),
|
|
271
686
|
m.onOff({ endpointNames: ["l1", "l2", "l3", "l4", "l5", "l6", "l7", "l8"] }),
|
|
@@ -327,17 +742,23 @@ exports.definitions = [
|
|
|
327
742
|
model: "DIYRuZ_AirSense",
|
|
328
743
|
vendor: "DIYRuZ",
|
|
329
744
|
description: "Air quality sensor",
|
|
745
|
+
extend: [
|
|
746
|
+
diyruzExtend.addDiyruzMsCO2Cluster(),
|
|
747
|
+
diyruzExtend.addDiyruzMsTemperatureMeasurementCluster(),
|
|
748
|
+
diyruzExtend.addDiyruzMsPressureMeasurementCluster(),
|
|
749
|
+
diyruzExtend.addDiyruzMsRelativeHumidityCluster(),
|
|
750
|
+
],
|
|
330
751
|
fromZigbee: [
|
|
331
752
|
fz.temperature,
|
|
332
753
|
fz.humidity,
|
|
333
754
|
fz.co2,
|
|
334
755
|
fz.pressure,
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
756
|
+
fzLocal.diyruz_airsense_config_co2,
|
|
757
|
+
fzLocal.diyruz_airsense_config_temp,
|
|
758
|
+
fzLocal.diyruz_airsense_config_pres,
|
|
759
|
+
fzLocal.diyruz_airsense_config_hum,
|
|
339
760
|
],
|
|
340
|
-
toZigbee: [
|
|
761
|
+
toZigbee: [tzLocal.diyruz_airsense_config],
|
|
341
762
|
configure: async (device, coordinatorEndpoint) => {
|
|
342
763
|
const endpoint = device.getEndpoint(1);
|
|
343
764
|
const clusters = ["msTemperatureMeasurement", "msRelativeHumidity", "msPressureMeasurement", "msCO2"];
|
|
@@ -368,8 +789,9 @@ exports.definitions = [
|
|
|
368
789
|
model: "DIYRuZ_Zintercom",
|
|
369
790
|
vendor: "DIYRuZ",
|
|
370
791
|
description: "Matrix intercom auto opener",
|
|
371
|
-
|
|
372
|
-
|
|
792
|
+
extend: [diyruzExtend.addDiyruzClosuresDoorLockCluster()],
|
|
793
|
+
fromZigbee: [fz.battery, fzLocal.diyruz_zintercom_config],
|
|
794
|
+
toZigbee: [tzLocal.diyruz_zintercom_config],
|
|
373
795
|
configure: async (device, coordinatorEndpoint) => {
|
|
374
796
|
const firstEndpoint = device.getEndpoint(1);
|
|
375
797
|
await reporting.bind(firstEndpoint, coordinatorEndpoint, ["closuresDoorLock", "genPowerCfg"]);
|
|
@@ -378,7 +800,9 @@ exports.definitions = [
|
|
|
378
800
|
{ attribute: "batteryVoltage", minimumReportInterval: 0, maximumReportInterval: 3600, reportableChange: 0 },
|
|
379
801
|
];
|
|
380
802
|
await firstEndpoint.configureReporting("genPowerCfg", payload1);
|
|
381
|
-
const payload2 = [
|
|
803
|
+
const payload2 = [
|
|
804
|
+
{ attribute: "state", minimumReportInterval: 0, maximumReportInterval: 3600, reportableChange: 0 },
|
|
805
|
+
];
|
|
382
806
|
await firstEndpoint.configureReporting("closuresDoorLock", payload2);
|
|
383
807
|
},
|
|
384
808
|
exposes: [
|