node-switchbot 3.5.0-beta.0 → 3.5.0-beta.1
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/npm-version-script-esm.js +97 -0
- package/.github/workflows/beta-release.yml +1 -1
- package/.github/workflows/release.yml +1 -1
- package/BLE.md +14 -13
- package/CHANGELOG.md +68 -1
- package/OpenAPI.md +13 -12
- package/branding/Node_x_SwitchBot.svg +2 -3
- package/dist/device.d.ts +1193 -3
- package/dist/device.d.ts.map +1 -1
- package/dist/device.js +2478 -2
- package/dist/device.js.map +1 -1
- package/dist/index.d.ts +0 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -17
- package/dist/index.js.map +1 -1
- package/dist/{test/index.test.d.ts.map → index.test.d.ts.map} +1 -1
- package/dist/{test/index.test.js → index.test.js} +1 -1
- package/dist/index.test.js.map +1 -0
- package/dist/parameter-checker.d.ts +1 -1
- package/dist/parameter-checker.d.ts.map +1 -1
- package/dist/settings.d.ts +12 -28
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +24 -22
- package/dist/settings.js.map +1 -1
- package/dist/{test/settings.test.d.ts.map → settings.test.d.ts.map} +1 -1
- package/dist/{test/settings.test.js → settings.test.js} +6 -6
- package/dist/{test/settings.test.js.map → settings.test.js.map} +1 -1
- package/dist/switchbot-ble.d.ts +1 -1
- package/dist/switchbot-ble.d.ts.map +1 -1
- package/dist/switchbot-ble.js +8 -27
- package/dist/switchbot-ble.js.map +1 -1
- package/dist/switchbot-openapi.d.ts +33 -22
- package/dist/switchbot-openapi.d.ts.map +1 -1
- package/dist/switchbot-openapi.js +104 -64
- package/dist/switchbot-openapi.js.map +1 -1
- package/dist/types/bledevicestatus.d.ts +32 -8
- package/dist/types/bledevicestatus.d.ts.map +1 -1
- package/dist/types/devicestatus.d.ts +35 -1
- package/dist/types/devicestatus.d.ts.map +1 -1
- package/dist/types/devicewebhookstatus.d.ts +38 -1
- package/dist/types/devicewebhookstatus.d.ts.map +1 -1
- package/dist/types/types.d.ts +0 -223
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +1 -144
- package/dist/types/types.js.map +1 -1
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/main.js +5 -5
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +1405 -1288
- package/docs/classes/Advertising.html +10 -10
- package/docs/classes/SwitchBotBLE.html +13 -13
- package/docs/classes/SwitchBotOpenAPI.html +38 -28
- package/docs/classes/SwitchbotDevice.html +26 -23
- package/docs/classes/WoBlindTilt.html +45 -42
- package/docs/classes/WoBulb.html +42 -39
- package/docs/classes/WoCeilingLight.html +50 -47
- package/docs/classes/WoContact.html +30 -27
- package/docs/classes/WoCurtain.html +40 -37
- package/docs/classes/WoHand.html +37 -34
- package/docs/classes/WoHub2.html +30 -27
- package/docs/classes/WoHumi.html +45 -40
- package/docs/classes/WoHumi2.html +67 -0
- package/docs/classes/WoIOSensorTH.html +30 -27
- package/docs/classes/WoKeypad.html +52 -0
- package/docs/classes/WoLeak.html +53 -0
- package/docs/classes/WoPlugMiniJP.html +78 -0
- package/docs/classes/WoPlugMiniUS.html +39 -36
- package/docs/classes/WoPresence.html +30 -27
- package/docs/classes/WoRelaySwitch1.html +57 -0
- package/docs/classes/WoRelaySwitch1PM.html +57 -0
- package/docs/classes/WoRemote.html +52 -0
- package/docs/classes/WoSensorTH.html +27 -24
- package/docs/classes/WoSensorTHPlus.html +46 -0
- package/docs/classes/WoSensorTHPro.html +46 -0
- package/docs/classes/WoSensorTHProCO2.html +46 -0
- package/docs/classes/WoSmartLock.html +49 -46
- package/docs/classes/WoSmartLockPro.html +49 -46
- package/docs/classes/WoStrip.html +44 -41
- package/docs/enums/LogLevel.html +10 -10
- package/docs/enums/SwitchBotBLEModel.html +29 -27
- package/docs/enums/SwitchBotBLEModelFriendlyName.html +30 -26
- package/docs/enums/SwitchBotBLEModelName.html +28 -26
- package/docs/enums/SwitchBotModel.html +47 -43
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +13 -13
- package/docs/interfaces/AdvertisementData.html +3 -3
- package/docs/interfaces/Chars.html +2 -2
- package/docs/interfaces/ErrorObject.html +2 -2
- package/docs/interfaces/NobleTypes.html +2 -2
- package/docs/interfaces/Params.html +2 -2
- package/docs/interfaces/Rule.html +4 -4
- package/docs/interfaces/ServiceData.html +2 -2
- package/docs/interfaces/SwitchBotBLEDevice.html +23 -23
- package/docs/interfaces/WebhookDetail.html +4 -4
- package/docs/interfaces/ad.html +3 -3
- package/docs/interfaces/body.html +3 -3
- package/docs/interfaces/bodyChange.html +3 -3
- package/docs/interfaces/deleteWebhookResponse.html +3 -3
- package/docs/interfaces/device.html +6 -6
- package/docs/interfaces/deviceList.html +2 -2
- package/docs/interfaces/deviceStatus.html +6 -6
- package/docs/interfaces/deviceStatusRequest.html +3 -3
- package/docs/interfaces/deviceWebhook.html +4 -4
- package/docs/interfaces/deviceWebhookContext.html +4 -4
- package/docs/interfaces/devices.html +3 -3
- package/docs/interfaces/infraredRemoteList.html +2 -2
- package/docs/interfaces/irdevice.html +5 -5
- package/docs/interfaces/pushResponse.html +3 -3
- package/docs/interfaces/queryWebhookResponse.html +3 -3
- package/docs/interfaces/setupWebhookResponse.html +3 -3
- package/docs/interfaces/switchbot.html +2 -2
- package/docs/interfaces/updateWebhookResponse.html +3 -3
- package/docs/interfaces/webhookRequest.html +3 -3
- package/docs/media/BLE.md +14 -13
- package/docs/media/OpenAPI.md +13 -12
- package/docs/modules.html +1 -170
- package/docs/types/MacAddress.html +1 -1
- package/docs/types/batteryCirculatorFan.html +1 -1
- package/docs/types/batteryCirculatorFanServiceData.html +1 -1
- package/docs/types/batteryCirculatorFanStatus.html +1 -1
- package/docs/types/batteryCirculatorFanWebhookContext.html +1 -1
- package/docs/types/blindTilt.html +1 -1
- package/docs/types/blindTiltServiceData.html +1 -1
- package/docs/types/blindTiltStatus.html +1 -1
- package/docs/types/blindTiltWebhookContext.html +1 -1
- package/docs/types/bot.html +1 -1
- package/docs/types/botServiceData.html +1 -1
- package/docs/types/botStatus.html +1 -1
- package/docs/types/botWebhookContext.html +1 -1
- package/docs/types/ceilingLight.html +1 -1
- package/docs/types/ceilingLightPro.html +1 -1
- package/docs/types/ceilingLightProServiceData.html +1 -1
- package/docs/types/ceilingLightProStatus.html +1 -1
- package/docs/types/ceilingLightProWebhookContext.html +1 -1
- package/docs/types/ceilingLightServiceData.html +1 -1
- package/docs/types/ceilingLightStatus.html +1 -1
- package/docs/types/ceilingLightWebhookContext.html +1 -1
- package/docs/types/circulatorFanStatus.html +1 -0
- package/docs/types/circulatorFanWebhookContext.html +1 -0
- package/docs/types/colorBulb.html +1 -1
- package/docs/types/colorBulbServiceData.html +1 -1
- package/docs/types/colorBulbStatus.html +1 -1
- package/docs/types/colorBulbWebhookContext.html +1 -1
- package/docs/types/contactSensor.html +1 -1
- package/docs/types/contactSensorServiceData.html +1 -1
- package/docs/types/contactSensorStatus.html +1 -1
- package/docs/types/contactSensorWebhookContext.html +1 -1
- package/docs/types/curtain.html +1 -1
- package/docs/types/curtain3.html +1 -1
- package/docs/types/curtain3ServiceData.html +1 -1
- package/docs/types/curtain3WebhookContext.html +1 -1
- package/docs/types/curtainServiceData.html +1 -1
- package/docs/types/curtainStatus.html +1 -1
- package/docs/types/curtainWebhookContext.html +1 -1
- package/docs/types/floorCleaningRobotS10.html +1 -1
- package/docs/types/floorCleaningRobotS10Status.html +1 -1
- package/docs/types/floorCleaningRobotS10WebhookContext.html +1 -1
- package/docs/types/hub2.html +1 -1
- package/docs/types/hub2ServiceData.html +1 -1
- package/docs/types/hub2Status.html +1 -1
- package/docs/types/hub2WebhookContext.html +1 -1
- package/docs/types/humidifier.html +1 -1
- package/docs/types/humidifier2ServiceData.html +1 -0
- package/docs/types/humidifier2Status.html +1 -0
- package/docs/types/humidifier2WebhookContext.html +1 -0
- package/docs/types/humidifierServiceData.html +1 -1
- package/docs/types/humidifierStatus.html +1 -1
- package/docs/types/humidifierWebhookContext.html +1 -1
- package/docs/types/indoorCam.html +1 -1
- package/docs/types/indoorCameraWebhookContext.html +1 -1
- package/docs/types/keypad.html +1 -1
- package/docs/types/keypadDetectorServiceData.html +1 -1
- package/docs/types/keypadTouch.html +1 -1
- package/docs/types/keypadTouchWebhookContext.html +1 -1
- package/docs/types/keypadWebhookContext.html +1 -1
- package/docs/types/lock.html +1 -1
- package/docs/types/lockPro.html +1 -1
- package/docs/types/lockProServiceData.html +1 -1
- package/docs/types/lockProStatus.html +1 -1
- package/docs/types/lockProWebhookContext.html +1 -1
- package/docs/types/lockServiceData.html +1 -1
- package/docs/types/lockStatus.html +1 -1
- package/docs/types/lockWebhookContext.html +1 -1
- package/docs/types/meter.html +1 -1
- package/docs/types/meterPlus.html +1 -1
- package/docs/types/meterPlusServiceData.html +1 -1
- package/docs/types/meterPlusStatus.html +1 -1
- package/docs/types/meterPlusWebhookContext.html +1 -1
- package/docs/types/meterPro.html +1 -1
- package/docs/types/meterProCO2ServiceData.html +1 -1
- package/docs/types/meterProCO2Status.html +1 -1
- package/docs/types/meterProCO2WebhookContext.html +1 -1
- package/docs/types/meterProServiceData.html +1 -1
- package/docs/types/meterProStatus.html +1 -1
- package/docs/types/meterProWebhookContext.html +1 -1
- package/docs/types/meterServiceData.html +1 -1
- package/docs/types/meterStatus.html +1 -1
- package/docs/types/meterWebhookContext.html +1 -1
- package/docs/types/motionSensor.html +1 -1
- package/docs/types/motionSensorServiceData.html +1 -1
- package/docs/types/motionSensorStatus.html +1 -1
- package/docs/types/motionSensorWebhookContext.html +1 -1
- package/docs/types/onadvertisement.html +1 -1
- package/docs/types/ondiscover.html +1 -1
- package/docs/types/outdoorMeter.html +1 -1
- package/docs/types/outdoorMeterServiceData.html +1 -1
- package/docs/types/outdoorMeterStatus.html +1 -1
- package/docs/types/outdoorMeterWebhookContext.html +1 -1
- package/docs/types/panTiltCamWebhookContext.html +1 -1
- package/docs/types/pantiltCam.html +1 -1
- package/docs/types/pantiltCam2k.html +1 -1
- package/docs/types/plug.html +1 -1
- package/docs/types/plugMini.html +1 -1
- package/docs/types/plugMiniJPServiceData.html +1 -1
- package/docs/types/plugMiniJPWebhookContext.html +1 -1
- package/docs/types/plugMiniStatus.html +1 -1
- package/docs/types/plugMiniUSServiceData.html +1 -1
- package/docs/types/plugMiniUSWebhookContext.html +1 -1
- package/docs/types/plugStatus.html +1 -1
- package/docs/types/plugWebhookContext.html +1 -1
- package/docs/types/relaySwitch1Context.html +1 -0
- package/docs/types/relaySwitch1PMContext.html +1 -0
- package/docs/types/relaySwitch1PMServiceData.html +1 -1
- package/docs/types/relaySwitch1PMStatus.html +1 -0
- package/docs/types/relaySwitch1ServiceData.html +1 -0
- package/docs/types/relaySwitch1Status.html +1 -0
- package/docs/types/remote.html +1 -1
- package/docs/types/remoteServiceData.html +1 -0
- package/docs/types/robotVacuumCleanerS1.html +1 -1
- package/docs/types/robotVacuumCleanerS1Plus.html +1 -1
- package/docs/types/robotVacuumCleanerS1PlusStatus.html +1 -1
- package/docs/types/robotVacuumCleanerS1PlusWebhookContext.html +1 -1
- package/docs/types/robotVacuumCleanerS1Status.html +1 -1
- package/docs/types/robotVacuumCleanerS1WebhookContext.html +1 -1
- package/docs/types/robotVacuumCleanerServiceData.html +1 -1
- package/docs/types/stripLight.html +1 -1
- package/docs/types/stripLightServiceData.html +1 -1
- package/docs/types/stripLightStatus.html +1 -1
- package/docs/types/stripLightWebhookContext.html +1 -1
- package/docs/types/waterLeakDetector.html +1 -1
- package/docs/types/waterLeakDetectorServiceData.html +1 -1
- package/docs/types/waterLeakDetectorStatus.html +1 -1
- package/docs/types/waterLeakDetectorWebhookContext.html +1 -1
- package/package.json +16 -19
- package/.github/npm-version-script.cjs +0 -81
- package/dist/advertising.d.ts +0 -44
- package/dist/advertising.d.ts.map +0 -1
- package/dist/advertising.js +0 -163
- package/dist/advertising.js.map +0 -1
- package/dist/device/woblindtilt.d.ts +0 -78
- package/dist/device/woblindtilt.d.ts.map +0 -1
- package/dist/device/woblindtilt.js +0 -181
- package/dist/device/woblindtilt.js.map +0 -1
- package/dist/device/wobulb.d.ts +0 -70
- package/dist/device/wobulb.d.ts.map +0 -1
- package/dist/device/wobulb.js +0 -136
- package/dist/device/wobulb.js.map +0 -1
- package/dist/device/woceilinglight.d.ts +0 -74
- package/dist/device/woceilinglight.d.ts.map +0 -1
- package/dist/device/woceilinglight.js +0 -161
- package/dist/device/woceilinglight.js.map +0 -1
- package/dist/device/wocontact.d.ts +0 -19
- package/dist/device/wocontact.d.ts.map +0 -1
- package/dist/device/wocontact.js +0 -48
- package/dist/device/wocontact.js.map +0 -1
- package/dist/device/wocurtain.d.ts +0 -52
- package/dist/device/wocurtain.d.ts.map +0 -1
- package/dist/device/wocurtain.js +0 -135
- package/dist/device/wocurtain.js.map +0 -1
- package/dist/device/wohand.d.ts +0 -50
- package/dist/device/wohand.d.ts.map +0 -1
- package/dist/device/wohand.js +0 -82
- package/dist/device/wohand.js.map +0 -1
- package/dist/device/wohub2.d.ts +0 -19
- package/dist/device/wohub2.d.ts.map +0 -1
- package/dist/device/wohub2.js +0 -40
- package/dist/device/wohub2.js.map +0 -1
- package/dist/device/wohumi.d.ts +0 -50
- package/dist/device/wohumi.d.ts.map +0 -1
- package/dist/device/wohumi.js +0 -89
- package/dist/device/wohumi.js.map +0 -1
- package/dist/device/woiosensorth.d.ts +0 -20
- package/dist/device/woiosensorth.d.ts.map +0 -1
- package/dist/device/woiosensorth.js +0 -49
- package/dist/device/woiosensorth.js.map +0 -1
- package/dist/device/wokeypad.d.ts +0 -19
- package/dist/device/wokeypad.d.ts.map +0 -1
- package/dist/device/wokeypad.js +0 -51
- package/dist/device/wokeypad.js.map +0 -1
- package/dist/device/woleak.d.ts +0 -20
- package/dist/device/woleak.d.ts.map +0 -1
- package/dist/device/woleak.js +0 -52
- package/dist/device/woleak.js.map +0 -1
- package/dist/device/woplugmini.d.ts +0 -52
- package/dist/device/woplugmini.d.ts.map +0 -1
- package/dist/device/woplugmini.js +0 -110
- package/dist/device/woplugmini.js.map +0 -1
- package/dist/device/woplugmini_jp.d.ts +0 -52
- package/dist/device/woplugmini_jp.d.ts.map +0 -1
- package/dist/device/woplugmini_jp.js +0 -110
- package/dist/device/woplugmini_jp.js.map +0 -1
- package/dist/device/wopresence.d.ts +0 -19
- package/dist/device/wopresence.d.ts.map +0 -1
- package/dist/device/wopresence.js +0 -39
- package/dist/device/wopresence.js.map +0 -1
- package/dist/device/worelayswitch1plus.d.ts +0 -36
- package/dist/device/worelayswitch1plus.d.ts.map +0 -1
- package/dist/device/worelayswitch1plus.js +0 -141
- package/dist/device/worelayswitch1plus.js.map +0 -1
- package/dist/device/worelayswitch1pm.d.ts +0 -36
- package/dist/device/worelayswitch1pm.d.ts.map +0 -1
- package/dist/device/worelayswitch1pm.js +0 -144
- package/dist/device/worelayswitch1pm.js.map +0 -1
- package/dist/device/wosensorth.d.ts +0 -13
- package/dist/device/wosensorth.d.ts.map +0 -1
- package/dist/device/wosensorth.js +0 -38
- package/dist/device/wosensorth.js.map +0 -1
- package/dist/device/wosensorthplus.d.ts +0 -13
- package/dist/device/wosensorthplus.d.ts.map +0 -1
- package/dist/device/wosensorthplus.js +0 -38
- package/dist/device/wosensorthplus.js.map +0 -1
- package/dist/device/wosensorthpro.d.ts +0 -13
- package/dist/device/wosensorthpro.d.ts.map +0 -1
- package/dist/device/wosensorthpro.js +0 -38
- package/dist/device/wosensorthpro.js.map +0 -1
- package/dist/device/wosensorthproco2.d.ts +0 -13
- package/dist/device/wosensorthproco2.d.ts.map +0 -1
- package/dist/device/wosensorthproco2.js +0 -40
- package/dist/device/wosensorthproco2.js.map +0 -1
- package/dist/device/wosmartlock.d.ts +0 -86
- package/dist/device/wosmartlock.d.ts.map +0 -1
- package/dist/device/wosmartlock.js +0 -198
- package/dist/device/wosmartlock.js.map +0 -1
- package/dist/device/wosmartlockpro.d.ts +0 -86
- package/dist/device/wosmartlockpro.d.ts.map +0 -1
- package/dist/device/wosmartlockpro.js +0 -200
- package/dist/device/wosmartlockpro.js.map +0 -1
- package/dist/device/wostrip.d.ts +0 -63
- package/dist/device/wostrip.d.ts.map +0 -1
- package/dist/device/wostrip.js +0 -131
- package/dist/device/wostrip.js.map +0 -1
- package/dist/test/advertising.test.d.ts +0 -2
- package/dist/test/advertising.test.d.ts.map +0 -1
- package/dist/test/advertising.test.js +0 -99
- package/dist/test/advertising.test.js.map +0 -1
- package/dist/test/device.test.d.ts +0 -2
- package/dist/test/device.test.d.ts.map +0 -1
- package/dist/test/device.test.js +0 -38
- package/dist/test/device.test.js.map +0 -1
- package/dist/test/index.test.js.map +0 -1
- package/dist/test/parameter-checker.test.d.ts +0 -2
- package/dist/test/parameter-checker.test.d.ts.map +0 -1
- package/dist/test/parameter-checker.test.js +0 -108
- package/dist/test/parameter-checker.test.js.map +0 -1
- package/dist/test/switchbot-ble.test.d.ts +0 -2
- package/dist/test/switchbot-ble.test.d.ts.map +0 -1
- package/dist/test/switchbot-ble.test.js +0 -45
- package/dist/test/switchbot-ble.test.js.map +0 -1
- package/dist/test/switchbot-openapi.test.d.ts +0 -2
- package/dist/test/switchbot-openapi.test.d.ts.map +0 -1
- package/dist/test/switchbot-openapi.test.js +0 -96
- package/dist/test/switchbot-openapi.test.js.map +0 -1
- package/dist/test/woblindtilt.test.d.ts +0 -2
- package/dist/test/woblindtilt.test.d.ts.map +0 -1
- package/dist/test/woblindtilt.test.js +0 -76
- package/dist/test/woblindtilt.test.js.map +0 -1
- package/dist/test/wobulb.test.d.ts +0 -2
- package/dist/test/wobulb.test.d.ts.map +0 -1
- package/dist/test/wobulb.test.js +0 -95
- package/dist/test/wobulb.test.js.map +0 -1
- package/dist/test/woceilinglight.test.d.ts +0 -2
- package/dist/test/woceilinglight.test.d.ts.map +0 -1
- package/dist/test/woceilinglight.test.js +0 -81
- package/dist/test/woceilinglight.test.js.map +0 -1
- package/dist/test/wocontact.test.d.ts +0 -2
- package/dist/test/wocontact.test.d.ts.map +0 -1
- package/dist/test/wocontact.test.js +0 -65
- package/dist/test/wocontact.test.js.map +0 -1
- package/dist/test/wocurtain.test.d.ts +0 -2
- package/dist/test/wocurtain.test.d.ts.map +0 -1
- package/dist/test/wocurtain.test.js +0 -75
- package/dist/test/wocurtain.test.js.map +0 -1
- package/dist/test/wohand.test.d.ts +0 -2
- package/dist/test/wohand.test.d.ts.map +0 -1
- package/dist/test/wohand.test.js +0 -56
- package/dist/test/wohand.test.js.map +0 -1
- package/dist/test/wohub2.test.d.ts +0 -2
- package/dist/test/wohub2.test.d.ts.map +0 -1
- package/dist/test/wohub2.test.js +0 -80
- package/dist/test/wohub2.test.js.map +0 -1
- package/dist/test/wohumi.test.d.ts +0 -2
- package/dist/test/wohumi.test.d.ts.map +0 -1
- package/dist/test/wohumi.test.js +0 -82
- package/dist/test/wohumi.test.js.map +0 -1
- package/dist/test/woiosensorth.test.d.ts +0 -2
- package/dist/test/woiosensorth.test.d.ts.map +0 -1
- package/dist/test/woiosensorth.test.js +0 -40
- package/dist/test/woiosensorth.test.js.map +0 -1
- package/dist/test/wokeypad.test.d.ts +0 -2
- package/dist/test/wokeypad.test.d.ts.map +0 -1
- package/dist/test/wokeypad.test.js +0 -46
- package/dist/test/wokeypad.test.js.map +0 -1
- package/dist/test/woleak.test.d.ts +0 -2
- package/dist/test/woleak.test.d.ts.map +0 -1
- package/dist/test/woleak.test.js +0 -51
- package/dist/test/woleak.test.js.map +0 -1
- package/dist/test/woplugmini.test.d.ts +0 -2
- package/dist/test/woplugmini.test.d.ts.map +0 -1
- package/dist/test/woplugmini.test.js +0 -90
- package/dist/test/woplugmini.test.js.map +0 -1
- package/dist/test/woplugmini_jp.test.d.ts +0 -2
- package/dist/test/woplugmini_jp.test.d.ts.map +0 -1
- package/dist/test/woplugmini_jp.test.js +0 -90
- package/dist/test/woplugmini_jp.test.js.map +0 -1
- package/dist/test/wopresence.test.d.ts +0 -2
- package/dist/test/wopresence.test.d.ts.map +0 -1
- package/dist/test/wopresence.test.js +0 -68
- package/dist/test/wopresence.test.js.map +0 -1
- package/dist/test/wosensorth.test.d.ts +0 -2
- package/dist/test/wosensorth.test.d.ts.map +0 -1
- package/dist/test/wosensorth.test.js +0 -29
- package/dist/test/wosensorth.test.js.map +0 -1
- package/dist/test/wosensorthplus.test.d.ts +0 -2
- package/dist/test/wosensorthplus.test.d.ts.map +0 -1
- package/dist/test/wosensorthplus.test.js +0 -29
- package/dist/test/wosensorthplus.test.js.map +0 -1
- package/dist/test/wosensorthpro.test.d.ts +0 -2
- package/dist/test/wosensorthpro.test.d.ts.map +0 -1
- package/dist/test/wosensorthpro.test.js +0 -29
- package/dist/test/wosensorthpro.test.js.map +0 -1
- package/dist/test/wosensorthproco2.test.d.ts +0 -2
- package/dist/test/wosensorthproco2.test.d.ts.map +0 -1
- package/dist/test/wosensorthproco2.test.js +0 -32
- package/dist/test/wosensorthproco2.test.js.map +0 -1
- package/dist/test/wosmartlock.test.d.ts +0 -2
- package/dist/test/wosmartlock.test.d.ts.map +0 -1
- package/dist/test/wosmartlock.test.js +0 -151
- package/dist/test/wosmartlock.test.js.map +0 -1
- package/dist/test/wosmartlockpro.test.d.ts +0 -2
- package/dist/test/wosmartlockpro.test.d.ts.map +0 -1
- package/dist/test/wosmartlockpro.test.js +0 -150
- package/dist/test/wosmartlockpro.test.js.map +0 -1
- package/dist/test/wostrip.test.d.ts +0 -2
- package/dist/test/wostrip.test.d.ts.map +0 -1
- package/dist/test/wostrip.test.js +0 -102
- package/dist/test/wostrip.test.js.map +0 -1
- package/docs/types/relaySwitch1PlusServiceData.html +0 -1
- /package/dist/{test/index.test.d.ts → index.test.d.ts} +0 -0
- /package/dist/{test/settings.test.d.ts → settings.test.d.ts} +0 -0
package/dist/device/wostrip.d.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import type { stripLightServiceData } from '../types/bledevicestatus.js';
|
|
2
|
-
import type { NobleTypes } from '../types/types.js';
|
|
3
|
-
import { Buffer } from 'node:buffer';
|
|
4
|
-
import { SwitchbotDevice } from '../device.js';
|
|
5
|
-
/**
|
|
6
|
-
* Class representing a WoStrip device.
|
|
7
|
-
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/ledstriplight.md
|
|
8
|
-
*/
|
|
9
|
-
export declare class WoStrip extends SwitchbotDevice {
|
|
10
|
-
/**
|
|
11
|
-
* Parses the service data from the SwitchBot Strip Light.
|
|
12
|
-
* @param {Buffer} serviceData - The service data buffer.
|
|
13
|
-
* @param {Function} emitLog - The function to emit log messages.
|
|
14
|
-
* @returns {Promise<stripLightServiceData | null>} - Parsed service data or null if invalid.
|
|
15
|
-
*/
|
|
16
|
-
static parseServiceData(serviceData: Buffer, emitLog: (level: string, message: string) => void): Promise<stripLightServiceData | null>;
|
|
17
|
-
constructor(peripheral: NobleTypes['peripheral'], noble: NobleTypes['noble']);
|
|
18
|
-
/**
|
|
19
|
-
* Reads the state of the strip light.
|
|
20
|
-
* @returns {Promise<boolean>} - Resolves with true if the strip light is ON, false otherwise.
|
|
21
|
-
*/
|
|
22
|
-
readState(): Promise<boolean>;
|
|
23
|
-
/**
|
|
24
|
-
* Sets the state of the strip light.
|
|
25
|
-
* @public
|
|
26
|
-
* @param {number[]} reqByteArray - The request byte array.
|
|
27
|
-
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
28
|
-
*/
|
|
29
|
-
setState(reqByteArray: number[]): Promise<boolean>;
|
|
30
|
-
/**
|
|
31
|
-
* Turns the strip light on.
|
|
32
|
-
* @returns {Promise<boolean>} - Resolves with true if the strip light is ON.
|
|
33
|
-
*/
|
|
34
|
-
turnOn(): Promise<boolean>;
|
|
35
|
-
/**
|
|
36
|
-
* Turns the strip light off.
|
|
37
|
-
* @returns {Promise<boolean>} - Resolves with true if the strip light is OFF.
|
|
38
|
-
*/
|
|
39
|
-
turnOff(): Promise<boolean>;
|
|
40
|
-
/**
|
|
41
|
-
* Sets the brightness of the strip light.
|
|
42
|
-
* @param {number} brightness - The brightness percentage (0-100).
|
|
43
|
-
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
44
|
-
*/
|
|
45
|
-
setBrightness(brightness: number): Promise<boolean>;
|
|
46
|
-
/**
|
|
47
|
-
* Sets the RGB values of the strip light.
|
|
48
|
-
* @param {number} brightness - The brightness percentage (0-100).
|
|
49
|
-
* @param {number} red - The red value (0-255).
|
|
50
|
-
* @param {number} green - The green value (0-255).
|
|
51
|
-
* @param {number} blue - The blue value (0-255).
|
|
52
|
-
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
53
|
-
*/
|
|
54
|
-
setRGB(brightness: number, red: number, green: number, blue: number): Promise<boolean>;
|
|
55
|
-
/**
|
|
56
|
-
* Operates the strip light with the given byte array.
|
|
57
|
-
* @public
|
|
58
|
-
* @param {number[]} bytes - The byte array to send.
|
|
59
|
-
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
60
|
-
*/
|
|
61
|
-
operateStripLight(bytes: number[]): Promise<boolean>;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=wostrip.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wostrip.d.ts","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,eAAe;IAC1C;;;;;OAKG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAoC5B,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;IAI5E;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;IACU,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;;;OAIG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzD;;;;;;;OAOG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa5F;;;;;OAKG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAelE"}
|
package/dist/device/wostrip.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { Buffer } from 'node:buffer';
|
|
2
|
-
import { SwitchbotDevice } from '../device.js';
|
|
3
|
-
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
|
|
4
|
-
/**
|
|
5
|
-
* Class representing a WoStrip device.
|
|
6
|
-
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/ledstriplight.md
|
|
7
|
-
*/
|
|
8
|
-
export class WoStrip extends SwitchbotDevice {
|
|
9
|
-
/**
|
|
10
|
-
* Parses the service data from the SwitchBot Strip Light.
|
|
11
|
-
* @param {Buffer} serviceData - The service data buffer.
|
|
12
|
-
* @param {Function} emitLog - The function to emit log messages.
|
|
13
|
-
* @returns {Promise<stripLightServiceData | null>} - Parsed service data or null if invalid.
|
|
14
|
-
*/
|
|
15
|
-
static async parseServiceData(serviceData, emitLog) {
|
|
16
|
-
if (serviceData.length !== 18) {
|
|
17
|
-
emitLog('debugerror', `[parseServiceDataForWoStrip] Buffer length ${serviceData.length} !== 18!`);
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
const [byte3, byte4, byte5, byte7, byte8, byte9, byte10] = [
|
|
21
|
-
serviceData.readUInt8(3),
|
|
22
|
-
serviceData.readUInt8(4),
|
|
23
|
-
serviceData.readUInt8(5),
|
|
24
|
-
serviceData.readUInt8(7),
|
|
25
|
-
serviceData.readUInt8(8),
|
|
26
|
-
serviceData.readUInt8(9),
|
|
27
|
-
serviceData.readUInt8(10),
|
|
28
|
-
];
|
|
29
|
-
const data = {
|
|
30
|
-
model: SwitchBotBLEModel.StripLight,
|
|
31
|
-
modelName: SwitchBotBLEModelName.StripLight,
|
|
32
|
-
modelFriendlyName: SwitchBotBLEModelFriendlyName.StripLight,
|
|
33
|
-
power: !!(byte7 & 0b10000000),
|
|
34
|
-
state: !!(byte7 & 0b10000000),
|
|
35
|
-
brightness: byte7 & 0b01111111,
|
|
36
|
-
red: byte3,
|
|
37
|
-
green: byte4,
|
|
38
|
-
blue: byte5,
|
|
39
|
-
delay: byte8 & 0b10000000,
|
|
40
|
-
preset: byte8 & 0b00001000,
|
|
41
|
-
color_mode: byte8 & 0b00000111,
|
|
42
|
-
speed: byte9 & 0b01111111,
|
|
43
|
-
loop_index: byte10 & 0b11111110,
|
|
44
|
-
};
|
|
45
|
-
return data;
|
|
46
|
-
}
|
|
47
|
-
constructor(peripheral, noble) {
|
|
48
|
-
super(peripheral, noble);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Reads the state of the strip light.
|
|
52
|
-
* @returns {Promise<boolean>} - Resolves with true if the strip light is ON, false otherwise.
|
|
53
|
-
*/
|
|
54
|
-
async readState() {
|
|
55
|
-
return this.operateStripLight([0x57, 0x0F, 0x4A, 0x01]);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Sets the state of the strip light.
|
|
59
|
-
* @public
|
|
60
|
-
* @param {number[]} reqByteArray - The request byte array.
|
|
61
|
-
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
62
|
-
*/
|
|
63
|
-
async setState(reqByteArray) {
|
|
64
|
-
const base = [0x57, 0x0F, 0x49, 0x01];
|
|
65
|
-
return this.operateStripLight([...base, ...reqByteArray]);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Turns the strip light on.
|
|
69
|
-
* @returns {Promise<boolean>} - Resolves with true if the strip light is ON.
|
|
70
|
-
*/
|
|
71
|
-
async turnOn() {
|
|
72
|
-
return this.setState([0x01, 0x01]);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Turns the strip light off.
|
|
76
|
-
* @returns {Promise<boolean>} - Resolves with true if the strip light is OFF.
|
|
77
|
-
*/
|
|
78
|
-
async turnOff() {
|
|
79
|
-
return this.setState([0x01, 0x02]);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Sets the brightness of the strip light.
|
|
83
|
-
* @param {number} brightness - The brightness percentage (0-100).
|
|
84
|
-
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
85
|
-
*/
|
|
86
|
-
async setBrightness(brightness) {
|
|
87
|
-
if (typeof brightness !== 'number' || brightness < 0 || brightness > 100) {
|
|
88
|
-
throw new TypeError(`Invalid brightness value: ${brightness}`);
|
|
89
|
-
}
|
|
90
|
-
return this.setState([0x02, 0x14, brightness]);
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Sets the RGB values of the strip light.
|
|
94
|
-
* @param {number} brightness - The brightness percentage (0-100).
|
|
95
|
-
* @param {number} red - The red value (0-255).
|
|
96
|
-
* @param {number} green - The green value (0-255).
|
|
97
|
-
* @param {number} blue - The blue value (0-255).
|
|
98
|
-
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
99
|
-
*/
|
|
100
|
-
async setRGB(brightness, red, green, blue) {
|
|
101
|
-
if (![brightness, red, green, blue].every(val => typeof val === 'number')) {
|
|
102
|
-
throw new TypeError('Invalid RGB or brightness value');
|
|
103
|
-
}
|
|
104
|
-
brightness = Math.max(0, Math.min(100, brightness));
|
|
105
|
-
red = Math.max(0, Math.min(255, red));
|
|
106
|
-
green = Math.max(0, Math.min(255, green));
|
|
107
|
-
blue = Math.max(0, Math.min(255, blue));
|
|
108
|
-
return this.setState([0x02, 0x12, brightness, red, green, blue]);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Operates the strip light with the given byte array.
|
|
112
|
-
* @public
|
|
113
|
-
* @param {number[]} bytes - The byte array to send.
|
|
114
|
-
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
115
|
-
*/
|
|
116
|
-
async operateStripLight(bytes) {
|
|
117
|
-
const req_buf = Buffer.from(bytes);
|
|
118
|
-
const res_buf = await this.command(req_buf);
|
|
119
|
-
if (res_buf.length !== 2) {
|
|
120
|
-
throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
|
|
121
|
-
}
|
|
122
|
-
const code = res_buf.readUInt8(1);
|
|
123
|
-
if (code === 0x00 || code === 0x80) {
|
|
124
|
-
return code === 0x80;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
//# sourceMappingURL=wostrip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wostrip.js","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G;;;GAGG;AACH,MAAM,OAAO,OAAQ,SAAQ,eAAe;IAC1C;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,WAAmB,EACnB,OAAiD;QAEjD,IAAI,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC9B,OAAO,CAAC,YAAY,EAAE,8CAA8C,WAAW,CAAC,MAAM,UAAU,CAAC,CAAA;YACjG,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG;YACzD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;SAC1B,CAAA;QAED,MAAM,IAAI,GAA0B;YAClC,KAAK,EAAE,iBAAiB,CAAC,UAAU;YACnC,SAAS,EAAE,qBAAqB,CAAC,UAAU;YAC3C,iBAAiB,EAAE,6BAA6B,CAAC,UAAU;YAC3D,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;YAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;YAC7B,UAAU,EAAE,KAAK,GAAG,UAAU;YAC9B,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK,GAAG,UAAU;YACzB,MAAM,EAAE,KAAK,GAAG,UAAU;YAC1B,UAAU,EAAE,KAAK,GAAG,UAAU;YAC9B,KAAK,EAAE,KAAK,GAAG,UAAU;YACzB,UAAU,EAAE,MAAM,GAAG,UAAU;SAChC,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,UAAoC,EAAE,KAA0B;QAC1E,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACzD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,CAAC,YAAsB;QAC1C,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACzE,MAAM,IAAI,SAAS,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,GAAW,EAAE,KAAa,EAAE,IAAY;QACvE,IAAI,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAA;QACxD,CAAC;QAED,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAA;QACnD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACrC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;QACzC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;QAEvC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAClE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,iBAAiB,CAAC,KAAe;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+CAA+C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC3F,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,KAAK,IAAI,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.test.d.ts","sourceRoot":"","sources":["../../src/test/advertising.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Buffer } from 'node:buffer';
|
|
2
|
-
import { describe, expect, it, vi } from 'vitest';
|
|
3
|
-
import { Advertising } from '../advertising.js';
|
|
4
|
-
describe('advertising', () => {
|
|
5
|
-
describe('parse', () => {
|
|
6
|
-
it('should return null if advertisement or serviceData is missing', async () => {
|
|
7
|
-
const peripheral = {
|
|
8
|
-
advertisement: null,
|
|
9
|
-
};
|
|
10
|
-
const mockLog = vi.fn();
|
|
11
|
-
const result = await Advertising.parse(peripheral, mockLog);
|
|
12
|
-
expect(result).toBeNull();
|
|
13
|
-
});
|
|
14
|
-
it('should return null if serviceData or manufacturerData is invalid', async () => {
|
|
15
|
-
const peripheral = {
|
|
16
|
-
advertisement: {
|
|
17
|
-
serviceData: [{ data: null }],
|
|
18
|
-
manufacturerData: null,
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
const mockLog = vi.fn();
|
|
22
|
-
const result = await Advertising.parse(peripheral, mockLog);
|
|
23
|
-
expect(result).toBeNull();
|
|
24
|
-
});
|
|
25
|
-
it('should return parsed data for a recognized device model', async () => {
|
|
26
|
-
const serviceData = Buffer.from('010203', 'hex');
|
|
27
|
-
const manufacturerData = Buffer.from('040506', 'hex');
|
|
28
|
-
const peripheral = {
|
|
29
|
-
id: 'test-id',
|
|
30
|
-
advertisement: {
|
|
31
|
-
serviceData: [{ data: serviceData }],
|
|
32
|
-
manufacturerData,
|
|
33
|
-
},
|
|
34
|
-
rssi: -60,
|
|
35
|
-
address: '00:11:22:33:44:55',
|
|
36
|
-
};
|
|
37
|
-
const mockLog = vi.fn();
|
|
38
|
-
const mockParseServiceData = vi.fn().mockResolvedValue({ key: 'value' });
|
|
39
|
-
vi.spyOn(Advertising, 'parseServiceData').mockImplementation(mockParseServiceData);
|
|
40
|
-
const result = await Advertising.parse(peripheral, mockLog);
|
|
41
|
-
expect(result).toEqual({
|
|
42
|
-
id: 'test-id',
|
|
43
|
-
address: '00:11:22:33:44:55',
|
|
44
|
-
rssi: -60,
|
|
45
|
-
serviceData: { model: '\x01', key: 'value' },
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
it('should log and return null if parsed serviceData is empty', async () => {
|
|
49
|
-
const serviceData = Buffer.from('010203', 'hex');
|
|
50
|
-
const manufacturerData = Buffer.from('040506', 'hex');
|
|
51
|
-
const peripheral = {
|
|
52
|
-
id: 'test-id',
|
|
53
|
-
advertisement: {
|
|
54
|
-
serviceData: [{ data: serviceData }],
|
|
55
|
-
manufacturerData,
|
|
56
|
-
},
|
|
57
|
-
rssi: -60,
|
|
58
|
-
address: '00:11:22:33:44:55',
|
|
59
|
-
};
|
|
60
|
-
const mockLog = vi.fn();
|
|
61
|
-
vi.spyOn(Advertising, 'parseServiceData').mockResolvedValue(null);
|
|
62
|
-
const result = await Advertising.parse(peripheral, mockLog);
|
|
63
|
-
expect(result).toBeNull();
|
|
64
|
-
expect(mockLog).toHaveBeenCalledWith('[parseAdvertising.test-id.\x01] return null, parsed serviceData empty!');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
describe('validateBuffer', () => {
|
|
68
|
-
it('should return true for valid buffer', () => {
|
|
69
|
-
const buffer = Buffer.from('010203', 'hex');
|
|
70
|
-
const result = Advertising.validateBuffer(buffer);
|
|
71
|
-
expect(result).toBe(true);
|
|
72
|
-
});
|
|
73
|
-
it('should return false for invalid buffer', () => {
|
|
74
|
-
const buffer = null;
|
|
75
|
-
const result = Advertising.validateBuffer(buffer);
|
|
76
|
-
expect(result).toBe(false);
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
describe('formatAddress', () => {
|
|
80
|
-
it('should format address correctly', () => {
|
|
81
|
-
const peripheral = {
|
|
82
|
-
address: '00-11-22-33-44-55',
|
|
83
|
-
};
|
|
84
|
-
const result = Advertising.formatAddress(peripheral);
|
|
85
|
-
expect(result).toBe('00:11:22:33:44:55');
|
|
86
|
-
});
|
|
87
|
-
it('should format address from manufacturerData if address is empty', () => {
|
|
88
|
-
const peripheral = {
|
|
89
|
-
address: '',
|
|
90
|
-
advertisement: {
|
|
91
|
-
manufacturerData: Buffer.from('0000112233445566', 'hex'),
|
|
92
|
-
},
|
|
93
|
-
};
|
|
94
|
-
const result = Advertising.formatAddress(peripheral);
|
|
95
|
-
expect(result).toBe('11:22:33:44:55:66');
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
//# sourceMappingURL=advertising.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.test.js","sourceRoot":"","sources":["../../src/test/advertising.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"device.test.d.ts","sourceRoot":"","sources":["../../src/test/device.test.ts"],"names":[],"mappings":""}
|
package/dist/test/device.test.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { SwitchbotDevice } from '../device.js';
|
|
2
|
-
describe('switchbotDevice', () => {
|
|
3
|
-
let mockPeripheral;
|
|
4
|
-
let mockNoble;
|
|
5
|
-
beforeEach(() => {
|
|
6
|
-
mockPeripheral = {
|
|
7
|
-
connectAsync: jest.fn().mockResolvedValue(undefined),
|
|
8
|
-
disconnectAsync: jest.fn().mockResolvedValue(undefined),
|
|
9
|
-
discoverServicesAsync: jest.fn().mockResolvedValue([]),
|
|
10
|
-
state: 'disconnected',
|
|
11
|
-
once: jest.fn(),
|
|
12
|
-
removeAllListeners: jest.fn(),
|
|
13
|
-
discoverCharacteristicsAsync: jest.fn().mockResolvedValue([]),
|
|
14
|
-
};
|
|
15
|
-
mockNoble = {
|
|
16
|
-
_state: 'poweredOn',
|
|
17
|
-
};
|
|
18
|
-
});
|
|
19
|
-
it('should initialize with correct properties', async () => {
|
|
20
|
-
const device = new SwitchbotDevice(mockPeripheral, mockNoble);
|
|
21
|
-
expect(device.id).toBe('');
|
|
22
|
-
expect(device.address).toBe('');
|
|
23
|
-
expect(device.model).toBe('');
|
|
24
|
-
expect(device.modelName).toBe('');
|
|
25
|
-
expect(device.connectionState).toBe('disconnected');
|
|
26
|
-
});
|
|
27
|
-
it('should connect to the device', async () => {
|
|
28
|
-
const device = new SwitchbotDevice(mockPeripheral, mockNoble);
|
|
29
|
-
await device.connect();
|
|
30
|
-
expect(mockPeripheral.connectAsync).toHaveBeenCalled();
|
|
31
|
-
});
|
|
32
|
-
it('should disconnect from the device', async () => {
|
|
33
|
-
const device = new SwitchbotDevice(mockPeripheral, mockNoble);
|
|
34
|
-
await device.disconnect();
|
|
35
|
-
expect(mockPeripheral.disconnectAsync).toHaveBeenCalled();
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
//# sourceMappingURL=device.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"device.test.js","sourceRoot":"","sources":["../../src/test/device.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,cAAqD,CAAA;IACzD,IAAI,SAA2C,CAAA;IAE/C,UAAU,CAAC,GAAG,EAAE;QACd,cAAc,GAAG;YACf,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACpD,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACvD,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtD,KAAK,EAAE,cAA+E;YACtF,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YACf,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC7B,4BAA4B,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACV,CAAA;QAErD,SAAS,GAAG;YACV,MAAM,EAAE,WAAW;SAC2B,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAC7D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAC7D,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;QACtB,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAC7D,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACzB,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/test/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-checker.test.d.ts","sourceRoot":"","sources":["../../src/test/parameter-checker.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
-
import { ParameterChecker } from '../parameter-checker.js';
|
|
3
|
-
describe('parameterChecker', () => {
|
|
4
|
-
let checker;
|
|
5
|
-
beforeEach(() => {
|
|
6
|
-
checker = new ParameterChecker();
|
|
7
|
-
});
|
|
8
|
-
describe('isSpecified', () => {
|
|
9
|
-
it('should return true if the value is specified', () => {
|
|
10
|
-
expect(checker.isSpecified(123)).toBe(true);
|
|
11
|
-
expect(checker.isSpecified('test')).toBe(true);
|
|
12
|
-
expect(checker.isSpecified(false)).toBe(true);
|
|
13
|
-
});
|
|
14
|
-
it('should return false if the value is undefined', () => {
|
|
15
|
-
expect(checker.isSpecified(undefined)).toBe(false);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
describe('check', () => {
|
|
19
|
-
it('should return false and set error if required object is missing', async () => {
|
|
20
|
-
const result = await checker.check(undefined, {}, true);
|
|
21
|
-
expect(result).toBe(false);
|
|
22
|
-
expect(checker.error).toEqual({ code: 'MISSING_REQUIRED', message: 'The first argument is missing.' });
|
|
23
|
-
});
|
|
24
|
-
it('should return true if object is not required and missing', async () => {
|
|
25
|
-
const result = await checker.check(undefined, {}, false);
|
|
26
|
-
expect(result).toBe(true);
|
|
27
|
-
expect(checker.error).toBeNull();
|
|
28
|
-
});
|
|
29
|
-
it('should return false and set error if object is not valid', async () => {
|
|
30
|
-
const result = await checker.check('not an object', {}, true);
|
|
31
|
-
expect(result).toBe(false);
|
|
32
|
-
expect(checker.error).toEqual({ code: 'MISSING_REQUIRED', message: 'The first argument is missing.' });
|
|
33
|
-
});
|
|
34
|
-
it('should validate object based on rules', async () => {
|
|
35
|
-
const rules = {
|
|
36
|
-
age: { type: 'integer', required: true, min: 18 },
|
|
37
|
-
name: { type: 'string', required: true },
|
|
38
|
-
};
|
|
39
|
-
const validObj = { age: 25, name: 'John' };
|
|
40
|
-
const invalidObj = { age: 17, name: 'John' };
|
|
41
|
-
expect(await checker.check(validObj, rules, true)).toBe(true);
|
|
42
|
-
expect(checker.error).toBeNull();
|
|
43
|
-
expect(await checker.check(invalidObj, rules, true)).toBe(false);
|
|
44
|
-
expect(checker.error).toEqual({ code: 'VALUE_UNDERFLOW', message: 'The `age` must be greater than or equal to 18.' });
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
describe('isFloat', () => {
|
|
48
|
-
it('should validate float values correctly', async () => {
|
|
49
|
-
const rule = { type: 'float', min: 1.5, max: 10.5 };
|
|
50
|
-
expect(await checker.isFloat(5.5, rule)).toBe(true);
|
|
51
|
-
expect(checker.error).toBeNull();
|
|
52
|
-
expect(await checker.isFloat(0.5, rule)).toBe(false);
|
|
53
|
-
expect(checker.error).toEqual({ code: 'VALUE_UNDERFLOW', message: 'The `value` must be greater than or equal to 1.5.' });
|
|
54
|
-
expect(await checker.isFloat(11.5, rule)).toBe(false);
|
|
55
|
-
expect(checker.error).toEqual({ code: 'VALUE_OVERFLOW', message: 'The `value` must be less than or equal to 10.5.' });
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
describe('isInteger', () => {
|
|
59
|
-
it('should validate integer values correctly', async () => {
|
|
60
|
-
const rule = { type: 'integer' };
|
|
61
|
-
expect(await checker.isInteger(5, rule)).toBe(true);
|
|
62
|
-
expect(checker.error).toBeNull();
|
|
63
|
-
expect(await checker.isInteger(5.5, rule)).toBe(false);
|
|
64
|
-
expect(checker.error).toEqual({ code: 'TYPE_INVALID', message: 'The `value` must be an integer.' });
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
describe('isBoolean', () => {
|
|
68
|
-
it('should validate boolean values correctly', async () => {
|
|
69
|
-
const rule = { type: 'boolean' };
|
|
70
|
-
expect(await checker.isBoolean(true, rule)).toBe(true);
|
|
71
|
-
expect(checker.error).toBeNull();
|
|
72
|
-
expect(await checker.isBoolean('true', rule)).toBe(false);
|
|
73
|
-
expect(checker.error).toEqual({ code: 'TYPE_INVALID', message: 'The `value` must be boolean.' });
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
describe('isObject', () => {
|
|
77
|
-
it('should validate object values correctly', async () => {
|
|
78
|
-
const rule = { type: 'object' };
|
|
79
|
-
expect(await checker.isObject({}, rule)).toBe(true);
|
|
80
|
-
expect(checker.error).toBeNull();
|
|
81
|
-
expect(await checker.isObject(null, rule)).toBe(false);
|
|
82
|
-
expect(checker.error).toEqual({ code: 'TYPE_INVALID', message: 'The `value` must be an object.' });
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
describe('isArray', () => {
|
|
86
|
-
it('should validate array values correctly', async () => {
|
|
87
|
-
const rule = { type: 'array', min: 1, max: 3 };
|
|
88
|
-
expect(await checker.isArray([1, 2], rule)).toBe(true);
|
|
89
|
-
expect(checker.error).toBeNull();
|
|
90
|
-
expect(await checker.isArray([], rule)).toBe(false);
|
|
91
|
-
expect(checker.error).toEqual({ code: 'LENGTH_UNDERFLOW', message: 'The number of elements in the `value` must be greater than or equal to 1.' });
|
|
92
|
-
expect(await checker.isArray([1, 2, 3, 4], rule)).toBe(false);
|
|
93
|
-
expect(checker.error).toEqual({ code: 'LENGTH_OVERFLOW', message: 'The number of elements in the `value` must be less than or equal to 3.' });
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
describe('isString', () => {
|
|
97
|
-
it('should validate string values correctly', async () => {
|
|
98
|
-
const rule = { type: 'string', min: 3, max: 5 };
|
|
99
|
-
expect(await checker.isString('test', rule)).toBe(true);
|
|
100
|
-
expect(checker.error).toBeNull();
|
|
101
|
-
expect(await checker.isString('te', rule)).toBe(false);
|
|
102
|
-
expect(checker.error).toEqual({ code: 'LENGTH_UNDERFLOW', message: 'The number of characters in the `value` must be greater than or equal to 3.' });
|
|
103
|
-
expect(await checker.isString('testing', rule)).toBe(false);
|
|
104
|
-
expect(checker.error).toEqual({ code: 'LENGTH_OVERFLOW', message: 'The number of characters in the `value` must be less than or equal to 5.' });
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
//# sourceMappingURL=parameter-checker.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-checker.test.js","sourceRoot":"","sources":["../../src/test/parameter-checker.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot-ble.test.d.ts","sourceRoot":"","sources":["../../src/test/switchbot-ble.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import * as Noble from '@stoprocent/noble';
|
|
2
|
-
import { beforeEach, describe, expect, it } from 'vitest';
|
|
3
|
-
import { SwitchBotBLE } from '../switchbot-ble.js';
|
|
4
|
-
describe('switchBotBLE', () => {
|
|
5
|
-
let switchBot;
|
|
6
|
-
beforeEach(() => {
|
|
7
|
-
switchBot = new SwitchBotBLE({ noble: Noble });
|
|
8
|
-
});
|
|
9
|
-
it('should initialize noble object', async () => {
|
|
10
|
-
await switchBot.ready;
|
|
11
|
-
expect(switchBot.noble).toBeTruthy();
|
|
12
|
-
});
|
|
13
|
-
it('should validate parameters', async () => {
|
|
14
|
-
const params = { duration: 5000, model: 'Bot', id: '123456789012', quick: true };
|
|
15
|
-
await switchBot.validate(params, {
|
|
16
|
-
duration: { required: false, type: 'integer', min: 1, max: 60000 },
|
|
17
|
-
model: { required: false, type: 'string', enum: ['Bot'] },
|
|
18
|
-
id: { required: false, type: 'string', min: 12, max: 17 },
|
|
19
|
-
quick: { required: false, type: 'boolean' },
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
it('should start and stop scanning', async () => {
|
|
23
|
-
let discoverListenerCount = 0;
|
|
24
|
-
const discoverListener = () => {
|
|
25
|
-
discoverListenerCount++;
|
|
26
|
-
};
|
|
27
|
-
switchBot.noble.on('discover', discoverListener);
|
|
28
|
-
await switchBot.startScan();
|
|
29
|
-
expect(discoverListenerCount).toBe(1);
|
|
30
|
-
await switchBot.stopScan();
|
|
31
|
-
switchBot.noble.removeListener('discover', discoverListener);
|
|
32
|
-
expect(discoverListenerCount).toBe(0);
|
|
33
|
-
});
|
|
34
|
-
it('should wait for specified time', async () => {
|
|
35
|
-
const start = Date.now();
|
|
36
|
-
await switchBot.wait(1000);
|
|
37
|
-
const end = Date.now();
|
|
38
|
-
expect(end - start).toBeGreaterThanOrEqual(1000);
|
|
39
|
-
});
|
|
40
|
-
it('should discover devices', async () => {
|
|
41
|
-
const devices = await switchBot.discover({ duration: 1000, quick: true });
|
|
42
|
-
expect(devices).toBeInstanceOf(Array);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=switchbot-ble.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot-ble.test.js","sourceRoot":"","sources":["../../src/test/switchbot-ble.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot-openapi.test.d.ts","sourceRoot":"","sources":["../../src/test/switchbot-openapi.test.ts"],"names":[],"mappings":""}
|