Python Interface daemon for CUL RF-Transceiver to MQTT

FloKra 0dcc41236a added support for some IT-like Remote Controls ("Brennenstuhl"), 6 months ago
CHANGELOG.txt f7ef16dc08 - added support for using Tasmota ESP8266 firmware as a Serial Bridge for building an MQTT-CUL rather than my own outdated, instable and never published MQTT-Serial-firmware 1 year ago
CONFIG-EXAMPLE.txt eb03e5b8bb 2020-12-09: 1 year ago
README.md c58606c09f BUGFIX: in def decodeInterTechnoRX(rx_code): wrong return code when unknown/invalid IT RX-code was detected 6 months ago
Tasmota_Serial-MQTT-Bridge_for_MQTT-CUL.md f7ef16dc08 - added support for using Tasmota ESP8266 firmware as a Serial Bridge for building an MQTT-CUL rather than my own outdated, instable and never published MQTT-Serial-firmware 1 year ago
cul2mqtt.py 0dcc41236a added support for some IT-like Remote Controls ("Brennenstuhl"), 6 months ago
cul2mqtt.service fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 6 months ago
cul2mqtt_devices_example.yml fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 6 months ago
cul2mqtt_disable_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 6 months ago
cul2mqtt_enable_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 6 months ago
cul2mqtt_example.ini fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 6 months ago
cul2mqtt_install_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 6 months ago
cul2mqtt_start_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 6 months ago
cul2mqtt_stop_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 6 months ago
cul_seriallog.py fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 6 months ago

README.md

CUL2MQTT

Connector for CUL RF-Transceiver to MQTT written in Python.

Designed as a bridge between more modern MQTT, HomeAssistant and ESP8266/Tasmota based home automation solutions and old fashioned 433 MHz RF remotes (and also some RF relay plugs). I developed this as I moved to Home Assistant, MQTT and Node-RED for all of my home automation tasks, and still wanted to use these tiny, handy and cheap RF remotes, although none of their counterparts (RF plugs) were still used. Apart from that, there is a number of cheap RF controlled ceiling fan controllers available that can be integrated with this solution.

Features:

  • integrate 433MHz RF remote controls in MQTT based home automation systems like Home Assistant and Node-RED
  • control RF remote plugs and other devices such as ceiling fan controllers with MQTT messages while getting state updates whenever the original remote is used
  • full integration of InterTechno fixed code protocol (receiving, sending and automatic TX code generation supported)
  • supports InterTechno compatible learning code protocols, i.E. EV1527 based remotes (receiving, sending and automatic TX code generation supported)
  • basic support for other 433 MHz RF remotes - including many self learning models (for receiving only)
  • developed for use with CUL transceivers with firmware a-culfw
  • supports 2 CUL transceivers concurrently - one connected directly via UART, and another one via MQTT-UART-Bridge using an ESP8266 device running the great Tasmota firmware, in order to improve site coverage and reliability, where preferred TX interface can be defined per device More info on Tasmota as an MQTT-Serial-Bridge: Tasmota Serial-MQTT-Bridge for MQTT-CUL
  • intended for running on a Raspberry Pi or similar
  • devices configuration using YAML file, base configuration using INI file

Installation:

(on Raspberry Pi as "pi" in folder /home/pi)

git clone URL

Prerequisits:

  • Python 3
  • Python 3 modules (install via pip3):
    • pyyaml
    • pyserial
    • paho-mqtt