Control a Somfy Tahoma box from Node RED
Note: This module is still under development. It is not ready for production usage.
You can read this guide from Node-RED official portal. This will help you install this node. Typically, the command are as follows:
cd $HOME/.node-red npm install node-red-contrib-tahoma
This software is provided as-is. Be careful: your devices can be totally controlled via API actions. I am not responsible of any mis-usage or corruption of the devices configuration.
In order to use this node, you need to have a Tahoma Link account. If you already use the Tahoma Box and the mobile apps, you should have one.
When creating your first node, you will be asked to provide your e-mail and password used to login to your Tahoma Link account. These will be used to connect to the API (of course, they will only be used locally, they are not forwarded to me :)).
This node accepts an object as input. The following properties will be parsed:
||enum (see below)||Yes||The action to perform|
||int (0-100)||No||The position you want to set your blinds/door to|
||boolean||No||Should the action be triggered in low-speed mode?|
Currently, only a few commands are understood by this node. The possible values for the
action property are:
open: This will open the device (door, blind...)
close: This will close the device
customPosition: This will set the device to a custom position. The position is passed using the
positionproperty, which is required in this mode.
The node will output its original
msg.payload enriched with the result of the expected action.
msg.payload.output will contain 2 properties:
open: a boolean. Set to true if the device is open, or false otherwise
position: an integer (0-100). Set to the position returned by the Tahoma box.
This was tested with the following devices:
- IO-HomeControl Roller Shutters
- IO-HomeControl Garage Door
Feel free to send any feedback of any other compatible items or known limitations :)
These are the things that should be updated (and will be later) on this module:
- Filter elements that can actually be controlled (e.g. do not display the "Active Button")
- Find a way to properly handle "my" position