node-red-contrib-housebot 1.0.3
HouseBot Nodes to control and monitor a HouseBot instance from Node-RED.
HouseBot Nodes for Node-RED
Node-RED nodes to control and monitor your HouseBot Devices and Tasks. It is compatible with HouseBot version 3.54 or newer and Node-RED version 1.0 or newer.
Installation
From Node-RED (easy)
From the main menu,
- Select Manage Palette
- Select the Install tab.
- Search for node-red-contrib-housebot.
- Select the install button.
From the command line
Use the following command from within your Node-RED user data directory (e.g. $HOME/.node-red
):
npm install node-red-contrib-housebot
Then restart Node-RED.
If the installation is successful, the new HouseBot nodes will appear at the bottom of the Node-RED palette.
HouseBot Configuration
In order for Node-RED to receive status updates from HouseBot, HouseBot must be setup first. From the HouseBot main menu, select Settings > Program Options. In the NodeRED tab:
- Check the Enabled checkbox.
- Enter the network/IP address of the instance of Node-RED to communicate with.
- Provide a password. This password will need to match the password setup in the Node-RED HouseBot Server configuration.
Nodes
HB Server
HB Server nodes are configuration nodes that can be used by any number of HB Device and HB Task nodes. These nodes define the connection information between the Node RED node and the HouseBot Server. These nodes are setup from within the HB Device or HB Task nodes (described below).
The server setup requires the following information:
- IP Address : The network / IP address of the HouseBot Server.
- Password : This password must match the password setup in the HouseBot Configuration setup above.
- Name : Helpful name of the server connection. If left empty, the IP Address will be used to identify the server. Note: HouseBot nodes will communicate with the HouseBot server on port 1881. If there are any connectivity issues, check to make sure this port is open and unblocked by any firewalls.
HB Device
A node representing a HouseBot Device. These nodes can both control and reflect the status of all Properties associated with the HouseBot Device.
Device Configuration
The HB Device node requires the following information:
- Name : Name that will represent the node on the Node-RED flow. If left empty, the name of the selected HouseBot Device will be used.
- HB Server : Select the HouseBot Server (HB Server) where the HouseBot Device resides. If a HouseBot server has not been setup, see HB Server above.
- Device : Once a HB Server has been selected, the Device list will populate with all of the enabled Devices on the system. Select the Device that this node will represent.
Controlling a Device
To control a device, the node needs to receive an input with msg.topic
set to change, msg.payload.property
set to the name of the HouseBot Device Property to change, and msg.payload.value
set to the new value to change the HouseBot Property to.
msg.topic = "change"; msg.payload = {"property": "Action", "value": "Testing"};
OR
msg.topic = "change"; msg.payload.property = "Action"; msg.payload.value = "Testing";
Receiving Device updates
When any Property of the HouseBot Device changes on the HouseBot server, the node will receive the update and send a message on its output containing the property and value in msg.payload
.
payload: {
device: 'Name (description) of the HouseBot Device',
property: 'Name of the Property that has changed',
value: 'New value for the HouseBot Property'
}
HB Task
A node representing a HouseBot Task. These nodes can both control and reflect the status of the Task.
Task Configuration
The HB Task node requires the following information:
- Name : Name that will represent the node on the Node-RED flow. If left empty, the name of the selected HouseBot Task will be used.
- HB Server : Select the HouseBot Server (HB Server) where the HouseBot Task resides. If a HouseBot server has not been setup, see HB Server above.
- Task : Once a HB Server has been selected, the Task list will populate with all of the enabled Tasks on the system. Select the Task that this node will represent.
Running a Task
To run a task, the node needs to receive an input with msg.topic
(or msg.payload
) set to execute or run.
msg.topic = "execute";
Task Notifications
When a Task runs on the HouseBot server, the node will receive the update and send a message on its output containing a payload containing executed.
{
payload: executed
}