explaingit

pico-uart-decode/rovsun-tcl-esphome

Analysis updated 2026-05-18

0PythonAudience · developerComplexity · 5/5Setup · hard

TLDR

An ESPHome component that replaces a ROVSUN mini-split's Wi-Fi module for local, Home Assistant based climate control using a reverse engineered protocol.

Mindmap

mindmap
  root((repo))
    What it does
      Decodes appliance UART protocol
      Controls climate locally
      Fails safe on bad data
    Tech stack
      Python
      C++
      ESPHome
      ESP8266
    Use cases
      Replace OEM Wi-Fi module
      Home Assistant integration
      Poll only verification
    Audience
      Home automation hobbyists
    Setup
      Mains appliance rewiring
      One verified hardware combo
      Safety warning first

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace a ROVSUN mini-split's Wi-Fi module with a local ESPHome controller for Home Assistant integration.

USE CASE 2

Use poll-only mode to verify UART wiring and status decoding before enabling active climate control.

USE CASE 3

Reverse engineer or extend the captured TCL protocol codec using the sanitized test fixtures.

What is it built with?

PythonC++ESPHomeESP8266

How does it compare?

pico-uart-decode/rovsun-tcl-esphome0xallam/my-recipe0xhassaan/nn-from-scratch
Stars00
LanguagePythonPythonPython
Last pushed2022-11-22
MaintenanceDormant
Setup difficultyhardmoderatemoderate
Complexity5/52/54/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires opening a mains-powered appliance to wire an ESP8266 board to its UART bus, verified only on one specific ROVSUN + SLWF-01PRO hardware combination.

In plain English

rovsun-tcl-esphome is a project for people who want to control a ROVSUN mini-split air conditioner or heat pump locally, without relying on the manufacturer's Wi-Fi app or cloud service. It replaces the original Wi-Fi module inside the unit with an ESPHome based board, specifically the SMLIGHT SLWF-01PRO, so the appliance can be controlled directly through Home Assistant instead. The project's core is a decoder for the serial communication protocol the appliance uses internally, which the maintainer figured out by capturing real signals from the wire between the appliance and its original module using an oscilloscope. That decoded protocol handles things like power, cooling, heating, drying, and fan modes, fan speed settings, target temperature between 16 and 31.5 degrees Celsius, and airflow direction settings. Only one specific hardware setup, the SLWF-01PRO version 2.1 board wired to a particular ROVSUN unit, has actually been tested on real hardware. Other parts of the code are based on the captured protocol and tested in software, but not confirmed on physical equipment, so the README warns strongly against assuming another similar air conditioner model uses the same wiring or protocol details. Setup starts in a safe, read only mode called poll-only, which listens to the appliance's status replies without sending any control commands, letting you confirm the wiring and communication work before enabling actual control. Only after that verification step do you switch to the full control profile. The system is designed to fail safely: it will not send commands unless it has a recent, valid status reading from the appliance, and it refuses to guess when it receives a signal it does not fully recognize. Because this involves opening and rewiring a mains powered appliance, the README includes a clear safety warning about disconnecting power and verifying the unit is de-energized before any work begins. The project requires Python, a C++ compiler, and ESPHome to build and test, and includes an automated verification suite that checks the code against real captured data.

Copy-paste prompts

Prompt 1
Walk me through flashing the poll-only ESPHome profile for my SMLIGHT SLWF-01PRO board before enabling control.
Prompt 2
Explain the safety warnings in this project before I open my mains-powered air conditioner to wire a new module.
Prompt 3
Help me run scripts/verify.sh to check this project's Python and C++ protocol code against the captured fixtures.

Frequently asked questions

What is rovsun-tcl-esphome?

An ESPHome component that replaces a ROVSUN mini-split's Wi-Fi module for local, Home Assistant based climate control using a reverse engineered protocol.

What language is rovsun-tcl-esphome written in?

Mainly Python. The stack also includes Python, C++, ESPHome.

How hard is rovsun-tcl-esphome to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is rovsun-tcl-esphome for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.