/homeautomation

Harald plays with home automation services

Primary LanguageClojure

Build Status Dependencies Status Coverage Status Dependency Status

homeautomation

Powered by Luminus version "2.9.12.06".

This is a place for me to play with home automation technologies using Clojure. There are many exciting technologies floating around right now; MQTT, homA, openHAB, Node-Red, Raspberry Pis, and so many more.

Right now I'm experimenting with mobile-based presence. On my home network is an ELK stack collecting log data, including the logs from my OpenWRT-based network access point. The AP logs contain status updates for WiFi clients. I use logstash to extract relevant information from those log messages and publish them to an MQTT topic.

This application then receives those status updates, tracks device presence, and turns device presence into user presence events, also distributed via MQTT. Back in the network, there is a process that receives events over MQTT and publishes them to my phone using Instapush and/or Pushbullet.

Prerequisites

You will need Leiningen 2.0 or above installed.

Running

To start a web server for the application, run:

lein run

License

Copyright © 2015-2016 C. Harald Koch.

Distributed under the MIT License.