This is an updated fork of aiopulse for the v2 hub (note: this is not compatible with the v1 hub, use aiopulse
for that). The protocol implementation uses a combination of WebSockets and a TCP connection using a serial like protocol. See the project wiki page for details.
Requires Python 3.7 or later and uses asyncio and websockets.
It has been primarily developed as an integration for Home Assistant, using the Automate Pulse v2 integration.
Run pip install aiopulse2
.
This is an interactive interface to test the integration. The available commands are listed below.
Use the list
command to get the id of the hubs/blinds.
Command | Description |
---|---|
connect [hub ip][hub ip]...] | Connect to the hub at ip(s) |
disconnect | Disconnect all hubs |
list | List currently connected hubs and their blinds, use to get the [hub id] and [blind id] for the following commands. |
open [hub id][blind id] | Open blind |
close [hub id][blind id] | Close blind |
stop [hub id][blind id] | Stop blind |
moveto [hub id][blind id] [% closed] | Open blind to percentage |
exit | Exit program |
This is a trivial work-in-progress aiopulse2 command-line-interface wrapper. It issues a command to a blind given the hub ip address, device name as defined in the Pulse 2 app and desired percentage closed. It then waits for the command to complete.
python3 pulse_hub_cli.py '192.168.1.127' 'Office 1 of 3' 100
This is an example application of pulse_hub_cli.py. It closes three blinds in sequence. In this case, it is useful to close the blinds one at a time because they share a small power supply.
python3 pulse_hub_cli.py '192.168.1.127' 'Office 1 of 3' 100
python3 pulse_hub_cli.py '192.168.1.127' 'Office 2 of 3' 100
python3 pulse_hub_cli.py '192.168.1.127' 'Office 3 of 3' 100