Control SNOOZ white noise machines.
Project description
PySnooz
Control SNOOZ white noise machines with Bluetooth.
Installation
Install this via pip (or your favourite package manager):
pip install pysnooz
Supported devices
Usage
import asyncio
from datetime import timedelta
from home_assistant_bluetooth import BluetoothServiceInfo
from pysnooz.device import (
SnoozAdvertisementData,
SnoozDevice,
SnoozCommandResultStatus,
disable_night_mode,
enable_night_mode,
get_device_info,
set_auto_temp_enabled,
set_fan_speed,
set_light_brightness,
set_temp_target,
set_volume,
turn_fan_off,
turn_fan_on,
turn_light_off,
turn_light_on,
turn_off,
turn_on,
)
# found with discovery
device_info = BluetoothServiceInfo(...)
advertisement = parse_snooz_advertisement(device_info)
device = SnoozDevice(device_info, advertisement)
# 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)))
other_commands = [
set_volume(50, duration=timedelta(seconds=10)),
set_light_brightness(75),
turn_light_on(),
turn_light_off(),
enable_night_mode(),
disable_night_mode(),
# the following commands are only supported by Breez
set_fan_speed(33, duration=timedelta(seconds=10)),
set_auto_temp_enabled(True),
set_temp_target(71)
]
for command in other_commands:
await device.async_execute_command(command)
# 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
Contributors ✨
Thanks goes to these wonderful people (emoji key):
bradleysryder 💻 |
Martin Weinelt 💻 |
epenet 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Credits
This package was created with Cookiecutter and the browniebroke/cookiecutter-pypackage project template.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pysnooz-0.10.0.tar.gz
(22.9 kB
view details)
Built Distribution
pysnooz-0.10.0-py3-none-any.whl
(24.9 kB
view details)
File details
Details for the file pysnooz-0.10.0.tar.gz
.
File metadata
- Download URL: pysnooz-0.10.0.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33b2e3724791bd01c9da52073bc2ec0b9a859d056537d0a07c3d621cd437b6e4 |
|
MD5 | 5e8aa1f5b92fd3b4e4e92c36368053ce |
|
BLAKE2b-256 | 466731dfa980b5bc7ca7b68a457b912ba163c9b7f3fbb5a2caa95ee926f94dd6 |
File details
Details for the file pysnooz-0.10.0-py3-none-any.whl
.
File metadata
- Download URL: pysnooz-0.10.0-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8d6345fdeeca208aec96f93187d223425105d379a155e25abac128f5d61b5fe |
|
MD5 | 141208857b448f772222b8d406c70748 |
|
BLAKE2b-256 | 7eda6e3eff6641c57656237b99e024507fa8f33b8ceaf5ec1934afafe28a7118 |