Skip to content

AustinBrunkhorst/pysnooz

Repository files navigation

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.

About

Control SNOOZ white noise machines with python

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages