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:
- enocean/iotconnector_ingress
- enocean/iotconnector_engine
- enocean/iotconnector_api
- enocean/iotconnector_integration
- Redis
- 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¶
` /
2023-09-20 10:22:21+00:00/
baa2b30`
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-14-40 | D5-00-01 | F6-02-04 |
A5-04-01 | D2-14-41 | |||
A5-04-03 | D2-14-52 | |||
A5-06-02 | D2-15-00 | |||
A5-06-03 | D2-32-00 | |||
A5-07-01 | D2-32-01 | |||
A5-07-03 | D2-32-02 | |||
A5-08-01 | D2-B1-00 | |||
A5-08-02 | ||||
A5-08-03 | ||||
A5-09-04 | ||||
A5-09-09 | ||||
A5-12-00 | ||||
A5-12-01 | ||||
A5-14-05 |
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.