node-red-contrib-homematic
Version:
node-red node to control homematic devices
131 lines (79 loc) • 3.69 kB
Markdown
# node-red-contrib-homematic
:house: Integrate your Homematic devices with <b>Node-RED</b>
[](http://badge.fury.io/js/node-red-contrib-homematic)
### Features
node-red-contrib-homematic provides functions to control Homematic devices with <b>Node-RED</b>.<br>
<b>Node-RED</b> - is a visual tool for wiring the Internet of Things (IoT) - read more @http://nodered.org<br>
This node outputs a message to msg.payload containing "remote script calls" which can be send to the CCU using the HttpRequest node.

### Communication
This node provides "remote script calls" which can be send using the HttpRequest node
### How to use this Node?
#### Talk to Homematic with node-red-contrib-homematic:
Example shows how to change the level of a dimmer
Inject node ---- Homematic node ---- HttpRequest node ---- Debug node

### Homematic node config
#### Configure your CCU
you can configure multiple endpoints

#### Configure your devices
you can configure multiple devices

your config ccu/devices will be saved..
#### Choose function, channel and attribute

#### You can also pass values into the node!
Just pass the input value as the msg.payload parameter and use the "{{msg.payload}}" syntax in the value field.

#### Configure HttpRequest node like this

#
### The Vanilla Way
#### Talk to Homematic only with core nodes
Example shows how to change the level of a dimmer
Inject node ---- Function node ---- HttpRequest node ---- Debug node

#### Function node content
```
var script = "var d = dom.GetObject(\"BidCos-RF.LEQ0990753:1.LEVEL\");if (d){d.State(\"100\");}";
var headers = {};
headers["Content-Length"] = script.length;
headers["Content-Type"] = "application/x-www-form-urlencoded";
msg.headers = headers;
msg.method = "POST";
msg.url = "http://20.1.0.50/tclrega.exe";
msg.payload = script;
return msg;
```
### Exported Flow
Find the exported flow example in "test" directory
### XML-RPC API
[Dokumentation](http://www.eq-3.de/Downloads/eq3/download%20bereich/hm_web_ui_doku/HM_XmlRpc_API.pdf)
### Install
```
cd node-red/
npm install node-red-contrib-homematic
```
### Docker Install
On the host machine
```
docker run \
--name nodered \
--restart=always \
-v /home/docker/node-red:/data \
-p 1880:1880 \
-d nodered/node-red-docker
```
Also on the host machine
```
cd /home/docker/node-red
npm install node-red-contrib-homematic
```
### Something missing?
You can easily extend this module to fit your needs by editing the html file.
feel free to create a pull request!
## Code of Conduct
See the [CODE](CODE_OF_CONDUCT.md)
## License
See the [LICENSE](LICENSE.md) file for license rights and limitations (MIT).