Control SNOOZ white noise machines with Bluetooth.
Install this via pip (or your favourite package manager):
pip install pysnooz
import asyncio
from datetime import timedelta
from bleak.backends.client import BLEDevice
from pysnooz.device import SnoozDevice
from pysnooz.commands import SnoozCommandResultStatus, turn_on, turn_off, set_volume
# found with discovery
ble_device = BLEDevice(...)
token = "deadbeef"
device = SnoozDevice(ble_device, token, asyncio.get_event_loop())
# optionally specify a volume to set before turning on
await device.async_execute_command(turn_on(volume=100))
# you can transition volume by specifying a duration
await device.async_execute_command(turn_off(duration=timedelta(seconds=10)))
# you can also set the volume directly
await device.async_execute_command(set_volume(50))
# view the result of a command execution
result = await device.async_execute_command(turn_on())
assert result.status == SnoozCommandResultStatus.SUCCESS
result.duration # how long the command took to complete
Thanks goes to these wonderful people (emoji key):
bradleysryder 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
This package was created with Cookiecutter and the browniebroke/cookiecutter-pypackage project template.