Skip to main content

A Python library to control SwitchBot devices connected to SwitchBot Hub

Project description

python-switchbot

A Python library to control SwitchBot devices connected to SwitchBot Hub

Requirements

Installation

pip install python-switchbot

Usage

Devices

from switchbot import SwitchBot

# To get the token and secret, please refer to https://github.com/OpenWonderLabs/SwitchBotAPI#getting-started
your_switch_bot_token = '98a6732b2ac256d40ffab7db31a82f518969f4d1a64eadff581d45e902327b7c577aa6ead517bda589c19b4ca0b2599b'
your_switch_bot_secret = '222cdc22f049d111c5d0071c131b8b77'
switchbot = SwitchBot(token=your_switch_bot_token, secret=your_switch_bot_secret)
# To list all devices
devices = switchbot.devices()
for device in devices:
    print(device)
# Bot(id=CD0A18B1C291)
# Lock(id=CD0A1221C291)
# HubMini(id=4CAF08629A21)
# Bot(id=5F0B798AEF91)

# If you already know a device id:
device = switchbot.device(id='5F0B798AEF91')
# Device(id=5F0B798AEF91)

# To query a status of a device
print(device.status())
# {'power': 'off'}

# To command actions,
device.command('turn_on')
device.command('turn_off')
device.command('press')
device.command('set_position', parameter='0,ff,80')

# For some device types like Bot:
bot = devices[0]
bot.turn('on')
bot.turn('off')
bot.toggle()
bot.press()

# For some device types like Lock:
lock = devices[1]
lock.lock()
lock.unlock()
lock.toggle()

Remotes

# To list all infra red remotes
remotes = switchbot.remotes()
for remote in remotes:
    print(remote)

# If you already know a remote id:
remote = switchbot.remote(id='')

# Supported devices such as fans, air purifiers:
remote.turn('on')
remote.turn('off')

# To send supported commands,
remote.command('swing')
remote.command('low_speed')

# To send custom commands,
remote.command('MyCustomCommand', customize=True)

Scenes

# To list all infra red remotes
scenes = switchbot.scenes()
for scene in scenes:
    print(scene)

# If you already know a remote id:
scene = switchbot.scene(id='')

# To execute scene
scene.execute()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-switchbot-2.3.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

python_switchbot-2.3.1-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file python-switchbot-2.3.1.tar.gz.

File metadata

  • Download URL: python-switchbot-2.3.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for python-switchbot-2.3.1.tar.gz
Algorithm Hash digest
SHA256 b9f204df26abf227a5d3aca8e12b7c79ed6e4f58e5e1546ca4188393e85dca35
MD5 54bf25b9bf5af7827564d5756f6b69c8
BLAKE2b-256 894b987b4d6652a0eb4202c4c6c366f2836f8d25e638b58fe8a0ff942b097773

See more details on using hashes here.

File details

Details for the file python_switchbot-2.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for python_switchbot-2.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f014817313b8b67d370352f74ac4b4976255051ca4198ea84d3d90d219f39f17
MD5 aefe42f8737cfef37ed6ca3b4748840b
BLAKE2b-256 8ea5a8a1f6fd6eba73bf5ddb3391a554d8831e6e82b2d2eec86de1ca709d3194

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page