NOTE: This is an archive of my old blog. Go to http://gonium.net for my current website.

FluksoBot

The FluksoBot is a friendly little bot that analyzes my energy consumption and uses Twitter to express his thoughts. This little bot is an experiment, both technical and social in nature. I want to show that my life can be reconstructed based on my energy readings.

  1. From a technical point of view I want to keep things as simple as possible. While it seems reasonable to do a wavelet analysis and a subsequent clustering of the energy readings I do not use these techniques. A simple three-state statemachine is what makes the Fluksobot tweet.
  2. The main focus of my little experiment is whether I change my behaviour if I know that anyone can observe my behavior. Or, am I at least aware that someone can deduce what I am doing?

Actually, on day three after the FluksoBot went online, a friend of mine reconstructed when I got up in the morning. This felt really strange. It adds to my feeling that smart meter readings are a serious privacy threat. After all, your utility provider knows this information.

Technical Details

The Flukso is a little WLAN router that tracks my energy consumption. I wrote about it here. I export the data from the Flukso and store them in an SQLite database which sits on my home server. Then, a cronjob starts the implementation of FluksoBot. Currently the bot has three states: LOW, MEDIUM and HIGH, which describe my current energy consumption. Each time the bot wakes up it reads the new energy readings from the database and decides whether they represent a low, medium or high energy consumption. As the state machine transitions occur a new message is sent to twitter. The bot uses very little knowledge – in the configuration file I just specify the Watts that separate the low vs. medium and medium vs. high states.

The bot is written in Ruby and depends on the sqlite3, twitter and statemachine gems. The sourcecode is licensed under the GPLv2 and can be found here:

http://github.com/gonium/fluksobot/