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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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