Skip to main content

Control SNOOZ white noise machines.

Project description

PySnooz

Python Language + Bleak API + SNOOZ White Noise Machine

CI Status Test coverage percentage PyPI Version

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
bradleysryder

💻
Martin Weinelt
Martin Weinelt

💻
epenet
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


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)

Uploaded Source

Built Distribution

pysnooz-0.10.0-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

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

Hashes for pysnooz-0.10.0.tar.gz
Algorithm Hash digest
SHA256 33b2e3724791bd01c9da52073bc2ec0b9a859d056537d0a07c3d621cd437b6e4
MD5 5e8aa1f5b92fd3b4e4e92c36368053ce
BLAKE2b-256 466731dfa980b5bc7ca7b68a457b912ba163c9b7f3fbb5a2caa95ee926f94dd6

See more details on using hashes here.

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

Hashes for pysnooz-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8d6345fdeeca208aec96f93187d223425105d379a155e25abac128f5d61b5fe
MD5 141208857b448f772222b8d406c70748
BLAKE2b-256 7eda6e3eff6641c57656237b99e024507fa8f33b8ceaf5ec1934afafe28a7118

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page