Python Interface daemon for CUL RF-Transceiver to MQTT

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

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