Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danielhiversen/pyswitchbot
Library to control Switchbot
https://github.com/danielhiversen/pyswitchbot
Last synced: about 1 month ago
JSON representation
Library to control Switchbot
- Host: GitHub
- URL: https://github.com/danielhiversen/pyswitchbot
- Owner: Danielhiversen
- License: mit
- Created: 2018-09-03T20:21:57.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-22T04:26:31.000Z (2 months ago)
- Last Synced: 2024-10-22T06:33:02.536Z (2 months ago)
- Language: Python
- Size: 347 KB
- Stars: 98
- Watchers: 16
- Forks: 46
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pySwitchbot [![Build Status](https://travis-ci.org/Danielhiversen/pySwitchbot.svg?branch=master)](https://travis-ci.org/Danielhiversen/pySwitchbot)
Library to control Switchbot IoT devices https://www.switch-bot.com/bot
## Obtaining locks encryption key
Using the script `scripts/get_encryption_key.py` you can manually obtain locks encryption key.
Usage:
```shell
$ python3 get_encryption_key.py MAC USERNAME
Key ID: xx
Encryption key: xxxxxxxxxxxxxxxx
```Where `MAC` is MAC address of the lock and `USERNAME` is your SwitchBot account username, after that script will ask for your password.
If authentication succeeds then script should output your key id and encryption key.Examples:
- WoLock
```python
import asyncio
from switchbot.discovery import GetSwitchbotDevices
from switchbot.devices import lockasync def main():
wolock = await GetSwitchbotDevices().get_locks()
await lock.SwitchbotLock(wolock['32C0F607-18B8-xxxx-xxxx-xxxxxxxxxx'].device, "key-id", "encryption-key").get_lock_status()asyncio.run(main())
```