|
@@ -10,8 +10,8 @@ Usage:
|
|
|
|
|
|
```shell
|
|
|
$ python3 get_encryption_key.py MAC USERNAME
|
|
|
-Key ID: xx
|
|
|
-Encryption key: xxxxxxxxxxxxxxxx
|
|
|
+Key ID: XX
|
|
|
+Encryption key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
|
```
|
|
|
|
|
|
Where `MAC` is MAC address of the lock and `USERNAME` is your SwitchBot account username, after that script will ask for your password.
|
|
@@ -19,17 +19,51 @@ If authentication succeeds then script should output your key id and encryption
|
|
|
|
|
|
## Examples:
|
|
|
|
|
|
-#### WoLock
|
|
|
+#### WoLock (Lock-Pro)
|
|
|
+
|
|
|
+Unlock:
|
|
|
|
|
|
```python
|
|
|
import asyncio
|
|
|
from switchbot.discovery import GetSwitchbotDevices
|
|
|
from switchbot.devices import lock
|
|
|
+from switchbot.const import SwitchbotModel
|
|
|
+
|
|
|
+BLE_MAC="XX:XX:XX:XX:XX:XX" # The MAC of your lock
|
|
|
+KEY_ID="XX" # The key-ID of your encryption-key for your lock
|
|
|
+ENC_KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # The encryption-key with key-ID "XX"
|
|
|
+LOCK_MODEL=SwitchbotModel.LOCK_PRO # Your lock model (here we use the Lock-Pro)
|
|
|
+
|
|
|
+
|
|
|
+async def main():
|
|
|
+ wolock = await GetSwitchbotDevices().get_locks()
|
|
|
+ await lock.SwitchbotLock(
|
|
|
+ wolock[BLE_MAC].device, KEY_ID, ENCRYPTION_KEY, model=LOCK_MODEL
|
|
|
+ ).unlock()
|
|
|
+
|
|
|
+
|
|
|
+asyncio.run(main())
|
|
|
+```
|
|
|
+
|
|
|
+Lock:
|
|
|
+
|
|
|
+```python
|
|
|
+import asyncio
|
|
|
+from switchbot.discovery import GetSwitchbotDevices
|
|
|
+from switchbot.devices import lock
|
|
|
+from switchbot.const import SwitchbotModel
|
|
|
+
|
|
|
+BLE_MAC="XX:XX:XX:XX:XX:XX" # The MAC of your lock
|
|
|
+KEY_ID="XX" # The key-ID of your encryption-key for your lock
|
|
|
+ENC_KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # The encryption-key with key-ID "XX"
|
|
|
+LOCK_MODEL=SwitchbotModel.LOCK_PRO # Your lock model (here we use the Lock-Pro)
|
|
|
|
|
|
|
|
|
async def main():
|
|
|
wolock = await GetSwitchbotDevices().get_locks()
|
|
|
- await lock.SwitchbotLock(wolock['32C0F607-18B8-xxxx-xxxx-xxxxxxxxxx'].device, "key-id", "encryption-key").get_lock_status()
|
|
|
+ await lock.SwitchbotLock(
|
|
|
+ wolock[BLE_MAC].device, KEY_ID, ENCRYPTION_KEY, model=LOCK_MODEL
|
|
|
+ ).lock()
|
|
|
|
|
|
|
|
|
asyncio.run(main())
|