monitoring

Home automation with Perl
Raspberry Pi, 868MHz, FHEM, Redis, Logstash , Kibana and
Elasticsearch
The hardware
▪ Raspberry Pi

▪ COC (868MHz)
▪ JeeLink
▪ FS20
▪ Homematic
The software stack
▪ FHEM (perl!)

▪ Redis
▪ Logstash
▪ Elasticsearch
▪ Kibana
What is FHEM
▪ Home automation system

▪ Written in Perl
▪ Badly documented (mostly German)
▪ Great auto-configure functionality
▪ Has web interface and Android app
What is Redis
▪ An advanced in-memory key-value data store.

▪ FAST!!
▪ Durable (configurable disk-write)
▪ Single-threaded

▪ Lots of fancy features (lists, hashes, sets)
▪ Very well documented
▪ Great perl module

▪ Not very scalable… master-slave possible
What is Logstash
▪ A tool for managing events and logs

▪ Primarily an interface - between sources (redis, files, pipes, …) and
storage (elasticsearch, mongodb, email, …)
▪ Lots of very helpful filters (date, grok, geoip, …)

▪ Horizontally scalable
▪ Fantastic community “If a newbie has a bad time, it’s a bug”
What is Elasticsearch
▪ Elasticsearch is a search server based on Lucene

▪ Very easy to set up
▪ Very horizontally scalable
▪ Written in Java…

▪ Great RESTful API
▪ Great perl module written by the developers themselves
▪ Needs BIG hardware (500 million events/day: 132GB RAM, 16 cores)

▪ Stability….. :-/
The costs (so far…)
Device

Unit cost

Total

RPi + Power + SD card

50

50

COC 868MHz

75

75

JeeLink v3 868MHz

32

32

EM1000 power monitor

34

68

PCA301 remote socket with power monitor

34

34

HMS100TF remote thermometer/hydrometer

25

50

Total

309
Concerns
▪ Security for actuators

▪ Social implications – Big Brother
▪ Catastrophic Corner Cases
Questions…?
Links
▪ FHEM

http://fhem.de/fhem.html

▪ Redis

http://redis.io/ (The little Redis book)

▪ Logstash

http://logstash.net/

▪ Elasticsearch

http://www.elasticsearch.org/

▪ ELV Elektronik

http://www.elv.de/

▪ Busware

http://busware.de/

▪ Raspberry Pi

http://www.raspberrypi.org/

Home Automation with perl

  • 1.
    monitoring Home automation withPerl Raspberry Pi, 868MHz, FHEM, Redis, Logstash , Kibana and Elasticsearch
  • 2.
    The hardware ▪ RaspberryPi ▪ COC (868MHz) ▪ JeeLink ▪ FS20 ▪ Homematic
  • 4.
    The software stack ▪FHEM (perl!) ▪ Redis ▪ Logstash ▪ Elasticsearch ▪ Kibana
  • 5.
    What is FHEM ▪Home automation system ▪ Written in Perl ▪ Badly documented (mostly German) ▪ Great auto-configure functionality ▪ Has web interface and Android app
  • 6.
    What is Redis ▪An advanced in-memory key-value data store. ▪ FAST!! ▪ Durable (configurable disk-write) ▪ Single-threaded ▪ Lots of fancy features (lists, hashes, sets) ▪ Very well documented ▪ Great perl module ▪ Not very scalable… master-slave possible
  • 7.
    What is Logstash ▪A tool for managing events and logs ▪ Primarily an interface - between sources (redis, files, pipes, …) and storage (elasticsearch, mongodb, email, …) ▪ Lots of very helpful filters (date, grok, geoip, …) ▪ Horizontally scalable ▪ Fantastic community “If a newbie has a bad time, it’s a bug”
  • 8.
    What is Elasticsearch ▪Elasticsearch is a search server based on Lucene ▪ Very easy to set up ▪ Very horizontally scalable ▪ Written in Java… ▪ Great RESTful API ▪ Great perl module written by the developers themselves ▪ Needs BIG hardware (500 million events/day: 132GB RAM, 16 cores) ▪ Stability….. :-/
  • 9.
    The costs (sofar…) Device Unit cost Total RPi + Power + SD card 50 50 COC 868MHz 75 75 JeeLink v3 868MHz 32 32 EM1000 power monitor 34 68 PCA301 remote socket with power monitor 34 34 HMS100TF remote thermometer/hydrometer 25 50 Total 309
  • 10.
    Concerns ▪ Security foractuators ▪ Social implications – Big Brother ▪ Catastrophic Corner Cases
  • 11.
  • 12.
    Links ▪ FHEM http://fhem.de/fhem.html ▪ Redis http://redis.io/(The little Redis book) ▪ Logstash http://logstash.net/ ▪ Elasticsearch http://www.elasticsearch.org/ ▪ ELV Elektronik http://www.elv.de/ ▪ Busware http://busware.de/ ▪ Raspberry Pi http://www.raspberrypi.org/