python-switchbot


Namepython-switchbot JSON
Version 2.3.1 PyPI version JSON
download
home_pagehttps://github.com/jonghwanhyeon/python-switchbot
SummaryA Python library to control SwitchBot devices connected to SwitchBot Hub
upload_time2023-04-09 05:37:17
maintainer
docs_urlNone
authorJonghwan Hyeon
requires_python>=3.7
licenseMIT
keywords switchbot
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # python-switchbot
A Python library to control SwitchBot devices connected to SwitchBot Hub

## Requirements
- Python 3.7+
- [A SwitchBot Token](https://github.com/OpenWonderLabs/SwitchBotAPI#getting-started)

## Installation
```python
pip install python-switchbot
```

## Usage


### Devices
```python
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
```python
# 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
```python
# 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()
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jonghwanhyeon/python-switchbot",
    "name": "python-switchbot",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "switchbot",
    "author": "Jonghwan Hyeon",
    "author_email": "jonghwanhyeon93@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/89/4b/987b4d6652a0eb4202c4c6c366f2836f8d25e638b58fe8a0ff942b097773/python-switchbot-2.3.1.tar.gz",
    "platform": null,
    "description": "# python-switchbot\nA Python library to control SwitchBot devices connected to SwitchBot Hub\n\n## Requirements\n- Python 3.7+\n- [A SwitchBot Token](https://github.com/OpenWonderLabs/SwitchBotAPI#getting-started)\n\n## Installation\n```python\npip install python-switchbot\n```\n\n## Usage\n\n\n### Devices\n```python\nfrom switchbot import SwitchBot\n\n# To get the token and secret, please refer to https://github.com/OpenWonderLabs/SwitchBotAPI#getting-started\nyour_switch_bot_token = '98a6732b2ac256d40ffab7db31a82f518969f4d1a64eadff581d45e902327b7c577aa6ead517bda589c19b4ca0b2599b'\nyour_switch_bot_secret = '222cdc22f049d111c5d0071c131b8b77'\nswitchbot = SwitchBot(token=your_switch_bot_token, secret=your_switch_bot_secret)\n# To list all devices\ndevices = switchbot.devices()\nfor device in devices:\n    print(device)\n# Bot(id=CD0A18B1C291)\n# Lock(id=CD0A1221C291)\n# HubMini(id=4CAF08629A21)\n# Bot(id=5F0B798AEF91)\n\n# If you already know a device id:\ndevice = switchbot.device(id='5F0B798AEF91')\n# Device(id=5F0B798AEF91)\n\n# To query a status of a device\nprint(device.status())\n# {'power': 'off'}\n\n# To command actions,\ndevice.command('turn_on')\ndevice.command('turn_off')\ndevice.command('press')\ndevice.command('set_position', parameter='0,ff,80')\n\n# For some device types like Bot:\nbot = devices[0]\nbot.turn('on')\nbot.turn('off')\nbot.toggle()\nbot.press()\n\n# For some device types like Lock:\nlock = devices[1]\nlock.lock()\nlock.unlock()\nlock.toggle()\n```\n\n### Remotes\n```python\n# To list all infra red remotes\nremotes = switchbot.remotes()\nfor remote in remotes:\n    print(remote)\n\n# If you already know a remote id:\nremote = switchbot.remote(id='')\n\n# Supported devices such as fans, air purifiers:\nremote.turn('on')\nremote.turn('off')\n\n# To send supported commands,\nremote.command('swing')\nremote.command('low_speed')\n\n# To send custom commands,\nremote.command('MyCustomCommand', customize=True)\n```\n\n### Scenes\n```python\n# To list all infra red remotes\nscenes = switchbot.scenes()\nfor scene in scenes:\n    print(scene)\n\n# If you already know a remote id:\nscene = switchbot.scene(id='')\n\n# To execute scene\nscene.execute()\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Python library to control SwitchBot devices connected to SwitchBot Hub",
    "version": "2.3.1",
    "split_keywords": [
        "switchbot"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8ea5a8a1f6fd6eba73bf5ddb3391a554d8831e6e82b2d2eec86de1ca709d3194",
                "md5": "aefe42f8737cfef37ed6ca3b4748840b",
                "sha256": "f014817313b8b67d370352f74ac4b4976255051ca4198ea84d3d90d219f39f17"
            },
            "downloads": -1,
            "filename": "python_switchbot-2.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "aefe42f8737cfef37ed6ca3b4748840b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 6956,
            "upload_time": "2023-04-09T05:37:16",
            "upload_time_iso_8601": "2023-04-09T05:37:16.426653Z",
            "url": "https://files.pythonhosted.org/packages/8e/a5/a8a1f6fd6eba73bf5ddb3391a554d8831e6e82b2d2eec86de1ca709d3194/python_switchbot-2.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "894b987b4d6652a0eb4202c4c6c366f2836f8d25e638b58fe8a0ff942b097773",
                "md5": "54bf25b9bf5af7827564d5756f6b69c8",
                "sha256": "b9f204df26abf227a5d3aca8e12b7c79ed6e4f58e5e1546ca4188393e85dca35"
            },
            "downloads": -1,
            "filename": "python-switchbot-2.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "54bf25b9bf5af7827564d5756f6b69c8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 5354,
            "upload_time": "2023-04-09T05:37:17",
            "upload_time_iso_8601": "2023-04-09T05:37:17.988188Z",
            "url": "https://files.pythonhosted.org/packages/89/4b/987b4d6652a0eb4202c4c6c366f2836f8d25e638b58fe8a0ff942b097773/python-switchbot-2.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-09 05:37:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "jonghwanhyeon",
    "github_project": "python-switchbot",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "python-switchbot"
}
        
Elapsed time: 0.05250s