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.
Metadata
Release files for pysnooz 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pysnooz-0.10.0.tar.gz | 22.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pysnooz-0.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.8 kB
Release files / pysnooz-0.10.0.tar.gz
| Download URL | pysnooz-0.10.0.tar.gz |
|---|---|
| Size | 22.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
33b2e3724791bd01c9da52073bc2ec0b9a859d056537d0a07c3d621cd437b6e4
|
|
BLAKE2b-256 checksum How to use checksums |
466731dfa980b5bc7ca7b68a457b912ba163c9b7f3fbb5a2caa95ee926f94dd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / pysnooz-0.10.0-py3-none-any.whl
| Download URL | pysnooz-0.10.0-py3-none-any.whl |
|---|---|
| Size | 24.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e8d6345fdeeca208aec96f93187d223425105d379a155e25abac128f5d61b5fe
|
|
BLAKE2b-256 checksum How to use checksums |
7eda6e3eff6641c57656237b99e024507fa8f33b8ceaf5ec1934afafe28a7118
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|