jcgoette / pyhatchbabyrest

Python library to control the Hatch Baby Rest device.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hatch Baby Rest Python Bindings

This library will allow you to control a Hatch Baby Rest device (note, /not/ the Hatch Baby Rest+, which is Wi-Fi enabled) over BLE.

Requirements

The pygatt backend was tested on a Raspberry Pi 3 Model B Rev 1.2, but should work on any Unix system that is compatible with the GATTToolBackend of pygatt.

The bleak (async) backend was tested on a 2019 MacBook Pro, but should work on any system that bleak is compatible with.

Installation

pip install pyhatchbabyrest

Examples

pygatt backend (synchronous)

In [1]: from pyhatchbabyrest import PyHatchBabyRest

In [2]: rest = PyHatchBabyRest()

In [3]: rest.power
Out[3]: False

In [4]: rest.power_on()

In [5]: rest.volume
Out[5]: 30

In [6]: rest.set_volume(10)

In [7]: rest.volume
Out[7]: 10

In [8]: rest.set_color(255, 0, 0)

In [9]: rest.color
Out[9]: (255, 0, 0)

In [10]: rest.set_brightness(100)

In [11]: rest.set_sound(PyHatchBabyRestSound.stream)

In [12]: rest.sound
Out[12]: <PyHatchBabyRestSound.stream: 2>

In [13]: rest.set_color(*PyHatchBabyRest.COLOR_GRADIENT)
    
In [14]: rest.connected
Out[14]: True

In [15]: rest.disconnect()

In [16]: rest.connected
Out[16]: False

bleak backend (async and a little more portable)

In [1]: from pyhatchbabyrest import PyHatchBabyRestAsync

In [2]: rest = PyHatchBabyRestAsync()

In [3]: import asyncio

In [4]: loop = asyncio.get_event_loop()

In [5]: r = loop.run_until_complete

In [6]: r(rest.power_on())

In [7]: r(rest.set_volume(100))

In [8]: r(rest.set_volume(10))

In [9]: r(rest.power_off())

In [10]: rest.sound
Out[10]: <PyHatchBabyRestSound.noise: 3>

Credits

Huge thanks to @Marcus-L for their repo at GitHub - Marcus-L/m4rcus.HatchBaby.Rest: Control Hatch Baby Rest devices using Bluetooth LE which did all the hard work of finding the right characteristics, commands, etc.

ezoic increase your site revenue

About

Python library to control the Hatch Baby Rest device.

License:MIT License


Languages

Language:Python 100.0%