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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|