Metadata-Version: 2.1 Name: pysnooz Version: 0.8.6 Summary: Control SNOOZ white noise machines. Home-page: https://github.com/AustinBrunkhorst/pysnooz License: MIT Author: Austin Brunkhorst Author-email: pysnooz@alb.dev Requires-Python: >=3.10,<4.0 Classifier: Development Status :: 4 - Beta Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Natural Language :: English Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Topic :: Software Development :: Libraries Requires-Dist: Events (>=0.4,<0.5) Requires-Dist: bleak (>=0.20.2) Requires-Dist: bleak-retry-connector (>=3.0.2) Requires-Dist: bluetooth-sensor-state-data (>=1.5.0) Requires-Dist: home-assistant-bluetooth (>=1.3.0) Requires-Dist: transitions (>=0.8.11,<0.9.0) Project-URL: Bug Tracker, https://github.com/AustinBrunkhorst/pysnooz/issues Project-URL: Changelog, https://github.com/AustinBrunkhorst/pysnooz/blob/main/CHANGELOG.md Project-URL: Repository, https://github.com/AustinBrunkhorst/pysnooz Description-Content-Type: text/markdown # 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` ## Usage ```python import asyncio from datetime import timedelta from bleak.backends.client import BLEDevice from pysnooz.device import SnoozDevice from pysnooz.commands import SnoozCommandResultStatus, turn_on, turn_off, set_volume # found with discovery ble_device = BLEDevice(...) token = "deadbeef" device = SnoozDevice(ble_device, token, asyncio.get_event_loop()) # 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))) # you can also set the volume directly await device.async_execute_command(set_volume(50)) # 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](https://allcontributors.org/docs/en/emoji-key)):
bradleysryder
bradleysryder

💻
Martin Weinelt
Martin Weinelt

💻
epenet
epenet

💻
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! ## Credits This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [browniebroke/cookiecutter-pypackage](https://github.com/browniebroke/cookiecutter-pypackage) project template.