Home automation with Perl (FHEM).
I've used a Raspberry Pi with 868MHz technology to gather data about my home, and view/analyse this with Logstash, Elasticsearch and 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