Raspberry Pi and EnOcean Internet of Things Pack - Review

Table of contents

RoadTest: Raspberry Pi and EnOcean Internet of Things Pack

Author: malakai

Creation date:

Evaluation Type: Independent Products

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: null

What were the biggest problems encountered?: FHEM auto configure and STM33xU Temperature Sensor not very intuitive. Data sheet provided the answer EEP A5-02-05 = attr subType TempSensor.05 setup in FHEM config section

Detailed Review:

The Road Test kit contained:

 

EnOcean Pi - A Wireless Transceiver Module

 

image

 

 

element14 presents the EnOcean Pi board to quickly transform yourRaspberry Pi

into a gateway. EnOcean Pi connects energy harvesting wireless devices with Raspberry Pi to help automate networks and automation systems at home or in the workplace. It also comes with free software included so you can get your home automation set up quickly and easily.

 

  • Bi-directional radio and serial interface
  • Smart Ack controller functionality
  • Transparent radio channel
  • Programmable repeater functionality (1/2 Level)
  • ESP3 support (EnOcean Serial Protocol V3)

 


EnOcean Sensor Kit

 

image

 

Self-powered sensor kit ideal for enthusiasts and designers getting started with home automation. The EnOcean Sensor Kit features a set of three wireless sensors: Push Button, Reed Switch, & Temperature Sensor

.

  • Frequency: 902MHz & 315MHz
  • Wireless Sensor module with built-in antenna
  • No cables required, self-powered, maintenance free
  • Ideal Energy Harvesting Solution
  • Miniature battery-less push switch module
  • Sensors with Solar cell

 

Find the supporting page @ The specified item was not found.


The kit also contained a Raspberry Pi


Install the OS onto an SD Card


I grabbed the latest Raspbian (Debian Wheezy) image from Downloads | Raspberry Pi

 

Expanded rootfs, set locale, country localizations (In my case US), and Restarted

 

Then I added the additional script to disable rpi-serial so the Gateway could communicate with the Pi.

sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console && sudo chmod +x /usr/bin/rpi-serial-console

    

 

And disabled the console

sudo rpi-serial-console disable

    

 


Installing FHEM dependencies:

 

FHEM runs as a server on a Perl interpreter, which needs to be installed.

sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl

    


Installing FHEM

 

Using the current version of FHEM 5.5 (Future FHEM updates will need to modify the installation commands below as required)

wget http://fhem.de/fhem-5.5.deb

sudo dpkg –i fhem-5.5.deb

    

 

FHEM is installed within the folder /opt/fhem. And starts automatically on boot up.

 

You will not be able to interact with TTYAMA0 until you add each user to the Group.

 

You will encounter the following errors in the log:

2013.02.01 07:43:29 3: Can't open /dev/ttyAMA0: Permission denied

  

 

To remedy this add the users pi and fhem into the tty groups:

sudo usermod -a -G tty pi

sudo usermod -a -G tty fhem

  


Display of the FHEM Web Interface

 

Start your browser and type the following to the address bar:

http://<Raspberry_Pi_IP>:8083/fhem

 

You will get the following user interface on the screen:

 

image

Figure 5: The FHEM Web Interface

 

I found that FHEM would only recognize the EnOcean-Pi Gateway only after manually entering the Gateway into fhem.cfg and once a module had started it's learn sequence. Once done it will begin to receive radio telegrams from EnOcean devices. Additionally it generates by default device entities for each new received EnOcean ID.

 

To add the Gateway to fhem.cfg


Start the configuration file editor via the FHEM menu item “Edit files” in the left navigation window. For the EnOcean Pi add the following line at the end of fhem.cfg and save the file the server will update immediately.


 

define TCM310_0 TCM 310 /dev/ttyAMA0@57600

 



Setting up the EnOcean Temp Sensor:


image

Press the Learn Button on the Temp Sensor this will update the FHEM Server and populate an EnOcean navigation Link


image


This was the only part that gave me trouble. FHEM tries to identify the devices once the Learn Process initiates however mine set the Temp Sensor as just a plain sensor. I found the following on FHEM's site. FHEM reference


