enocean logo

EnOcean technology

I have been wanting to get into home automation for a long time. The last few years I have read a lot of information about all the different technologies.

My first interests were triggered by the X10 following of which you can find a lot of information on the internet. This technology has many drawbacks, and I was hesitant to start using it. I researched on many others like S10, Zwave and ZigBee. Some are not widely used in EU only in the US. Some standards have very poor backing by manufacturers.

I think ZigBee could be a very good route, but I have been unable to find good local support here in Holland.

I finally stumbled across EIB which seemed to be a fast and professional solution. But I hesitated and found the components too expensive and complicated to install in my home.

Last year I made another try and it seemed wise to start small and simple. I bought some Klik Aan Klik Uit also called kaku modules from the Dutch Gamma. In order for me to communicate with the modules I also bought a module from rfxcom.

This module enables me to send commands on the network which are then transmitted through RF signals to the kaku devices.

All seemed well until I started programming for the kaku modules. They are awfull and I now know why they are cheap, they do not work very well and feel very brittle. The protocol is mostly undocumented but with the help from the people at rfxcom I was able to receive and send commands.

I found however that the devices and the remote controls are very unreliable. When programming the modules I noticed that the reliability is addressed by sending all the commands four times. This is of course a ridiculous strategy especially when the computer interface repeats all messages.

And my interest in the project soon faded…..

Later on I read of a new technology called EnOcean. And I must say it does seem to be very impressive, although programming the modules does present me with a few hurdles to take.

But what gets me excited:

  • sensors and switches can be without wires, battery or power. (you can mount a switch on a window!)
  • signal strength is limited but repeaters are possible (not quite the mesh network I was hoping for but good enough)
  • many european manufacturers have jumped on the band wagon
  • some modules also work without N connection (meaning easy to retrofit when electrical wiring is traditional)

But there are current drawbacks:

  • acknowledge not yet implemented but planned for next release (including bidirectional messaging)
  • documentation very poorly written
  • very little resources on the internet ( the website http://www.tdc.co.uk is your best bet )
  • devices are expensive
enocean switch IMG_3897 enocean actor IMG_3904
Getting some components

On the EnOcean site there were many components to choose from. But i found the following article on the Making Machines Talk website.

It was about the TCM 120 radio tranceiver for EnOcean. Click here for the datasheet.

And I found another module to connect this using TTL signals to ethernet:

Sollae Systems CSE-M73

I could use both to connect using network protocol. The Sollae board emulates a serial connection using socket communication. Perfect for the Job.

Both parts were easily bought in Holland from the www.antratek.nl website. I also purchased a 5v 1Ampere power source. At the local electronics store I found a simple case and some wiring to use with shrink tubing to make a good install.

The wiring schematics were very simple.

The Sollae TTL signals TXD connected to TCM 120  Pin 7 SER_RX and the TTL signal RXD to TCM 120 pin 8 SER_TX. This creates a crossover serial connection between the two.

And I connected the power source to both the Sollae, I used the RS232 connection where pin 1 is 5v and pin 4 is GND. And on the TCM 120 Pin 15 is 5v and Pin 16 is GND.

Then I measured out the Sollae board to fit nicely in an electronics box. I filed away the opening for power and ethernet connection. I glued some nuts to the base of the box and used small bolts to screw the Sollae board to the base. The TCM 120 did not have easy connection points. I decided to glue it to the bottom of the case. I made a hole for the antenna and presto.

Some pictures:

IMG_5271 IMG_5267
IMG_5262 IMG_5282
IMG_5279 IMG_5278

Testing the hardware:

And now we need to configure the Sollae module in order for it to communicate properly.

If I remember correctly, when you connect the module for the first time, it gets a fixed IP address. You need to set your computer to the same subnet in order to communicate properly. I quickly setup to get an IP address from DHCP to that the device works correctly in my network.

Personally I am an avid Mac user. This presented me with a little problem. The eZmanager tools from Sollae need windows to run. I have a VirtualBox image with Windows XP for this occasion. I tried many times but the eZmanager told me the connection was not made. Very frustrating. I have one Windows 7 machine running as a server in my network so I decided to run the eZmanager tool there. And to my great surprise it worked immediately…

Ok so how to setup the module. There is the option to use a “Multi Mode”. This enables a maximum of three simultanious connections to the module. I selected this option:



And for the serial connection you need to enable TTL, and set Baudrate to 9600, Parity to NONE, Data Bits to 8, Stop Bit to 1 bit and Flow to NONE. The local Port is important, you need that for a connection:



And now we are almost ready to do some work!!

We need some devices to control. For this I decided to purchase a dimming device for lighting, something which can be installed out of sight, and a remote control for switching light and general testing purposes, and a window sensor.

I needed a dimming device which can operate in a house with traditional wiring. This means only Live and switching wire and not always a Neutral wire.

What I needed I found with Eltako. They have the FUD61NP-230V device. It can work with certain lamps without N connection.


I ordered the Eltako modules from the shop Batterielos because I could not easily find a Dutch distributor.

Eventually I ordered the following components:

  1. Eltako Wireless actuator universal dimmer switch FUD61NP-230V
  2. Eltako FTK Wireless Window/Door contact
  3. Eltako FMH4 Wireless mini hand-held 4 Kanal 43x43mm, 16mm high

And finally I am ready to start some programming!

enocean window IMG_3900


Documentation and Tinkering

For the reception of EnOcean messages I wrote a new handler last evening. Programming the identification of telegrams gets me excited for the technology but also very frustrated at the awful documentation.
At first looks the documentation seems elaborate. However when you try and implement programming code based on the public pdf documents things quickly become very grim.
I mainly used the following two documents:
I cannot help but change my accent when I read the documentation. I feel it has been written by German Coal Miners. Sentences are very much in telegram style, there are lots of writing errors and the documents shows there is no maturity in the technology.
Sometimes I found different versions of documents where earlier used definitions are changed. For example: I must say I like the new definition of EEP, formerly just know as profile. EEP meaning ORG – FUNC – TYPE.
It feels like it gives me structure to hang on to later on. But then things get more hairy. What does ORG stand for? I must presume it means ORIGINATOR, or ORGANISATION. It is further described to be one of the following three Message types: RPS, 1BS and 4BS.
Ok but if ORG actually means message type what is the TYPE part in EEP? And why are there other message types defined in the field H_SEQ. And why is the H_SEQ field not a field but just three bits of a field that has no Name. Because of power restrictions I understand very well that a telegram is very limited. But that only emphasises that we need really good documentation on the messages.
And why do hexadecimal numbers get prefixed with “0x” but sometimes with “0h” ? I have not before seen the “0h” prefix, perhaps I am missing out on something here.
But the most terrible part of the documentation is the complete lack of the subject protocol. How do I communicate with a device through a transmitter of transceiver. I need examples of what to send and what to expect as an answer. Provide reference examples on how to communicate with certain devices.
On these webpages I will try and describe my findings on protocol for the devices I have. Hope someone reads this and it will help them out!

Read more…

EnOcean programming in C#
EnOcean receive
EnOcean send