@switchbot/homebridge-switchbot 5.0.0-beta.70 → 5.0.0-beta.71
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/.github/ISSUE_TEMPLATE/e2e-verification.md +36 -0
- package/.github/workflows/ci.yml +61 -0
- package/.github/workflows/manual-e2e.yml +103 -0
- package/CHANGELOG.md +20 -0
- package/E2E-VERIFICATION.md +121 -0
- package/MIGRATION.md +44 -0
- package/README.md +11 -0
- package/config.schema.json +99 -1940
- package/dist/deviceFactory.d.ts +13 -0
- package/dist/deviceFactory.d.ts.map +1 -0
- package/dist/deviceFactory.js +81 -0
- package/dist/deviceFactory.js.map +1 -0
- package/dist/devices/deviceBase.d.ts +50 -0
- package/dist/devices/deviceBase.d.ts.map +1 -0
- package/dist/devices/deviceBase.js +119 -0
- package/dist/devices/deviceBase.js.map +1 -0
- package/dist/devices/genericDevice.d.ts +283 -0
- package/dist/devices/genericDevice.d.ts.map +1 -0
- package/dist/devices/genericDevice.js +1035 -0
- package/dist/devices/genericDevice.js.map +1 -0
- package/dist/homebridge-ui/public/index.html +72 -440
- package/dist/homebridge-ui/server.d.ts +3 -1
- package/dist/homebridge-ui/server.d.ts.map +1 -1
- package/dist/homebridge-ui/server.js +47 -10
- package/dist/homebridge-ui/server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/platform.d.ts +27 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +404 -0
- package/dist/platform.js.map +1 -0
- package/dist/settings.d.ts +10 -317
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +5 -30
- package/dist/settings.js.map +1 -1
- package/dist/switchbotClient.d.ts +32 -0
- package/dist/switchbotClient.d.ts.map +1 -0
- package/dist/switchbotClient.js +259 -0
- package/dist/switchbotClient.js.map +1 -0
- package/dist/utils.d.ts +36 -248
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +38 -1367
- package/dist/utils.js.map +1 -1
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/style.css +3 -3
- package/docs/index.html +50 -15
- package/docs/variables/default.html +1 -1
- package/package.json +19 -18
- package/scripts/e2e/README.md +25 -0
- package/scripts/e2e/curtain-e2e.sh +70 -0
- package/scripts/e2e/fan-e2e.sh +75 -0
- package/scripts/e2e/light-advanced-e2e.sh +97 -0
- package/scripts/e2e/light-e2e.sh +75 -0
- package/scripts/e2e/list-accessories.sh +19 -0
- package/scripts/e2e/lock-e2e.sh +65 -0
- package/scripts/generate-matter-maps.js +60 -0
- package/scripts/run-e2e-local.sh +14 -0
- package/src/deviceFactory.ts +122 -0
- package/src/devices/deviceBase.ts +141 -0
- package/src/devices/genericDevice.ts +965 -0
- package/src/homebridge-ui/public/index.html +72 -440
- package/src/homebridge-ui/server.ts +52 -10
- package/src/index.ts +3 -5
- package/src/platform.ts +395 -0
- package/src/settings.ts +12 -352
- package/src/switchbotClient.ts +266 -0
- package/src/utils.ts +47 -1456
- package/test/accessory-restore.spec.ts +73 -0
- package/test/device-mapping.spec.ts +37 -0
- package/test/deviceFactory.spec.ts +18 -0
- package/test/e2e/run-e2e.spec.ts +50 -0
- package/test/fan-swing.spec.ts +29 -0
- package/test/helpers/matter-harness.ts +53 -0
- package/test/lock-users.spec.ts +44 -0
- package/test/matter-childbridge.spec.ts +55 -0
- package/test/matter-descriptors.spec.ts +97 -0
- package/test/matter-device-state.spec.ts +101 -0
- package/test/matter-integration.spec.ts +70 -0
- package/test/platform.integration.spec.ts +55 -0
- package/test/switchbot-client-debounce.spec.ts +131 -0
- package/test/switchbot-client-openapi.spec.ts +56 -0
- package/test/switchbotClient.spec.ts +10 -0
- package/test/utils.spec.ts +20 -0
- package/vitest.config.ts +7 -0
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -15847
- package/coverage/coverage-final.json +0 -42
- package/coverage/docs/assets/dmt/dmt-component-data.js.html +0 -85
- package/coverage/docs/assets/dmt/dmt-components.js.html +0 -286
- package/coverage/docs/assets/dmt/index.html +0 -131
- package/coverage/docs/assets/hierarchy.js.html +0 -85
- package/coverage/docs/assets/icons.js.html +0 -136
- package/coverage/docs/assets/index.html +0 -146
- package/coverage/docs/assets/main.js.html +0 -265
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -191
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/coverage/src/device/blindtilt.ts.html +0 -3238
- package/coverage/src/device/bot.ts.html +0 -2803
- package/coverage/src/device/ceilinglight.ts.html +0 -2338
- package/coverage/src/device/colorbulb.ts.html +0 -2824
- package/coverage/src/device/contact.ts.html +0 -1465
- package/coverage/src/device/curtain.ts.html +0 -2869
- package/coverage/src/device/device.ts.html +0 -2500
- package/coverage/src/device/fan.ts.html +0 -2242
- package/coverage/src/device/hub.ts.html +0 -1408
- package/coverage/src/device/humidifier.ts.html +0 -2116
- package/coverage/src/device/index.html +0 -416
- package/coverage/src/device/iosensor.ts.html +0 -1375
- package/coverage/src/device/lightstrip.ts.html +0 -2617
- package/coverage/src/device/lock.ts.html +0 -1963
- package/coverage/src/device/meter.ts.html +0 -1372
- package/coverage/src/device/meterplus.ts.html +0 -1384
- package/coverage/src/device/meterpro.ts.html +0 -1618
- package/coverage/src/device/motion.ts.html +0 -1264
- package/coverage/src/device/plug.ts.html +0 -1372
- package/coverage/src/device/relayswitch.ts.html +0 -2284
- package/coverage/src/device/robotvacuumcleaner.ts.html +0 -1810
- package/coverage/src/device/waterdetector.ts.html +0 -1294
- package/coverage/src/homebridge-ui/index.html +0 -116
- package/coverage/src/homebridge-ui/server.ts.html +0 -229
- package/coverage/src/index.html +0 -161
- package/coverage/src/index.ts.html +0 -124
- package/coverage/src/irdevice/airconditioner.ts.html +0 -1687
- package/coverage/src/irdevice/airpurifier.ts.html +0 -844
- package/coverage/src/irdevice/camera.ts.html +0 -475
- package/coverage/src/irdevice/fan.ts.html +0 -766
- package/coverage/src/irdevice/index.html +0 -251
- package/coverage/src/irdevice/irdevice.ts.html +0 -1117
- package/coverage/src/irdevice/light.ts.html +0 -826
- package/coverage/src/irdevice/other.ts.html +0 -2458
- package/coverage/src/irdevice/tv.ts.html +0 -1222
- package/coverage/src/irdevice/vacuumcleaner.ts.html +0 -466
- package/coverage/src/irdevice/waterheater.ts.html +0 -469
- package/coverage/src/platform.ts.html +0 -8776
- package/coverage/src/settings.ts.html +0 -934
- package/coverage/src/utils.ts.html +0 -2092
- package/dist/devices-hap/airpurifier.d.ts +0 -54
- package/dist/devices-hap/airpurifier.d.ts.map +0 -1
- package/dist/devices-hap/airpurifier.js +0 -533
- package/dist/devices-hap/airpurifier.js.map +0 -1
- package/dist/devices-hap/blindtilt.d.ts +0 -90
- package/dist/devices-hap/blindtilt.d.ts.map +0 -1
- package/dist/devices-hap/blindtilt.js +0 -974
- package/dist/devices-hap/blindtilt.js.map +0 -1
- package/dist/devices-hap/bot.d.ts +0 -102
- package/dist/devices-hap/bot.d.ts.map +0 -1
- package/dist/devices-hap/bot.js +0 -822
- package/dist/devices-hap/bot.js.map +0 -1
- package/dist/devices-hap/ceilinglight.d.ts +0 -85
- package/dist/devices-hap/ceilinglight.d.ts.map +0 -1
- package/dist/devices-hap/ceilinglight.js +0 -707
- package/dist/devices-hap/ceilinglight.js.map +0 -1
- package/dist/devices-hap/colorbulb.d.ts +0 -88
- package/dist/devices-hap/colorbulb.d.ts.map +0 -1
- package/dist/devices-hap/colorbulb.js +0 -921
- package/dist/devices-hap/colorbulb.js.map +0 -1
- package/dist/devices-hap/contact.d.ts +0 -44
- package/dist/devices-hap/contact.d.ts.map +0 -1
- package/dist/devices-hap/contact.js +0 -409
- package/dist/devices-hap/contact.js.map +0 -1
- package/dist/devices-hap/curtain.d.ts +0 -73
- package/dist/devices-hap/curtain.d.ts.map +0 -1
- package/dist/devices-hap/curtain.js +0 -869
- package/dist/devices-hap/curtain.js.map +0 -1
- package/dist/devices-hap/device.d.ts +0 -108
- package/dist/devices-hap/device.d.ts.map +0 -1
- package/dist/devices-hap/device.js +0 -821
- package/dist/devices-hap/device.js.map +0 -1
- package/dist/devices-hap/fan.d.ts +0 -69
- package/dist/devices-hap/fan.d.ts.map +0 -1
- package/dist/devices-hap/fan.js +0 -655
- package/dist/devices-hap/fan.js.map +0 -1
- package/dist/devices-hap/hub.d.ts +0 -37
- package/dist/devices-hap/hub.d.ts.map +0 -1
- package/dist/devices-hap/hub.js +0 -393
- package/dist/devices-hap/hub.js.map +0 -1
- package/dist/devices-hap/humidifier.d.ts +0 -73
- package/dist/devices-hap/humidifier.d.ts.map +0 -1
- package/dist/devices-hap/humidifier.js +0 -716
- package/dist/devices-hap/humidifier.js.map +0 -1
- package/dist/devices-hap/iosensor.d.ts +0 -42
- package/dist/devices-hap/iosensor.d.ts.map +0 -1
- package/dist/devices-hap/iosensor.js +0 -397
- package/dist/devices-hap/iosensor.js.map +0 -1
- package/dist/devices-hap/lightstrip.d.ts +0 -79
- package/dist/devices-hap/lightstrip.d.ts.map +0 -1
- package/dist/devices-hap/lightstrip.js +0 -827
- package/dist/devices-hap/lightstrip.js.map +0 -1
- package/dist/devices-hap/lock.d.ts +0 -53
- package/dist/devices-hap/lock.d.ts.map +0 -1
- package/dist/devices-hap/lock.js +0 -569
- package/dist/devices-hap/lock.js.map +0 -1
- package/dist/devices-hap/meter.d.ts +0 -37
- package/dist/devices-hap/meter.d.ts.map +0 -1
- package/dist/devices-hap/meter.js +0 -380
- package/dist/devices-hap/meter.js.map +0 -1
- package/dist/devices-hap/meterplus.d.ts +0 -42
- package/dist/devices-hap/meterplus.d.ts.map +0 -1
- package/dist/devices-hap/meterplus.js +0 -385
- package/dist/devices-hap/meterplus.js.map +0 -1
- package/dist/devices-hap/meterpro.d.ts +0 -43
- package/dist/devices-hap/meterpro.d.ts.map +0 -1
- package/dist/devices-hap/meterpro.js +0 -469
- package/dist/devices-hap/meterpro.js.map +0 -1
- package/dist/devices-hap/motion.d.ts +0 -42
- package/dist/devices-hap/motion.d.ts.map +0 -1
- package/dist/devices-hap/motion.js +0 -345
- package/dist/devices-hap/motion.js.map +0 -1
- package/dist/devices-hap/plug.d.ts +0 -49
- package/dist/devices-hap/plug.d.ts.map +0 -1
- package/dist/devices-hap/plug.js +0 -400
- package/dist/devices-hap/plug.js.map +0 -1
- package/dist/devices-hap/relayswitch.d.ts +0 -96
- package/dist/devices-hap/relayswitch.d.ts.map +0 -1
- package/dist/devices-hap/relayswitch.js +0 -642
- package/dist/devices-hap/relayswitch.js.map +0 -1
- package/dist/devices-hap/robotvacuumcleaner.d.ts +0 -54
- package/dist/devices-hap/robotvacuumcleaner.d.ts.map +0 -1
- package/dist/devices-hap/robotvacuumcleaner.js +0 -530
- package/dist/devices-hap/robotvacuumcleaner.js.map +0 -1
- package/dist/devices-hap/waterdetector.d.ts +0 -41
- package/dist/devices-hap/waterdetector.d.ts.map +0 -1
- package/dist/devices-hap/waterdetector.js +0 -356
- package/dist/devices-hap/waterdetector.js.map +0 -1
- package/dist/devices-matter/BaseMatterAccessory.d.ts +0 -90
- package/dist/devices-matter/BaseMatterAccessory.d.ts.map +0 -1
- package/dist/devices-matter/BaseMatterAccessory.js +0 -264
- package/dist/devices-matter/BaseMatterAccessory.js.map +0 -1
- package/dist/devices-matter/ColorLightAccessory.d.ts +0 -20
- package/dist/devices-matter/ColorLightAccessory.d.ts.map +0 -1
- package/dist/devices-matter/ColorLightAccessory.js +0 -95
- package/dist/devices-matter/ColorLightAccessory.js.map +0 -1
- package/dist/devices-matter/ColorTemperatureLightAccessory.d.ts +0 -18
- package/dist/devices-matter/ColorTemperatureLightAccessory.d.ts.map +0 -1
- package/dist/devices-matter/ColorTemperatureLightAccessory.js +0 -76
- package/dist/devices-matter/ColorTemperatureLightAccessory.js.map +0 -1
- package/dist/devices-matter/ContactSensorAccessory.d.ts +0 -12
- package/dist/devices-matter/ContactSensorAccessory.d.ts.map +0 -1
- package/dist/devices-matter/ContactSensorAccessory.js +0 -34
- package/dist/devices-matter/ContactSensorAccessory.js.map +0 -1
- package/dist/devices-matter/DimmableLightAccessory.d.ts +0 -58
- package/dist/devices-matter/DimmableLightAccessory.d.ts.map +0 -1
- package/dist/devices-matter/DimmableLightAccessory.js +0 -167
- package/dist/devices-matter/DimmableLightAccessory.js.map +0 -1
- package/dist/devices-matter/DoorLockAccessory.d.ts +0 -14
- package/dist/devices-matter/DoorLockAccessory.d.ts.map +0 -1
- package/dist/devices-matter/DoorLockAccessory.js +0 -50
- package/dist/devices-matter/DoorLockAccessory.js.map +0 -1
- package/dist/devices-matter/ExtendedColorLightAccessory.d.ts +0 -21
- package/dist/devices-matter/ExtendedColorLightAccessory.d.ts.map +0 -1
- package/dist/devices-matter/ExtendedColorLightAccessory.js +0 -106
- package/dist/devices-matter/ExtendedColorLightAccessory.js.map +0 -1
- package/dist/devices-matter/FanAccessory.d.ts +0 -16
- package/dist/devices-matter/FanAccessory.d.ts.map +0 -1
- package/dist/devices-matter/FanAccessory.js +0 -81
- package/dist/devices-matter/FanAccessory.js.map +0 -1
- package/dist/devices-matter/HumiditySensorAccessory.d.ts +0 -12
- package/dist/devices-matter/HumiditySensorAccessory.d.ts.map +0 -1
- package/dist/devices-matter/HumiditySensorAccessory.js +0 -34
- package/dist/devices-matter/HumiditySensorAccessory.js.map +0 -1
- package/dist/devices-matter/LeakSensorAccessory.d.ts +0 -12
- package/dist/devices-matter/LeakSensorAccessory.d.ts.map +0 -1
- package/dist/devices-matter/LeakSensorAccessory.js +0 -33
- package/dist/devices-matter/LeakSensorAccessory.js.map +0 -1
- package/dist/devices-matter/LightSensorAccessory.d.ts +0 -12
- package/dist/devices-matter/LightSensorAccessory.d.ts.map +0 -1
- package/dist/devices-matter/LightSensorAccessory.js +0 -34
- package/dist/devices-matter/LightSensorAccessory.js.map +0 -1
- package/dist/devices-matter/OccupancySensorAccessory.d.ts +0 -12
- package/dist/devices-matter/OccupancySensorAccessory.d.ts.map +0 -1
- package/dist/devices-matter/OccupancySensorAccessory.js +0 -39
- package/dist/devices-matter/OccupancySensorAccessory.js.map +0 -1
- package/dist/devices-matter/OnOffLightAccessory.d.ts +0 -38
- package/dist/devices-matter/OnOffLightAccessory.d.ts.map +0 -1
- package/dist/devices-matter/OnOffLightAccessory.js +0 -110
- package/dist/devices-matter/OnOffLightAccessory.js.map +0 -1
- package/dist/devices-matter/OnOffOutletAccessory.d.ts +0 -14
- package/dist/devices-matter/OnOffOutletAccessory.d.ts.map +0 -1
- package/dist/devices-matter/OnOffOutletAccessory.js +0 -43
- package/dist/devices-matter/OnOffOutletAccessory.js.map +0 -1
- package/dist/devices-matter/OnOffSwitchAccessory.d.ts +0 -14
- package/dist/devices-matter/OnOffSwitchAccessory.d.ts.map +0 -1
- package/dist/devices-matter/OnOffSwitchAccessory.js +0 -42
- package/dist/devices-matter/OnOffSwitchAccessory.js.map +0 -1
- package/dist/devices-matter/RoboticVacuumAccessory.d.ts +0 -61
- package/dist/devices-matter/RoboticVacuumAccessory.d.ts.map +0 -1
- package/dist/devices-matter/RoboticVacuumAccessory.js +0 -544
- package/dist/devices-matter/RoboticVacuumAccessory.js.map +0 -1
- package/dist/devices-matter/SmokeCOAlarmAccessory.d.ts +0 -11
- package/dist/devices-matter/SmokeCOAlarmAccessory.d.ts.map +0 -1
- package/dist/devices-matter/SmokeCOAlarmAccessory.js +0 -49
- package/dist/devices-matter/SmokeCOAlarmAccessory.js.map +0 -1
- package/dist/devices-matter/TemperatureSensorAccessory.d.ts +0 -12
- package/dist/devices-matter/TemperatureSensorAccessory.d.ts.map +0 -1
- package/dist/devices-matter/TemperatureSensorAccessory.js +0 -36
- package/dist/devices-matter/TemperatureSensorAccessory.js.map +0 -1
- package/dist/devices-matter/ThermostatAccessory.d.ts +0 -19
- package/dist/devices-matter/ThermostatAccessory.d.ts.map +0 -1
- package/dist/devices-matter/ThermostatAccessory.js +0 -95
- package/dist/devices-matter/ThermostatAccessory.js.map +0 -1
- package/dist/devices-matter/VenetianBlindAccessory.d.ts +0 -19
- package/dist/devices-matter/VenetianBlindAccessory.d.ts.map +0 -1
- package/dist/devices-matter/VenetianBlindAccessory.js +0 -99
- package/dist/devices-matter/VenetianBlindAccessory.js.map +0 -1
- package/dist/devices-matter/WindowBlindAccessory.d.ts +0 -17
- package/dist/devices-matter/WindowBlindAccessory.d.ts.map +0 -1
- package/dist/devices-matter/WindowBlindAccessory.js +0 -131
- package/dist/devices-matter/WindowBlindAccessory.js.map +0 -1
- package/dist/devices-matter/custom/PowerStripAccessory.d.ts +0 -97
- package/dist/devices-matter/custom/PowerStripAccessory.d.ts.map +0 -1
- package/dist/devices-matter/custom/PowerStripAccessory.js +0 -265
- package/dist/devices-matter/custom/PowerStripAccessory.js.map +0 -1
- package/dist/devices-matter/custom/index.d.ts +0 -8
- package/dist/devices-matter/custom/index.d.ts.map +0 -1
- package/dist/devices-matter/custom/index.js +0 -8
- package/dist/devices-matter/custom/index.js.map +0 -1
- package/dist/devices-matter/index.d.ts +0 -29
- package/dist/devices-matter/index.d.ts.map +0 -1
- package/dist/devices-matter/index.js +0 -28
- package/dist/devices-matter/index.js.map +0 -1
- package/dist/irdevice/airconditioner.d.ts +0 -61
- package/dist/irdevice/airconditioner.d.ts.map +0 -1
- package/dist/irdevice/airconditioner.js +0 -472
- package/dist/irdevice/airconditioner.js.map +0 -1
- package/dist/irdevice/airpurifier.d.ts +0 -50
- package/dist/irdevice/airpurifier.d.ts.map +0 -1
- package/dist/irdevice/airpurifier.js +0 -213
- package/dist/irdevice/airpurifier.js.map +0 -1
- package/dist/irdevice/camera.d.ts +0 -32
- package/dist/irdevice/camera.d.ts.map +0 -1
- package/dist/irdevice/camera.js +0 -107
- package/dist/irdevice/camera.js.map +0 -1
- package/dist/irdevice/fan.d.ts +0 -36
- package/dist/irdevice/fan.d.ts.map +0 -1
- package/dist/irdevice/fan.js +0 -200
- package/dist/irdevice/fan.js.map +0 -1
- package/dist/irdevice/irdevice.d.ts +0 -69
- package/dist/irdevice/irdevice.d.ts.map +0 -1
- package/dist/irdevice/irdevice.js +0 -339
- package/dist/irdevice/irdevice.js.map +0 -1
- package/dist/irdevice/light.d.ts +0 -36
- package/dist/irdevice/light.d.ts.map +0 -1
- package/dist/irdevice/light.js +0 -206
- package/dist/irdevice/light.js.map +0 -1
- package/dist/irdevice/other.d.ts +0 -57
- package/dist/irdevice/other.d.ts.map +0 -1
- package/dist/irdevice/other.js +0 -778
- package/dist/irdevice/other.js.map +0 -1
- package/dist/irdevice/tv.d.ts +0 -45
- package/dist/irdevice/tv.d.ts.map +0 -1
- package/dist/irdevice/tv.js +0 -327
- package/dist/irdevice/tv.js.map +0 -1
- package/dist/irdevice/vacuumcleaner.d.ts +0 -28
- package/dist/irdevice/vacuumcleaner.d.ts.map +0 -1
- package/dist/irdevice/vacuumcleaner.js +0 -104
- package/dist/irdevice/vacuumcleaner.js.map +0 -1
- package/dist/irdevice/waterheater.d.ts +0 -30
- package/dist/irdevice/waterheater.d.ts.map +0 -1
- package/dist/irdevice/waterheater.js +0 -105
- package/dist/irdevice/waterheater.js.map +0 -1
- package/dist/platform-hap.d.ts +0 -160
- package/dist/platform-hap.d.ts.map +0 -1
- package/dist/platform-hap.js +0 -3041
- package/dist/platform-hap.js.map +0 -1
- package/dist/platform-matter.d.ts +0 -188
- package/dist/platform-matter.d.ts.map +0 -1
- package/dist/platform-matter.js +0 -2545
- package/dist/platform-matter.js.map +0 -1
- package/dist/test/apiRequestTracker.test.d.ts +0 -2
- package/dist/test/apiRequestTracker.test.d.ts.map +0 -1
- package/dist/test/apiRequestTracker.test.js +0 -392
- package/dist/test/apiRequestTracker.test.js.map +0 -1
- package/dist/test/hap/device-webhook-context.test.d.ts +0 -2
- package/dist/test/hap/device-webhook-context.test.d.ts.map +0 -1
- package/dist/test/hap/device-webhook-context.test.js +0 -128
- package/dist/test/hap/device-webhook-context.test.js.map +0 -1
- package/dist/test/hap/platform-hap.logging.test.d.ts +0 -2
- package/dist/test/hap/platform-hap.logging.test.d.ts.map +0 -1
- package/dist/test/hap/platform-hap.logging.test.js +0 -33
- package/dist/test/hap/platform-hap.logging.test.js.map +0 -1
- package/dist/test/hap/platform-hap.test.d.ts +0 -2
- package/dist/test/hap/platform-hap.test.d.ts.map +0 -1
- package/dist/test/hap/platform-hap.test.js +0 -62
- package/dist/test/hap/platform-hap.test.js.map +0 -1
- package/dist/test/helpers/platform-fixtures.d.ts +0 -9
- package/dist/test/helpers/platform-fixtures.d.ts.map +0 -1
- package/dist/test/helpers/platform-fixtures.js +0 -30
- package/dist/test/helpers/platform-fixtures.js.map +0 -1
- package/dist/test/homebridge-ui/server.test.d.ts +0 -2
- package/dist/test/homebridge-ui/server.test.d.ts.map +0 -1
- package/dist/test/homebridge-ui/server.test.js +0 -445
- package/dist/test/homebridge-ui/server.test.js.map +0 -1
- package/dist/test/index.test.d.ts +0 -2
- package/dist/test/index.test.d.ts.map +0 -1
- package/dist/test/index.test.js +0 -19
- package/dist/test/index.test.js.map +0 -1
- package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts +0 -2
- package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts.map +0 -1
- package/dist/test/matter/devices-matter/baseMatterAccessory.test.js +0 -71
- package/dist/test/matter/devices-matter/baseMatterAccessory.test.js.map +0 -1
- package/dist/test/matter/platform-matter.additional.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.additional.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.additional.test.js +0 -35
- package/dist/test/matter/platform-matter.additional.test.js.map +0 -1
- package/dist/test/matter/platform-matter.bleparse.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.bleparse.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.bleparse.test.js +0 -43
- package/dist/test/matter/platform-matter.bleparse.test.js.map +0 -1
- package/dist/test/matter/platform-matter.cleanup.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.cleanup.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.cleanup.test.js +0 -70
- package/dist/test/matter/platform-matter.cleanup.test.js.map +0 -1
- package/dist/test/matter/platform-matter.keepstale.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.keepstale.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.keepstale.test.js +0 -27
- package/dist/test/matter/platform-matter.keepstale.test.js.map +0 -1
- package/dist/test/matter/platform-matter.logging.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.logging.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.logging.test.js +0 -29
- package/dist/test/matter/platform-matter.logging.test.js.map +0 -1
- package/dist/test/matter/platform-matter.mapping.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.mapping.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.mapping.test.js +0 -43
- package/dist/test/matter/platform-matter.mapping.test.js.map +0 -1
- package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.openapi-mapping.test.js +0 -84
- package/dist/test/matter/platform-matter.openapi-mapping.test.js.map +0 -1
- package/dist/test/matter/platform-matter.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.test.js +0 -117
- package/dist/test/matter/platform-matter.test.js.map +0 -1
- package/dist/test/matter/platform-matter.unregister.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.unregister.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.unregister.test.js +0 -30
- package/dist/test/matter/platform-matter.unregister.test.js.map +0 -1
- package/dist/test/matter/platform-matter.webhook.test.d.ts +0 -2
- package/dist/test/matter/platform-matter.webhook.test.d.ts.map +0 -1
- package/dist/test/matter/platform-matter.webhook.test.js +0 -46
- package/dist/test/matter/platform-matter.webhook.test.js.map +0 -1
- package/dist/test/utils.test.d.ts +0 -2
- package/dist/test/utils.test.d.ts.map +0 -1
- package/dist/test/utils.test.js +0 -95
- package/dist/test/utils.test.js.map +0 -1
- package/dist/test/verifyconfig.test.d.ts +0 -2
- package/dist/test/verifyconfig.test.d.ts.map +0 -1
- package/dist/test/verifyconfig.test.js +0 -167
- package/dist/test/verifyconfig.test.js.map +0 -1
- package/src/custom.d.ts +0 -7
- package/src/devices-hap/airpurifier.ts +0 -568
- package/src/devices-hap/blindtilt.ts +0 -1049
- package/src/devices-hap/bot.ts +0 -910
- package/src/devices-hap/ceilinglight.ts +0 -747
- package/src/devices-hap/colorbulb.ts +0 -940
- package/src/devices-hap/contact.ts +0 -457
- package/src/devices-hap/curtain.ts +0 -944
- package/src/devices-hap/device.ts +0 -890
- package/src/devices-hap/fan.ts +0 -716
- package/src/devices-hap/hub.ts +0 -440
- package/src/devices-hap/humidifier.ts +0 -762
- package/src/devices-hap/iosensor.ts +0 -442
- package/src/devices-hap/lightstrip.ts +0 -863
- package/src/devices-hap/lock.ts +0 -627
- package/src/devices-hap/meter.ts +0 -427
- package/src/devices-hap/meterplus.ts +0 -431
- package/src/devices-hap/meterpro.ts +0 -523
- package/src/devices-hap/motion.ts +0 -390
- package/src/devices-hap/plug.ts +0 -427
- package/src/devices-hap/relayswitch.ts +0 -727
- package/src/devices-hap/robotvacuumcleaner.ts +0 -574
- package/src/devices-hap/waterdetector.ts +0 -400
- package/src/devices-matter/BaseMatterAccessory.ts +0 -302
- package/src/devices-matter/ColorLightAccessory.ts +0 -110
- package/src/devices-matter/ColorTemperatureLightAccessory.ts +0 -90
- package/src/devices-matter/ContactSensorAccessory.ts +0 -41
- package/src/devices-matter/DimmableLightAccessory.ts +0 -192
- package/src/devices-matter/DoorLockAccessory.ts +0 -60
- package/src/devices-matter/ExtendedColorLightAccessory.ts +0 -122
- package/src/devices-matter/FanAccessory.ts +0 -95
- package/src/devices-matter/HumiditySensorAccessory.ts +0 -41
- package/src/devices-matter/LeakSensorAccessory.ts +0 -40
- package/src/devices-matter/LightSensorAccessory.ts +0 -41
- package/src/devices-matter/OccupancySensorAccessory.ts +0 -48
- package/src/devices-matter/OnOffLightAccessory.ts +0 -125
- package/src/devices-matter/OnOffOutletAccessory.ts +0 -51
- package/src/devices-matter/OnOffSwitchAccessory.ts +0 -51
- package/src/devices-matter/RoboticVacuumAccessory.ts +0 -621
- package/src/devices-matter/SmokeCOAlarmAccessory.ts +0 -59
- package/src/devices-matter/TemperatureSensorAccessory.ts +0 -43
- package/src/devices-matter/ThermostatAccessory.ts +0 -110
- package/src/devices-matter/VenetianBlindAccessory.ts +0 -115
- package/src/devices-matter/WindowBlindAccessory.ts +0 -135
- package/src/devices-matter/custom/PowerStripAccessory.ts +0 -309
- package/src/devices-matter/custom/index.ts +0 -8
- package/src/devices-matter/index.ts +0 -29
- package/src/irdevice/airconditioner.ts +0 -533
- package/src/irdevice/airpurifier.ts +0 -252
- package/src/irdevice/camera.ts +0 -129
- package/src/irdevice/fan.ts +0 -226
- package/src/irdevice/irdevice.ts +0 -383
- package/src/irdevice/light.ts +0 -246
- package/src/irdevice/other.ts +0 -790
- package/src/irdevice/tv.ts +0 -378
- package/src/irdevice/vacuumcleaner.ts +0 -126
- package/src/irdevice/waterheater.ts +0 -127
- package/src/platform-hap.ts +0 -3193
- package/src/platform-matter.ts +0 -2703
- package/src/test/apiRequestTracker.test.ts +0 -417
- package/src/test/hap/device-webhook-context.test.ts +0 -136
- package/src/test/hap/platform-hap.logging.test.ts +0 -36
- package/src/test/hap/platform-hap.test.ts +0 -70
- package/src/test/helpers/platform-fixtures.ts +0 -33
- package/src/test/homebridge-ui/server.test.ts +0 -486
- package/src/test/index.test.ts +0 -24
- package/src/test/matter/devices-matter/baseMatterAccessory.test.ts +0 -88
- package/src/test/matter/platform-matter.additional.test.ts +0 -44
- package/src/test/matter/platform-matter.bleparse.test.ts +0 -47
- package/src/test/matter/platform-matter.cleanup.test.ts +0 -86
- package/src/test/matter/platform-matter.keepstale.test.ts +0 -37
- package/src/test/matter/platform-matter.logging.test.ts +0 -33
- package/src/test/matter/platform-matter.mapping.test.ts +0 -57
- package/src/test/matter/platform-matter.openapi-mapping.test.ts +0 -109
- package/src/test/matter/platform-matter.test.ts +0 -144
- package/src/test/matter/platform-matter.unregister.test.ts +0 -39
- package/src/test/matter/platform-matter.webhook.test.ts +0 -54
- package/src/test/utils.test.ts +0 -96
- package/src/test/verifyconfig.test.ts +0 -198
package/dist/settings.d.ts
CHANGED
|
@@ -1,319 +1,12 @@
|
|
|
1
|
-
import type { IClientOptions } from 'async-mqtt';
|
|
2
|
-
import type { PlatformConfig } from 'homebridge';
|
|
3
|
-
import type { device, irdevice, SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName, SwitchBotModel } from 'node-switchbot';
|
|
4
|
-
/**
|
|
5
|
-
* This is the name of the platform that users will use to register the plugin in the Homebridge config.json
|
|
6
|
-
*/
|
|
7
|
-
export declare const PLATFORM_NAME = "SwitchBot";
|
|
8
|
-
/**
|
|
9
|
-
* This must match the name of your plugin as defined the package.json
|
|
10
|
-
*/
|
|
11
1
|
export declare const PLUGIN_NAME = "@switchbot/homebridge-switchbot";
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export
|
|
22
|
-
devices?: devicesConfig[];
|
|
23
|
-
irdevices?: irDevicesConfig[];
|
|
24
|
-
allowInvalidCharacters?: boolean;
|
|
25
|
-
allowConfigOnlyDevices?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* When true, previously-registered accessories for devices that are no
|
|
28
|
-
* longer discovered or configured will be kept on the bridge. Default: false.
|
|
29
|
-
* When false (default), stale accessories are removed automatically.
|
|
30
|
-
*/
|
|
31
|
-
keepStaleAccessories?: boolean;
|
|
32
|
-
mqttURL?: string;
|
|
33
|
-
mqttOptions?: IClientOptions;
|
|
34
|
-
mqttPubOptions?: IClientOptions;
|
|
35
|
-
BLE?: boolean;
|
|
36
|
-
discoverBLE?: boolean;
|
|
37
|
-
disableLogsforBLE?: boolean;
|
|
38
|
-
disableLogsforOpenAPI?: boolean;
|
|
39
|
-
hostname?: string;
|
|
40
|
-
webhookURL?: string;
|
|
41
|
-
/**
|
|
42
|
-
* When true, enables webhook support for all devices by default.
|
|
43
|
-
* Individual devices can override this with their own webhook setting.
|
|
44
|
-
* Requires webhookURL to be configured.
|
|
45
|
-
*/
|
|
46
|
-
webhook?: boolean;
|
|
47
|
-
maxRetries?: number;
|
|
48
|
-
delayBetweenRetries?: number;
|
|
49
|
-
refreshRate?: number;
|
|
50
|
-
updateRate?: number;
|
|
51
|
-
pushRate?: number;
|
|
52
|
-
logging?: string;
|
|
53
|
-
/**
|
|
54
|
-
* Maximum number of SwitchBot OpenAPI requests allowed per day.
|
|
55
|
-
* Defaults to 10,000 if not specified.
|
|
56
|
-
*/
|
|
57
|
-
dailyApiLimit?: number;
|
|
58
|
-
/**
|
|
59
|
-
* Number of daily API requests reserved for user-initiated commands.
|
|
60
|
-
* When remaining budget falls below this reserve, background polling and discovery
|
|
61
|
-
* are paused until the daily counter resets. Defaults to 1,000.
|
|
62
|
-
*/
|
|
63
|
-
dailyApiReserveForCommands?: number;
|
|
64
|
-
/**
|
|
65
|
-
* When true, the plugin will completely stop background polling/discovery
|
|
66
|
-
* once the remaining daily budget reaches the reserve (webhook-only mode).
|
|
67
|
-
* When false, polling continues until the hard daily limit is reached.
|
|
68
|
-
* Default: false.
|
|
69
|
-
*/
|
|
70
|
-
webhookOnlyOnReserve?: boolean;
|
|
71
|
-
/**
|
|
72
|
-
* When true, reset the daily API request counter at LOCAL midnight (system timezone).
|
|
73
|
-
* When false (default), reset at UTC midnight. Default: false.
|
|
74
|
-
*/
|
|
75
|
-
dailyApiResetAtLocalMidnight?: boolean;
|
|
76
|
-
/**
|
|
77
|
-
* When true, resets the daily API request counter to zero. This is useful for testing purposes.
|
|
78
|
-
*/
|
|
79
|
-
resetDailyApiCounter?: boolean;
|
|
80
|
-
/**
|
|
81
|
-
* When set, configures the batch refresh rate (in milliseconds) for Matter devices. Default: 5000 ms.
|
|
82
|
-
*/
|
|
83
|
-
matterBatchRefreshRate?: number;
|
|
84
|
-
/**
|
|
85
|
-
* When true, enables batch processing for Matter devices. Default: false.
|
|
86
|
-
*/
|
|
87
|
-
matterBatchConcurrency?: number;
|
|
88
|
-
/**
|
|
89
|
-
* When true, enables batch processing for Matter devices. Default: false.
|
|
90
|
-
*/
|
|
91
|
-
matterBatchEnabled?: boolean;
|
|
92
|
-
/**
|
|
93
|
-
* When set, adds a random delay (jitter) to batch requests to avoid thundering herd problems.
|
|
94
|
-
*/
|
|
95
|
-
matterBatchJitter?: number;
|
|
96
|
-
newFeatureEnabled?: boolean;
|
|
97
|
-
}
|
|
98
|
-
export type devicesConfig = botConfig | relaySwitch1Config | relaySwitch1PMConfig | meterConfig | meterProConfig | indoorOutdoorSensorConfig | humidifierConfig | curtainConfig | blindTiltConfig | contactConfig | motionConfig | waterDetectorConfig | plugConfig | colorBulbConfig | stripLightConfig | ceilingLightConfig | lockConfig | hubConfig;
|
|
99
|
-
export interface BaseDeviceConfig extends device {
|
|
100
|
-
bleMac?: string;
|
|
101
|
-
model: SwitchBotModel;
|
|
102
|
-
bleModel: SwitchBotBLEModel;
|
|
103
|
-
bleModelName: SwitchBotBLEModelName;
|
|
104
|
-
bleModelFriednlyName: SwitchBotBLEModelFriendlyName;
|
|
105
|
-
configDeviceType: string;
|
|
106
|
-
configDeviceName?: string;
|
|
107
|
-
deviceId: string;
|
|
108
|
-
external?: boolean;
|
|
109
|
-
refreshRate?: number;
|
|
110
|
-
updateRate?: number;
|
|
111
|
-
pushRate?: number;
|
|
112
|
-
firmware?: string;
|
|
113
|
-
logging?: string;
|
|
114
|
-
connectionType?: string;
|
|
115
|
-
customBLEaddress?: string;
|
|
116
|
-
scanDuration?: number;
|
|
117
|
-
hide_device?: boolean;
|
|
118
|
-
offline?: boolean;
|
|
119
|
-
maxRetry?: number;
|
|
120
|
-
maxRetries?: number;
|
|
121
|
-
delayBetweenRetries?: number;
|
|
122
|
-
disableCaching?: boolean;
|
|
123
|
-
disablePlatformBLE?: boolean;
|
|
124
|
-
mqttURL?: string;
|
|
125
|
-
mqttOptions?: IClientOptions;
|
|
126
|
-
mqttPubOptions?: IClientOptions;
|
|
127
|
-
history?: boolean;
|
|
128
|
-
webhook?: boolean;
|
|
129
|
-
/**
|
|
130
|
-
* When true, applies this device's configuration to all other devices
|
|
131
|
-
* of the same deviceType/configDeviceType (e.g., all Humidifiers).
|
|
132
|
-
* Specific per-device settings will override these template settings.
|
|
133
|
-
*/
|
|
134
|
-
applyToAllDevicesOfType?: boolean;
|
|
135
|
-
}
|
|
136
|
-
export interface botConfig extends BaseDeviceConfig {
|
|
137
|
-
configDeviceType: 'Bot';
|
|
138
|
-
mode?: string;
|
|
139
|
-
type: string;
|
|
140
|
-
doublePress?: number;
|
|
141
|
-
pushRatePress?: number;
|
|
142
|
-
allowPush?: boolean;
|
|
143
|
-
multiPress?: boolean;
|
|
144
|
-
}
|
|
145
|
-
export interface relaySwitch1Config extends BaseDeviceConfig {
|
|
146
|
-
configDeviceType: 'Relay Switch 1';
|
|
147
|
-
type: string;
|
|
148
|
-
allowPush?: boolean;
|
|
149
|
-
}
|
|
150
|
-
export interface relaySwitch1PMConfig extends BaseDeviceConfig {
|
|
151
|
-
configDeviceType: 'Relay Switch 1PM';
|
|
152
|
-
type: string;
|
|
153
|
-
allowPush?: boolean;
|
|
154
|
-
}
|
|
155
|
-
export interface meterConfig extends BaseDeviceConfig {
|
|
156
|
-
configDeviceType: 'Meter' | 'MeterPlus';
|
|
157
|
-
hide_temperature?: boolean;
|
|
158
|
-
convertUnitTo?: string;
|
|
159
|
-
hide_humidity?: boolean;
|
|
160
|
-
}
|
|
161
|
-
export interface meterProConfig extends BaseDeviceConfig {
|
|
162
|
-
configDeviceType: 'Meter Pro' | 'MeterPro(CO2)';
|
|
163
|
-
hide_temperature?: boolean;
|
|
164
|
-
convertUnitTo?: string;
|
|
165
|
-
hide_humidity?: boolean;
|
|
166
|
-
hide_co2?: boolean;
|
|
167
|
-
}
|
|
168
|
-
export interface indoorOutdoorSensorConfig extends BaseDeviceConfig {
|
|
169
|
-
configDeviceType: 'WoIOSensor';
|
|
170
|
-
hide_temperature?: boolean;
|
|
171
|
-
convertUnitTo?: string;
|
|
172
|
-
hide_humidity?: boolean;
|
|
173
|
-
}
|
|
174
|
-
export interface humidifierConfig extends BaseDeviceConfig {
|
|
175
|
-
configDeviceType: 'Humidifier' | 'Humidifier2';
|
|
176
|
-
hide_temperature?: boolean;
|
|
177
|
-
convertUnitTo?: string;
|
|
178
|
-
set_minStep?: number;
|
|
179
|
-
/**
|
|
180
|
-
* When true (Humidifier2 only), exposes a Switch service in HomeKit
|
|
181
|
-
* to trigger the built-in Drying Filter mode via OpenAPI (setMode 8).
|
|
182
|
-
*/
|
|
183
|
-
activate_dryingfilter?: boolean;
|
|
184
|
-
}
|
|
185
|
-
export interface curtainConfig extends BaseDeviceConfig {
|
|
186
|
-
configDeviceType: 'Curtain' | 'Curtain3' | 'WoRollerShade' | 'Roller Shade';
|
|
187
|
-
disable_group?: boolean;
|
|
188
|
-
hide_lightsensor?: boolean;
|
|
189
|
-
set_minLux?: number;
|
|
190
|
-
set_maxLux?: number;
|
|
191
|
-
set_max?: number;
|
|
192
|
-
set_min?: number;
|
|
193
|
-
set_minStep?: number;
|
|
194
|
-
setCloseMode?: string;
|
|
195
|
-
setOpenMode?: string;
|
|
196
|
-
silentModeSwitch?: boolean;
|
|
197
|
-
}
|
|
198
|
-
export interface blindTiltConfig extends BaseDeviceConfig {
|
|
199
|
-
configDeviceType: 'Blind Tilt';
|
|
200
|
-
disable_group?: boolean;
|
|
201
|
-
mapping?: string;
|
|
202
|
-
hide_lightsensor?: boolean;
|
|
203
|
-
set_minLux?: number;
|
|
204
|
-
set_maxLux?: number;
|
|
205
|
-
set_max?: number;
|
|
206
|
-
set_min?: number;
|
|
207
|
-
set_minStep?: number;
|
|
208
|
-
setCloseMode?: string;
|
|
209
|
-
setOpenMode?: string;
|
|
210
|
-
silentModeSwitch?: boolean;
|
|
211
|
-
}
|
|
212
|
-
export interface contactConfig extends BaseDeviceConfig {
|
|
213
|
-
configDeviceType: 'Contact Sensor';
|
|
214
|
-
hide_lightsensor?: boolean;
|
|
215
|
-
set_minLux?: number;
|
|
216
|
-
set_maxLux?: number;
|
|
217
|
-
hide_motionsensor?: boolean;
|
|
218
|
-
}
|
|
219
|
-
export interface motionConfig extends BaseDeviceConfig {
|
|
220
|
-
configDeviceType: 'Motion Sensor';
|
|
221
|
-
hide_lightsensor?: boolean;
|
|
222
|
-
set_minLux?: number;
|
|
223
|
-
set_maxLux?: number;
|
|
224
|
-
}
|
|
225
|
-
export interface waterDetectorConfig extends BaseDeviceConfig {
|
|
226
|
-
configDeviceType: 'Water Detector';
|
|
227
|
-
hide_leak?: boolean;
|
|
228
|
-
dry?: boolean;
|
|
229
|
-
}
|
|
230
|
-
export interface plugConfig extends BaseDeviceConfig {
|
|
231
|
-
configDeviceType: 'Plug' | 'Plug Mini (US)' | 'Plug Mini (JP)';
|
|
232
|
-
}
|
|
233
|
-
export interface colorBulbConfig extends BaseDeviceConfig {
|
|
234
|
-
configDeviceType: 'Color Bulb';
|
|
235
|
-
set_minStep?: number;
|
|
236
|
-
adaptiveLightingShift?: number;
|
|
237
|
-
}
|
|
238
|
-
export interface stripLightConfig extends BaseDeviceConfig {
|
|
239
|
-
configDeviceType: 'Strip Light';
|
|
240
|
-
set_minStep?: number;
|
|
241
|
-
adaptiveLightingShift?: number;
|
|
242
|
-
}
|
|
243
|
-
export interface ceilingLightConfig extends BaseDeviceConfig {
|
|
244
|
-
configDeviceType: 'Ceiling Light' | 'Ceiling Light Pro';
|
|
245
|
-
set_minStep?: number;
|
|
246
|
-
adaptiveLightingShift?: number;
|
|
247
|
-
}
|
|
248
|
-
export interface lockConfig extends BaseDeviceConfig {
|
|
249
|
-
configDeviceType: 'Smart Lock' | 'Smart Lock Pro' | 'Smart Lock Ultra';
|
|
250
|
-
hide_contactsensor?: boolean;
|
|
251
|
-
activate_latchbutton?: boolean;
|
|
252
|
-
}
|
|
253
|
-
export interface hubConfig extends BaseDeviceConfig {
|
|
254
|
-
configDeviceType: 'Hub 2';
|
|
255
|
-
hide_temperature?: boolean;
|
|
256
|
-
convertUnitTo?: string;
|
|
257
|
-
hide_humidity?: boolean;
|
|
258
|
-
hide_lightsensor?: boolean;
|
|
259
|
-
set_minLux?: number;
|
|
260
|
-
set_maxLux?: number;
|
|
261
|
-
}
|
|
262
|
-
export type irDevicesConfig = irFanConfig | irLightConfig | irAirConfig | irOtherConfig;
|
|
263
|
-
export interface irBaseDeviceConfig extends irdevice {
|
|
264
|
-
configDeviceName?: string;
|
|
265
|
-
configRemoteType?: string;
|
|
266
|
-
connectionType?: string;
|
|
267
|
-
hide_device?: boolean;
|
|
268
|
-
external?: boolean;
|
|
269
|
-
refreshRate?: number;
|
|
270
|
-
updateRate?: number;
|
|
271
|
-
pushRate?: number;
|
|
272
|
-
maxRetries?: number;
|
|
273
|
-
delayBetweenRetries?: number;
|
|
274
|
-
firmware?: string;
|
|
275
|
-
deviceId: string;
|
|
276
|
-
logging?: string;
|
|
277
|
-
customOn?: string;
|
|
278
|
-
customOff?: string;
|
|
279
|
-
/**
|
|
280
|
-
* When true, applies this IR device's configuration to all other IR devices
|
|
281
|
-
* of the same remoteType/configRemoteType (e.g., all IR Fans).
|
|
282
|
-
* Specific per-device settings will override these template settings.
|
|
283
|
-
*/
|
|
284
|
-
applyToAllDevicesOfType?: boolean;
|
|
285
|
-
customize?: boolean;
|
|
286
|
-
commandType?: string;
|
|
287
|
-
disablePushOn?: boolean;
|
|
288
|
-
disablePushOff?: boolean;
|
|
289
|
-
disablePushDetail?: boolean;
|
|
290
|
-
}
|
|
291
|
-
export interface irFanConfig extends irBaseDeviceConfig {
|
|
292
|
-
configRemoteType?: 'Fan' | 'DIY Fan';
|
|
293
|
-
swing_mode?: boolean;
|
|
294
|
-
rotation_speed?: boolean;
|
|
295
|
-
set_minStep?: number;
|
|
296
|
-
set_max?: number;
|
|
297
|
-
set_min?: number;
|
|
298
|
-
}
|
|
299
|
-
export interface irLightConfig extends irBaseDeviceConfig {
|
|
300
|
-
configRemoteType?: 'Light' | 'DIY Light';
|
|
301
|
-
stateless?: boolean;
|
|
302
|
-
}
|
|
303
|
-
export interface irAirConfig extends irBaseDeviceConfig {
|
|
304
|
-
configRemoteType?: 'Air Conditioner' | 'DIY Air Conditioner';
|
|
305
|
-
hide_automode?: boolean;
|
|
306
|
-
set_max_heat?: number;
|
|
307
|
-
set_min_heat?: number;
|
|
308
|
-
set_max_cool?: number;
|
|
309
|
-
set_min_cool?: number;
|
|
310
|
-
meterType?: string;
|
|
311
|
-
meterId?: string;
|
|
312
|
-
meterUuid?: string;
|
|
313
|
-
}
|
|
314
|
-
export interface irOtherConfig extends irBaseDeviceConfig {
|
|
315
|
-
configRemoteType?: 'Others';
|
|
316
|
-
type?: string;
|
|
317
|
-
}
|
|
318
|
-
export {};
|
|
2
|
+
export declare const PLATFORM_NAME = "SwitchBot";
|
|
3
|
+
export interface SwitchBotPluginConfig {
|
|
4
|
+
openApiToken?: string;
|
|
5
|
+
openApiSecret?: string;
|
|
6
|
+
preferMatter?: boolean;
|
|
7
|
+
enableMatter?: boolean;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}
|
|
10
|
+
export declare const DEFAULT_CONFIG: Partial<SwitchBotPluginConfig>;
|
|
11
|
+
export type DeviceType = string;
|
|
319
12
|
//# sourceMappingURL=settings.d.ts.map
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,oCAAoC,CAAA;AAC5D,eAAO,MAAM,aAAa,cAAc,CAAA;AAExC,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,qBAAqB,CAGzD,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA"}
|
package/dist/settings.js
CHANGED
|
@@ -1,32 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This is the name of the platform that users will use to register the plugin in the Homebridge config.json
|
|
3
|
-
*/
|
|
4
|
-
export const PLATFORM_NAME = 'SwitchBot';
|
|
5
|
-
/**
|
|
6
|
-
* This must match the name of your plugin as defined the package.json
|
|
7
|
-
*/
|
|
8
1
|
export const PLUGIN_NAME = '@switchbot/homebridge-switchbot';
|
|
9
|
-
;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
;
|
|
14
|
-
;
|
|
15
|
-
;
|
|
16
|
-
;
|
|
17
|
-
;
|
|
18
|
-
;
|
|
19
|
-
;
|
|
20
|
-
;
|
|
21
|
-
;
|
|
22
|
-
;
|
|
23
|
-
;
|
|
24
|
-
;
|
|
25
|
-
;
|
|
26
|
-
;
|
|
27
|
-
;
|
|
28
|
-
;
|
|
29
|
-
;
|
|
30
|
-
;
|
|
31
|
-
;
|
|
2
|
+
export const PLATFORM_NAME = 'SwitchBot';
|
|
3
|
+
export const DEFAULT_CONFIG = {
|
|
4
|
+
preferMatter: true,
|
|
5
|
+
enableMatter: true,
|
|
6
|
+
};
|
|
32
7
|
//# sourceMappingURL=settings.js.map
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAA;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AAWxC,MAAM,CAAC,MAAM,cAAc,GAAmC;IAC5D,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,IAAI;CACnB,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { SwitchBotPluginConfig } from './settings';
|
|
2
|
+
export interface ISwitchBotClient {
|
|
3
|
+
init(): Promise<void>;
|
|
4
|
+
getDevice(id: string): Promise<any>;
|
|
5
|
+
destroy(): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare class SwitchBotClient implements ISwitchBotClient {
|
|
8
|
+
private cfg;
|
|
9
|
+
private client;
|
|
10
|
+
private baseUrl;
|
|
11
|
+
private requestTimeout;
|
|
12
|
+
private maxRetries;
|
|
13
|
+
private baseBackoffMs;
|
|
14
|
+
private maxBackoffMs;
|
|
15
|
+
private backoffFactor;
|
|
16
|
+
private jitter;
|
|
17
|
+
private writeDebounceMs;
|
|
18
|
+
private logger;
|
|
19
|
+
private perDeviceRetries;
|
|
20
|
+
private perDeviceMaxRetries;
|
|
21
|
+
private perDeviceCooldownMs;
|
|
22
|
+
private perDeviceCooldownUntil;
|
|
23
|
+
constructor(cfg: SwitchBotPluginConfig);
|
|
24
|
+
private pendingWrites;
|
|
25
|
+
init(): Promise<void>;
|
|
26
|
+
private fetchWithTimeoutAndRetry;
|
|
27
|
+
getDevice(id: string): Promise<any>;
|
|
28
|
+
setDeviceState(id: string, body: any): Promise<any>;
|
|
29
|
+
private _doSetDeviceState;
|
|
30
|
+
destroy(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=switchbotClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchbotClient.d.ts","sourceRoot":"","sources":["../src/switchbotClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAGD,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAoC;IAEnD,OAAO,CAAC,cAAc,CAAO;IAC7B,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,YAAY,CAAO;IAC3B,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,MAAM,CAAO;IAGrB,OAAO,CAAC,eAAe,CAAM;IAE7B,OAAO,CAAC,MAAM,CAAK;IAEnB,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,mBAAmB,CAAI;IAE/B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,sBAAsB,CAAiC;gBAEnD,GAAG,EAAE,qBAAqB;IAetC,OAAO,CAAC,aAAa,CAA0H;IAEzI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAoBb,wBAAwB;IAkHhC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAcnC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAiC3C,iBAAiB;IA6BzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|