A few weeks ago I bought the home automation system HomeMatic. Up until now all the systems I knew either required cables or did not work properly, so I waited until radio controlled devices were on the market. I decided to buy HomeMatic, because the devices are not too expensive and they communicate bidirectional. The communication protocol is called “BidCoS” – short for “Bidirectional Communication Service”. Like this you always know, if a packet was received or not.
And I must say, the HomeMatic devices work perfectly! I didn’t buy the official HomeMatic central but only the LAN configuration tool (which can be used to control the devices, too) and as controlling software I’m currently using IP-Symcon.
Most of the things I want to do, I can do with this combination. But there are a few things, I don’t like. First of all it is impossible to control the valve state of the valve drives directly. It is only possible to send the desired temperature to the room thermostat (or to the valve drives with the HM-CC-RT-DN). Like this it is really hard to implement heating control algorithms. The second thing I don’t like: I have to pair remote contols and remote switches directly to actors for the transmitted signals to be encrypted. That is really annoying. I want the remote control to send a signal to IP-Symcon and decide there, what to do. If I only want to switch on or off the alarm system, there is no physical actor to switch – only a variable to set. And especially for remote controlling the alarm system encryption is kind of a nice feature.
That is why I decided to write my own control software. I started by analyzing the packets sent and received by a valve drive with a logic analyzer on the Serial Peripheral Interface Bus. Later on I bought a CUL and step by step analyzed the other devices with help from the fhem source code and the XML files which come with the software for the LAN configuration tool (I opened a Wiki for my findings: http://sathya.de/HMCWiki).
Until now my control software can’t do much. It took some time to write the underlying control code and now I’m starting to add devices. I’m already able to fully simulate a valve drive. There is no practical use to that but it helped me, understanding the BidCoS protocol.
Here a screenshot of my virtual valve drive in the “HomeMatic Konfigurator”:
And a screenshot of the pairing process in my control software:
I hope, soon I can control the valve drives directly. I will keep you up to date.