Temperature Sensors with with different ranges (EEP A5-02-01 ... A5-02-30)
[EnOcean STM 330, Eltako FTF55, Thermokon SR65 ...]

  • t/°C
  • temperature: t/°C (Sensor Range: t = <t min> °C ... <t max> °C)
  • state: t/°C
    
The attr subType must be tempSensor.01 ... tempSensor.30. This is done if the device was created by autocreate.

 

    


I assumed you would just adjust the subType to tempSensor.01 but this returned abnormal negative temperatures.


I referenced the EnOcean Equipment Profiles EEP 2.6 (PDF) I realized under 3. A5: that there are 30 EEP's (Enocean Equipment Profiles) for their Temperature Sensors and 30 ranges under FHEM's reference.

 

Going back to the EnOcean Temperature Sensor Data Sheet the configurable EEPs listed are A5-02-05, A5-10-05, A5-10-03 so the subType should be set to tempSensor.05

 

image

The subType sensor can be deleted by clicking deleteattr.


Set the correct attr subType tempSensor.05 and click the attr button.



Setup the Contact and Switch:


The Contact Sensor and Switch were very straight forward at this point click the learn button on the Contact Sensor set the Open or Closed attribute. Then click the Switch and everything from here went smoothly.



Conclusion:


Overall I am very pleased with the kit so far. I deducted points for FHEM's ability to auto configure the Temp Sensor and Gateway and because the support documentation was not very easy to piece together. All in all it took about 3 to 4 hours to get to this point including the fresh install of Raspbian on the Pi and it's setup.



  • Reading Data over SSH


You can ssh into the Pi and run the following command:

 

pi@raspberrypi ~ $ /opt/fhem/fhem.pl localhost:7072 list

 

Type list <name> for detailed info.

 

Global:

  global               (<no definition>)

 

TCM:

  TCM310_0             (opened)

 

FHEMWEB:

  WEB                  (Initialized)

  WEBphone             (Initialized)

  WEBtablet            (Initialized)

 

EnOcean:

  EnO_contact_0180DA62 (closed)

  EnO_sensor_0183180E  (-11.0)

  EnO_switch_0029E32B  (AI)

 

eventTypes:

  eventTypes           (active)

 

notify:

  initialUsbCheck      (active)

 

FileLog:

  FileLog_EnO_contact_0180DA62 (active)

  FileLog_EnO_sensor_0183180E (active)

  FileLog_EnO_switch_0029E32B (active)

  Logfile              (active)

 

autocreate:

  autocreate           (active)

 

telnet:

  telnet:127.0.0.1:48703 (Connected)

  telnetPort           (Initialized)

 

 

  • Accessing via Telnet

Telnet is where you can configure and test notifications and events see the FHEM Command Reference for more details http://fhem.de/commandref.html#intro



More Resources:

 

EnOcean Link Trial Software is also available follow this article

element14: How to use EnOcean Pi with Raspberry Pi

 

For an overview see the article

EnOcean Pi: Transforms Raspberry Pi into a Wireless Gateway

 

Also See:

's Article EnOcean Sensor Kit (ongoing) with 3D Printed housing for the Temperature Module.


(I will update with more information such as How to Telnet into the Pi to get live updates, configure log settings, and more setup information. At this point it's complete enough to get you started with the installation and configuration of the devices.)

Anonymous
  • I like your format and good directions. I may use if you do not mind. Thanks for a great review!

    Clem

  • Thanks for your feedback.

     

    I don't think really that the sensors can do much more but I am working on breadboarding the EnOcean Pi off the Pi's header and using the available pins to connect the Pi to almost anything.

     

    Another I hope to do is either get a USB Gateway from EnOcean (these work on the Pi) and look into Gateway to Gateway communication. (I know it's possible but need more components) This way the Main Server would take all the readings send communications to another Pi with a Gateway and this would free up the entire 26 Pin GPIO ports on the Pi to control anything. It would even work on a Model A since the radio is built into the USB Gateway. The Primary server would be connected to the Internet. I think it could make for a very cost effective Home Setup.

  • Very good review indeed! I would like to know if it is possible with a small modification to connect the sensors to a relay or something?

  • This is really a brilliant review (and also tutorial image ). Clap Clap image