Python Interface daemon for CUL RF-Transceiver to MQTT

FloKra eb5e7a0816 add setup instructions to README.md 10 months ago
CHANGELOG.txt 992f21282c 2023-11-30: 1 year ago
CONFIG-EXAMPLE.txt eb03e5b8bb 2020-12-09: 4 years ago
CUL_receive_modes.txt 88f0618e55 add CUL_receive_modes.txt 2 years ago
HomeAssistant_CUL2MQTT.yaml 593d90fe62 2023-08-28: 1 year ago
README.md eb5e7a0816 add setup instructions to README.md 10 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 3 years ago
cul2mqtt.py 187be4a8af changed time format for lastReceived MQTT output 1 year ago
cul2mqtt.service fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 3 years ago
cul2mqtt_devices_example.yml fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 3 years ago
cul2mqtt_devices_example_value.yml 1ba93354f1 - add support for DIY DS18B20 sensor sending via 433MHz cheap transmitter 1 year ago
cul2mqtt_disable_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 3 years ago
cul2mqtt_enable_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 3 years ago
cul2mqtt_example.ini 593d90fe62 2023-08-28: 1 year ago
cul2mqtt_install_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 3 years ago
cul2mqtt_start_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 3 years ago
cul2mqtt_stop_service.sh fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 3 years ago
cul_seriallog.py fc4e79ce7e structure changed and example config files renamed to allow update with git pull without overwriting config 3 years 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

Prerequisits

  • Python 3
  • Python 3 modules:
    • pyyaml
    • pyserial
    • paho-mqtt

Installation

(i.E. on Raspberry Pi as user "pi" in folder /home/pi)

git clone https://git.flokra.at/Flo/CUL2MQTT.git	

apt install python3

On Debian 12 "Bookworm":

apt install python3-yaml python3-serial python3-paho-mqtt

On older Debian releases:

apt install python3-pip
pip3 install pyyaml pyserial paho-mqtt