Skip to content

EnOcean IoT Connector

The EnOcean IoT Connector (IoTC) allows for the easy processing of the super-optimized EnOcean radio telegrams. The IoTC is distributed as a group of Docker containers. All containers are hosted in the Docker Hub.

The IoTC is composed of the following containers:

  1. enocean/iotconnector_ingress
  2. enocean/iotconnector_engine
  3. enocean/iotconnector_api
  4. enocean/iotconnector_integration
  5. Redis
  6. NGINX

Deploying the IoTC is simple using docker compose. For convenience, docker-compose.yml files are provided to easily deploy locally (i.e. with Docker) or to Azure Containers Instances (Microsoft Azure cloud account and subscription required).

The IoTC can either be deployed in:

  • a public cloud (eg. Azure, AWS)
  • private cloud
  • on-premise

Documentation Version/Tag/SHA

` / 2024-01-22 09:39:20+01:00/f1c3286`

Features

Ingress

The ingress controls all incoming traffic from ingress gateways.

  • Ingress has a secure web socket support for communication with APs.
  • Ingress removes duplicates of data arriving from one sensor via several APs.
  • Ingress processes the ESP3 Protocol. Only Packet Type 01 & 10 are supported currently.
  • The IoTC currently supports Aruba Access Points as ingress gateways. This list is expanding.

Engine

The IoTC engine completely supports the EnOcean radio protocol standards as defined by the EnOcean Alliance. Additionally, engine evaluates sensor health information, as well as the overall health of EIoTC solution:

  • addressing encapsulation
  • chaining
  • decryption & validation of secure messages
  • EEP processing
  • information included in signal telegram
  • telegram statistics
  • health check status

See the Output format description for more details on what the engine can provide.

The following EEPs are supported:

A5 D1 D2 D5 F6
A5-02-05 D1-07-10 D2-01-0B D5-00-01 F6-02-04
A5-04-01 D1-07-11 D2-01-0F
A5-04-03 D1-09-01 D2-14-40
A5-06-02 D2-14-41
A5-06-03 D2-14-52
A5-07-01 D2-15-00
A5-07-03 D2-32-00
A5-08-01 D2-32-01
A5-08-02 D2-32-02
A5-08-03 D2-B1-00
A5-09-04
A5-09-09
A5-10-03
A5-12-00
A5-12-01
A5-14-05
A5-20-01
A5-20-06

A complete description and a list of all existing EEPs can be found here: EEP Viewer. If you are missing an EEP for your application please drop us an email on support-at-enocean-dot-com.

API

The full API Specification is available here or via the web Interface, once the IoTC has been deployed.

The most important features are:

  • onboard / update / remove enocean devices
  • get most recent data and signal telegrams of a device
  • telegram statistic (e.g. count, last seen) for a device and per gateway
  • list of connected ingress gateways
  • persistent storage of onboarded device - if you specified a volume storage at deployment
  • EIoTC health check status

The API container exposes a Web UI for your convenience to see the full documentation and to have a simple client interaction.

Integration

Integration serves as the interface between EIoTC and external systems such as various cloud services that let you build your IoT solution. Currently, we support following integration methods: - MQTT and MQTTS (IoTC acts as a client to an external MQTT broker) - Azure IoT Hub - Azure IoT Central

The output data format is JSON, in accordance to the key-value pairs defined by the EnOcean Alliance IP Specification.

NGINX

NGINX is used as a reverse proxy to secure IoTC. It requires valid security certificates for operation.

A Dockerfile / azure.dockerfile and corresponding dependencies (start.sh and nginx.conf) are provided at /deploy/nginx/ in case it needs to be rebuilt or customized.

Redis

Redis is used as a message broker & cache for communication between different containers.

License Agreement and Data Privacy

Please see the License agreement here.

Please see the Data privacy agreement here.

Disclaimer

The information provided in this document describes typical features of the EnOcean software products and should not be misunderstood as specified operating characteristics. No liability is assumed for errors and / or omissions. We reserve the right to make changes without prior notice.