Node-RED + Tellstick = Home automation

What can you do with Node-RED and Tellstick?

  • Collect data from different wireless sensors
  • Easily create graphical data flows
  • Integrate with different destinations; databases, visualization, and social media
  • Future: Control wireless devices


Pictures above are for illustrative purposes only.

Node-RED

Node-RED is graphical programming environment build a top of node.js programming language. Node-RED is especially suitable for event streams processing and rapid prototyping. Home automation is an application which benefits a lot, as the system structure is very easy and intuitive to describebut

Node-RED was originally created by IBM Emerging Technologies, and is now maintained as an open source project.

Want to run Node-RED in Raspberry Pi? Adafruit provides good installation instruction:
https://learn.adafruit.com/raspberry-pi-hosting-node-red/

Init script for auto-start at boot https://gist.github.com/Belphemur/cf91100f81f2b37b3e94


Example screenshot of Node-RED user interface

Node-RED is not a tool for creating visual dashboards, but a tool to intgrate and process data streams.


Tellstick

Tellstick Duo is USB-connected RF transmitter and receiver from Telldus Technologies. Tellstick is compatible with many wireless sensors and control devices from different vendors and brands, which makes it well suitable for home automation purposes.


Tellstick Duo

node-red-contrib-tellstick

node-red-contrib-tellstick is one of the add-on modules for Node-RED, contributed and maintained by Jaakko Ala-Paavola. It provides input node for TellStick. List of other nodes is available here: https://github.com/node-red/node-red-nodes.

Tellstick node provides raw received data in msg.payload object. node-red-contrib-tellstick uses telldus-core library.

Installation instructions for Debian/Ubuntu systems: http://developer.telldus.com/wiki/TellStickInstallationUbuntu

Source installation for other linuxes: http://developer.telldus.com/wiki/TellStickInstallationSource

Install node-red-contrib-tellstick:
Run the following command in node-red root directory:

npm install node-red-contrib-tellstick


Author:  Jaakko Ala-Paavola
Date:    2014-12-06
Version: 0.01
Licence: Apache 2.0 

https://github.com/japikas/node-red-contrib-tellstick.git

Future improvements:

  • Auto-reconnect to telldus-core if Tellstick was disconnected
  • Output node, send commands to wireless devices

After re-starting Node-RED, there is new tellstick node in input category.


node-red-contrib-tellstick

Tellstick node provides input node named tellstick. node-red-contrib-tellstick uses unix domain socket to receive data from telldus-core. By default the socket is located in path /tmp/TelldusEvents. User can configure the path via Node-RED.


node-red-contrib-tellstick configuration

Every device type has it's own way of presenting data. node-red-contrib-tellstick provides the data in msg.payload as it is received from telldus-core. The socket path of the source is delivered in msg.socket. This makes it possible to distinguish data sources if more than one Tellstick Duo is connected.

Example sensor: WT405H

WT405H is typical example of wireless temperature and humidity transmitter. Unit price is typically less than 15 euros at retailers.

WT405H

Here is an example data received from WT405:

  {
      "payload": {
          "class": "sensor",
          "protocol": "mandolyn",
          "id": "11",
          "model": "temperaturehumidity",
          "temp": "15.4",
          "humidity": "41"
      },
      "socket": "/tmp/TelldusEvents"
  }


Blog: http://embeddedexperience.blogspot.com
Twitter: @japikas

node-red.txt · Last modified: 2014/12/26 13:30 by jap
Recent changes RSS feed CC Attribution-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki