EnOcean Gateway

Jump to: navigation, search
EnOcean Gateway
EnOcean Gateway Case close.jpg
EnOcean Gateway Case open.jpg
Developer Matthias F.
Status Version 0.9 beta
Microcontroller/Board Cortex M0+ SAMD (Arduino Zero)
KNX connectivity KNX Transceiver on Board
EnOcean Module EnOceanPI
Needed libraries KONNEKTING Lib [1]
Wire (part of Standard Arduino)




GiitHub Source Code

Software Components

"Operating System", maps together all components, here the set of devices is configured.
Derived from the Konnekting configuration XML this header-file defines the available-configuration elements
Basic input/output, to access the EEPROM storage that stores the configuration.
EnOcean.h / EnOcean.cpp
Core components, that are shared among the device-modules.
Empty EnOcean device template, can be used as a source for copying, to create new Device modules for this Gateway. Feel free to join the development!
Device Module to forward the actuators states from EnOcean to KNX. To allow switching of the actuator from KNX it is neccessary to use a sender module.
Device Module that simulates a simple single EnOcean push-button. Can be used to switch EnOcean actuators. This module can be used independently from any actuator, it is working fire and forget.
Device Module that receives commands from EnOcean push-button devices with up to four rockers.

Software structure

Each Device Module defines the Konnekting representation of a specific device-type. E.g. EnOceanDevice_RPS_simple.h is a module that reflects a standard push-button switches such as Eltako FT-55. If you have two switches, so two FT-55, you need two instances of that Device Module loaded in your Sketch.

Within the "operating system" the devices are registered as objects and within the setup-routine configured. The order of appearance within the setup-routine matters.

How to build the software

Use Arduino with the libraries Wire and KonnektingDevice.

User Documentation

  • Get the sketch from the GitHub Source. It comes with an example setup, that allows you to
  • If needed change the device-configuration, e.g. if you need more or different Device Modules.
    • Build the XML File with an XML-Editor of your choice
      • Add the Device Module XML snippets of your choice
      • Take good care of the order of the Device Modules within your XML-File
    • Use the KONNEKTING-CodeCreator to create your h-File, matching the XML-File
    • Alter the KonnektingEnocean_V1.0.ino file to match the XML-File.
  • Upload the code to your Hardware. Refer HowToUploadArduinoCode if you are struggling with Uploading. Here the device only needs to be connected to your PC via USB, no KNX connection is needed.
  • Configure the Gateway, using the Konnekting Suite and the XML-File, refer each Device Modules documentation on how to set the configuration. Some EnOcean device-ids might be needed here, so hold them ready.
  • Upload the configuration to the device using the Suite. Now no USB connection is needed but your Hardware needs to be connected KNX instead.
  • Now you don't need your PC anymore. Teach in all relevant EnOcean devices. Follow the instructions on each Device Modules page to understand the way each device-type is configured.

Developer Documentation

Refer this on how to build your own EnOcean Device Module

Build It


KNX User Forum Thread

EnOcean Equipment Profiles