node-red-contrib-pulse-hub 0.1.0
A Node-RED node to wrap the pulse_hub_cli.py Python script
Node-RED Custom Node for Aiopulse2
This is a custom Node-RED node designed to wrap the aiopulse2-0.7.0
Python program by sillyfrog. It allows you to control motorized blinds compatible with the RollEase Automate Pulse 2 hub by passing an IP address, device name, and value (0-100%) to the aiopulse2
program and returning the program's CLI outputs.
Features
- Accepts a percentage value (0-100%) to control motorized blinds.
- Executes the local Python
aiopulse2
program with the specified IP address, device name, and value. - Returns the CLI outputs of the
aiopulse2
program.
Requirements
- Node-RED (latest version)
- Python 3.7
aiopulse2-0.7.0
(not included in this package)websockets-8.1
(dependency ofaiopulse2
)
Installation
Manual Installation
- Ensure Python 3.7 is installed on your system.
- Download and unzip the source tar.gz folder of
aiopulse2-0.7.0
and its dependencywebsockets-8.1
to the default Node-RED folder under./python_lib
. - Install the custom Node-RED node by copying the JavaScript and HTML files to your Node-RED nodes directory.
Docker Installation
A Docker image for a custom Node-RED container with Python 3.7 and the required Python files is available. Note that this Docker image does not include this custom Node-RED node palette.
Docker image: lbtimshort/my-nodered-python
Usage
- Start Node-RED and open the editor.
- Drag and drop the custom
aiopulse2-node
node into your flow. - Configure the node with the following fields:
- Name: A name for the node.
- Device IP: The IP address of the device.
- Device Name: The name of the device.
- Deploy the flow.
- Pass a payload with the
value
field (0-100) to the node to control the blinds.
Example Payload
{
"payload": {
"value": 50
}
}
License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Acknowledgements
This project depends on the aiopulse2 library by sillyfrog, which is licensed under the Apache License 2.0.
Contributing
Contributions are welcome! Please submit a pull request or open an issue to discuss any changes.
Contact
For any questions or issues, please open an issue on the GitHub repository.