Sign inSign up

donkeystudio/switchbot-python-http-server

By donkeystudio

•Updated about 4 years ago

HTTP Server to receive BLE commands to control Switch Bot devices.

Image
0

495

donkeystudio/switchbot-python-http-server repository overview

⁠Usage

This program aims to provide a better solution to control Switch Bot devices when integrating with Homebridge. The current official Switch Bot plugins on Homebridge does not provide a stable BLE connection to the SwitchBot devices, especially when running on a RaspberryPi. Users who use this program can consider to install homebridge-http-switch⁠ plugin to use with this program.

⁠Supported architectures:

linux/arm/v7, linux/arm64, linux/amd64

docker run --rm --network=host -v /var/run/dbus:/var/run/dbus donkeystudio/switchbot-python-http-server 

⁠Startup Configuration

python3 main.py --help
usage: main.py [-h] [-u USER] [-pwd PASSWORD] [-p PORT] [-on ON_OR_OK] [-off OFF_OR_FAIL]

optional arguments:
  -h,               --help                      show this help message and exit
  -u USER,          --user USER                 Username (default: None)
  -pwd PASSWORD,    --password PASSWORD         Password (default: None)
  -p PORT,          --port PORT                 Port (default: 8080)
  -on ON_OR_OK,     --on_or_ok ON_OR_OK         Value to return if device is On or the requested action was executed successfully (default: 1)
  -off OFF_OR_FAIL, --off_or_fail OFF_OR_FAIL   Value to return if device is Off or the requested action was failed to execute (default: 0)

⁠API

⁠Authorization

Basic HTTP Authorization is supported. Username and password are setup using -u/--user and -pwd / --password arguments

GET /?command=XXX&device=XX:XX:XX:XX:XX&interface=0&connect_timeout=5
ParameterTypeDescription
commandstringRequired. Command to Switchbot device. Support the following:
1. on: Switch mode - Turn on
2. off: Switch mode - Turn off
3. press: Press mode - Press
4. status: Status of the device
devicestringRequired. BLE MAC address of the Switchbot device. Can be either XX:XX:XX or XX-XX-XX formats
interfacenumberOptional. ID of the HCI bluetooth interface. Default 0 for hci0 interface
connect_timeoutnumberOptional. Set connect timeout before stopping the request. Default 5 seconds

Return: 1 for successful request or the device status is ON; 0 for otherwise. Response codes can be changed by setting -on / --on_or_ok and -off / --off_or_fail arguments

Tag summary

Content type

Image

Digest

sha256:4a0c5963e…

Size

85.2 MB

Last updated

about 4 years ago

docker pull donkeystudio/switchbot-python-http-server