/enocean2mqtt

Send enocean packet to MQTT

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Python EnOcean MQTT gateway

A Python EnOcean gateway that exchange enocean message trough MQTT. Allow to send formatted enocean frame to MQTT and send command to enocean equipment.

Configuration should be set into two files (gateway.conf and equipments.conf) to separate each logic. See configuration sample to see available parameters.

Teach-in can be enabled/disabled by sending "ON"/"OFF" to <gateway_topic>/learn Send enocean command by publishing MQTT json command to <gateway_topic>/<equipment_name>/req or <gateway_topic>/req with <equipment_name> in the json payload. Command payload must be in format {"<shortcut>": <value>} ex: {"CMD": 8, "PM": 2}

Based on work of kipe, embyt, mak-gitdev.

Modifications

  • Remove Beautifulsoup4 dependencies (use ElementTree) lxml should work without effort
  • Defined EEP profiles class to avoid parsing xml on fly
  • Added some EEP
  • Support >= 3.8 (remove OrderedDict, use f-string, use PEP 572)
  • Replaced os module by pathlib
  • Added descriptions to metrics
  • Compatibility with paho-mqtt>=2.0