Trends in Smart Buildings Meeting, November 2008

We met again on November 3 to discuss recent events in the field of building simulation and automation. This time we were joined by Adil Rasheed, a PhD student at LESO-PB working on the so-called “meso scale modelling of urban heat island effect.” David Daum and Antoine Guillemin were the other participants, besides yours truly.

Antoine had brought a prototype aHeart central unit, the “brains” behind Adhoco’s home automation solution. He described it to the other participants, most of which had never seen it before.

He told us also about some of the newer features, such as the possibility for installers to specify their own custom rules through the web interface. Although difficult to implement, this was actually something that the market demanded specifically and that Adhoco had to offer.


I had previously mentioned on this blog Marc Fleury’s OpenRemote project and asked the attendees if they had heard about it, but nobody had. Antoine knew about a certain Marc Fleury, working for a swiss company called Ergo3, makers of a home gateway device, but I’m pretty sure it’s not the same person.

David gave us his update on his project and explained a bit more how the IDA simulation engine worked. What I found particularly compelling was the way that IDA would adapt its simulation timesteps depending on the needs. We discussed the possibilities to use IDA for simulating the performance of Java-based controllers such as Adhoco’s, but we are not sure whether IDA can call Java code.


Speaking of processes talking to each others, we briefly reviewed the canonical four ways that two processes can talk:

  1. Through the exchange of files, whether on the same filesystem or through FTP;
  2. Through a shared database;
  3. Through some form of remote procedure call (RPC), such as RMI in Javaland;
  4. Through a messaging solution, such as JMS.

But this review still didn’t help us understand how C code could call foreign code, such as Java or Python. The reverse is relatively straightforward, see eg this answer on StackOverflow.


Thanks to everyone who participated, and see you around next time.

The project

Recently I stumbled upon a blog entry by Marc Fleury, whom I believe is one of the lead developers on the JBoss Application Server project. In this post he describes his new pet project, OpenRemote, which has of late bloomed into a full blown affair.

There’s an official website and the project seems to be buzzing with activity. From what I understood, the goal of OpenRemote is to build an open-source universal remote control for your home, including all home automation protocols known to man: X10, KNX/EIB, Lon, etc. They are talking about a reference implementation, apparently targeting the iPhone.

I think a major challenge that’s these guys will face is how to make a truly usable UI for home automation. I’ve quoted Donald Norman before and given his opinions on this thorny issue. But I truly hope the OpenRemote people will eventually solve this problem.

Monitoring a home automation PC

Lesson learned today: always monitor a machine you intend to let run without interruptions for a long time. And that includes home automation hardware.

I have described elsewhere the steps to install Debian on an embedded PC. I’m still working on this project and intend to soon install the open-source Misterhouse software on it. But first I wanted to get a feel for how the machine’s resources (mainly disk and memory) evolve over time.

So I scouted for open-source monitoring software. There’s a great comparison on Wikipedia of different monitoring software (some proprietary), but my feeling was that it essentially boiled down to Cacti and Zabbix, both of which are variations on the PHP+MySQL+Agent theme. I knew Cacti from a previous project so I installed Zabbix on my Soekris box.

Good thing that I did. As you can see on the graph below, over a period of just 10 days the available disk space had shrunk by almost 2 Gb. Now this sort of thing happens almost always somewhere under /var, and indeed, it was caused by MySQL’s habit of logging every single data-altering statement in so-called bin files under /var/log/mysql.

Disk space evolution after two weeks

After commenting out the relevant lines in /etc/mysql/my.cnf the problem went away, but I had to restart the Zabbix server (without loss of data of course). And I’m sure the reader will notice the irony of MySQL being the cause of this decrease of disk space, when MySQL was installed together with Zabbix in order to monitor the system for such problems. Oh well.