HVAC & Heat Pumps (Devices, IoT & Hardware): open-source projects that exist because someone reverse engineered a closed product, sorted by GitHub stars.
Auto-configures and controls Midea M-Smart devices over the LAN
ESPHome firmware for Mitsubishi heat pumps using the CN105 connector
ESP32 module that controls Daikin air conditioners through their serial port
ESPHome climate component for Mitsubishi heat pumps via the CN105 serial port
Home Assistant climate component for ACs that use the Gree protocol
Monitors and controls Daikin/Rotex Altherma heat pumps via the 2-wire P1/P2 thermostat bus
Midea air conditioners and dehumidifiers controlled over the reverse-engineered Midea LAN protocol
Native HomeKit IR remote for air conditioners on ESP8266
Arduino library to control split-unit heat pumps over decoded IR protocols
Universal Wi-Fi dongle for UART-controlled appliances such as Midea air conditioners
Xiaomi/Aqara Air Conditioning Companion controlled locally over the miIO protocol
ESPHome package for Rheem water heaters and HVAC over the EcoNet bus
Reads and writes Mitsubishi Heavy Industries AC data via the reverse-engineered SPI protocol
Home Assistant component for Vaillant heat pumps and boilers via myVAILLANT
Home Assistant platform for the Drayton Wiser heating system's local API
Fully local reverse-engineered server for LG ThinQ devices
Bosch, Buderus and Nefit thermostats over their reverse-engineered XMPP/HTTP gateway protocols
Unofficial API documentation and web UI for Daikin Emura air conditioners
Mitsubishi WF-RAC Wi-Fi air conditioners via the module's undocumented local HTTP API
Home Assistant integration for Ariston NET remotethermo
Cloud control of Daikin devices supported by the Daikin Residential Controller app
Decoded IR protocols for Mitsubishi and Panasonic HVAC units
Homebridge plugin for the Xiaomi AC Partner over the miIO protocol
Open control of Carrier/Bryant thermostats by intercepting their cloud traffic
Homebridge plugin for LG ThinQ devices via the ThinQ platform
Scripts for controlling air conditioners with HiSense Wi-Fi modules
Local access to Viessmann E3 controllers (Vitocal, Vitodens) via CAN or DoIP
Toshiba air conditioner integration for Home Assistant
Community Tado integration for Home Assistant with local HomeKit control and multi-home support
Luxtronik heat-pump controllers (Alpha Innotec, Novelan) over their local socket protocol
Python library for the Viessmann ViCare API
Reverse engineering of the Daikin AC infrared remote protocol
Home Assistant component for Daikin DS-AIR systems
Python client for Midea air conditioners and dehumidifiers
Connects Fujitsu Airstage air conditioners to Home Assistant
Tado control via the unofficial Tado API plus HomeKit, with hot water, AC and valve data
Arduino Wi-Fi/MQTT controller for Mitsubishi Heavy Industries ACs via the CNS connector
TECH heating controllers via the unofficial eModul cloud API
ESP8266/ESP32 library for Viessmann boilers over the Optolink interface
Home Assistant integration for the Mitsubishi MELCloud Home API
Mitsubishi mini-split control via the unofficial Kumo Cloud API and the units' local API
Homebridge plugin for tado thermostats via the unofficial tado API
Sinopé thermostats and devices via the unofficial Neviweb130 cloud API
Daemon for controlling and logging Viessmann heating devices over Optolink
Node.js control of Daikin air conditioners over their local HTTP API
Home Assistant plugin for the Xiaomi AC Partner over miIO
ESPHome firmware for Daikin BRY88AA151K air quality sensors
Home Assistant integration for Panasonic Aquarea heat pumps via Aquarea Smart Cloud
Python library and CLI for eQ-3 Bluetooth thermostats
Local Fujitsu AC integration for Home Assistant replacing FGLair
Carrier Infinity thermostats via the unofficial Carrier cloud API used by the app
Homebridge plugin for Daikin air conditioners over the local API
ESPHome component for Daikin mini-splits via the S21 serial port
Local implementation of the LG ThinQ server for cloud-free control
Home Assistant integration for Emerson Sensi thermostats
Library for controlling Midea appliances via their UART protocol
Node.js library to connect to and control Daikin cloud devices
API for the Daikin One+ thermostat cloud
Home Assistant custom component for Daikin Altherma heat pumps
Protocol description of Samsung air conditioner serial bus
Home Assistant integration for Rinnai Control-R water heaters
Python library for the API behind the myVAILLANT app
Python client for the Honeywell Evohome web service
Python library for communicating with Nibe heat pumps over Modbus/NibeGW
Home Assistant custom component for Vaillant vSMART
Pax Calima/Levante bathroom fans controlled over their reverse-engineered BLE protocol
Library for communicating with Midea appliances via the Midea cloud
Home Assistant component for Navien water heaters using NaviLink
ESPHome component for TCL air conditioners over the indoor unit UART protocol
Micronova pellet stoves via the Agua IOT app API, with an experimental local BLE mode
Splitter for sharing a Viessmann Optolink connection
Home Assistant integration for the Daikin BRC1H (Madoka) Bluetooth thermostat
Home Assistant integration for Haier Evo air conditioners
Controls Daikin air conditioners via Matter by bridging the local API
Arduino library that sends Daikin air conditioner IR commands
Python package for controlling Gree-based mini-split systems over the local protocol
MQTT bridge for Gree and other EWPE Smart air conditioners
Cielo smart AC controllers via the Cielo Home app's private API
Open replacement dongle for Midea air conditioners using the Midea UART protocol
Reverse-engineered client for LG ThinQ v2 IoT devices
Homebridge plugin for Midea air conditioners via the Midea cloud protocol
Prometheus exporter for Tado smart heating via the undocumented Tado API
Homebridge plugin for Mitsubishi air conditioners and heat pumps via MELCloud
Local control of Mitsubishi Heavy Industries air conditioners via their reverse-engineered SPI protocol
Home Assistant component for Mitsubishi air conditioners over the local Wi-Fi adapter protocol
Homebridge plugin for Panasonic Comfort Cloud air conditioners
Go port of HeishaMon that runs directly on the Panasonic CZ-TAW1 module
Home Assistant integration for Daikin ACs on newer firmware using the local API
Home Assistant integration for Daikin One HVAC systems and thermostats
Navien water heater wire protocol for NaviLink and attached devices
Node.js client for the undocumented Tado API
Decoder for the Toshiba air conditioner AB-bus protocol
Fujitsu FGLair heat pumps via the unofficial Ayla-based FGLair cloud API
AquaTemp pool heat pumps via the unofficial AquaTemp cloud protocol
Arduino controller for Daikin Altherma heat pumps over the P1/P2 bus
Genvex/Nilan ventilation via the reverse-engineered GenvexNabto local protocol
Homebridge plugin for Midea devices over their local LAN protocol
Schematic and PCB for a Midea air conditioner mini dongle using the Midea UART protocol
ESP32 firmware interfacing a Rinnai control panel to Home Assistant
Controls Midea air conditioners through the eWeLink cloud
Thermia heat pumps via the unofficial Thermia Online app API
Open replacement dongle design for Midea-compatible climate devices
Python interface to Vaillant multiMATIC
Python library for Mitsubishi Kumo Cloud devices via their local API
Decodes and sends Midea AC serial commands
Plum ecoMAX boiler controllers over their reverse-engineered RS-485 protocol (PyPlumIO)
ESPHome control of Chinese diesel heaters over their serial bus
Frisquet boilers via the reverse-engineered Frisquet Connect app API
Rinnai Touch Wi-Fi integration for Rinnai and Brivis systems
Floureon/Beok Broadlink-based thermostats over the reverse-engineered Broadlink protocol
ESP8266 Vaillant boiler eBUS monitor
ESPHome monitoring and control of Midea-like air conditioners
Homebridge plugin for Gree air conditioners over their local network protocol
Homebridge plugin for Mitsubishi Kumo Cloud devices
Hardware controller for the CN105 connector on Mitsubishi heat pumps
ESPHome component for LG air conditioners over the LGAP RS485 protocol
ESPHome library for controlling Vevor diesel heaters over their reverse-engineered protocol
Controls Mitsubishi heat pumps over the reverse-engineered CN105 serial port via MQTT
Python interface to the Rheem EcoNet API
Python interface for IntesisHome and airconwithme devices
Decoder for MELCloud data
Python controller for Toshiba Home AC Control cloud
Client controlling Gree and compatible smart air conditioners over the local protocol
ESPHome component for Daikin Altherma heat pumps via the reverse-engineered X10A serial port
Lennox iComfort and AirEase thermostats via the unofficial iComfort API
MQTT layer for the Panasonic Aquarea Smart Cloud
Controls Micronova-powered pellet stoves over MQTT via their serial protocol
Python client for Honeywell Total Connect Comfort thermostats
Community-written OpenAPI spec documenting the undocumented my.tado.com API
ESPHome component for Samsung heat pumps over the reverse-engineered NASA RS485 protocol
Arduino library for Toshiba/Carrier HVAC systems over the serial connector
ESPHome firmware for VRF central air conditioning gateways (DEMRY, PTXZN, Zhonghong) over serial
Toshiba air conditioners via the unofficial Toshiba Home AC Control cloud API
Python library for Nexia, Trane and American Standard thermostats
Duepi EVO pellet stoves via a reverse-engineered serial protocol bridged over Wi-Fi
ESPHome component and hardware to control Toshiba and Carrier HVAC units via their Wi-Fi interface port
Python library for the Hive home heating API
Reverse engineering of the Vevor diesel heater communication protocol
ESPHome component for Fujitsu AirStage-H (Halcyon) units over the wired controller bus
ESPHome components for the Truma iNet Box LIN bus and Truma Cooler BLE in campervans
Homebridge plugin for Panasonic ACs via the Comfort Cloud API
.NET API for communicating with Tado heating and cooling systems
ESP32 controller for MaxxFan roof fans and Houghton RV air conditioners via ESPHome
ESP32 control of Midea air conditioners over the XYE RS485 bus
Panasonic air conditioners via the unofficial Panasonic Comfort Cloud API
Python library controlling Daikin air conditioners and heat pumps over the local Wi-Fi adapter API
Unofficial Argoclima air-conditioner integration using the devices' web protocol
ESP32 RMT IR remote library for Midea air conditioners
Homebridge plugin for local control of Daikin air conditioners
Homebridge plugin for Honeywell Evohome heating
Interface to Fujitsu air conditioners over their indoor-unit bus for Home Assistant and Domoticz
Homebridge plugin for the Daikin Airbase Wi-Fi module
Controls Actron air conditioners directly over their reverse-engineered RS485 bus
Unofficial DeWarmte heat pump integration using the DeWarmte app API
ESPHome files to talk to Midea AC units over the RS485 XYE (CCM) terminals
ESPHome external component for Moes BHT-002 Tuya thermostats via the Tuya MCU protocol
Atrea ventilation units controlled via their reverse-engineered local web interface
Homebridge plugin for the Daikin One+ thermostat
openHAB binding for Danfoss DeviReg thermostats using the reverse-engineered DEVIlink protocol
Prometheus exporter for Tado smart thermostats
Brink ventilation units via the unofficial Brink-home portal API
Local Ecobee control in Python via HomeKit pairing, no cloud or API key
Replaces the Hisense AC Wi-Fi module with an ESPHome device speaking its serial protocol
ioBroker adapter controlling Tado devices through the Tado cloud API
Bonaire MyClimate heating/cooling via a reverse-engineered implementation of the app protocol
ESPHome components for Mitsubishi heat pumps over the CN105 serial port
Home Assistant integration for Panasonic MirAIe air conditioners
Local bridge replacing the RIKA Firenet 2.0 stove dongle with a REST API
Decoded Maxxfan infrared remote protocol as an ESPHome component
Home Assistant integration controlling Panasonic MirAIe ACs
Homebridge plugin for the Bosch EasyControl CT200 thermostat
Inspects and manipulates Mysa smart thermostats
Unofficial .NET wrapper for the Nest thermostat web API
Rointe electric radiators via the unofficial Rointe Connect cloud API
Siku, Duka, Oxxify and Blauberg ventilation fans over their local UDP protocol
ESPHome component for Electriq 12000 BTU Wi-Fi smart air conditioners
Integrates Ensto Bluetooth thermostats into Home Assistant via ESPHome
ESPHome component for Gree-based air conditioners over the indoor unit UART protocol
ESPHome UART-to-Wi-Fi bridge board for Toshiba air conditioners using their internal protocol
ESP8266 HTTP interface controlling Daikin AC units via IR
Unofficial Sabiana HVAC integration via the Sabiana cloud API
Homebridge plugin for Daikin air conditioners
Homebridge plugin for Big Ass Fans i6 and es6 over their local protocol
ESP32 SAM emulator for local RS485 control of Carrier Infinity thermostats
Controls Midea/Hualing air conditioners over BLE
Home Assistant integration for MELCloud AC devices with extra swing and Wi-Fi sensors
ESPHome component for Micronova-based pellet stoves over their serial bus
Sharp UART HVAC component for ESPHome
ESP8266 web and MQTT control for Gree-protocol air conditioners
ESPHome component for Midea HVAC over the XYE/CCM RS485 bus
Home Assistant integration for Hcalory Bluetooth diesel heaters
Homebridge plugin to control eQ-3 Bluetooth radiator thermostats
RF remote control for QuietCool whole-house fans
Replacement firmware for the TCL/Electriq split AC Wi-Fi module
ESP32-C3 with ESPHome to control Daikin air conditioners via their wired protocol
ESPHome component for Daikin EKHHE water heater heat pumps
Tasmota-based DIY replacement for the Daikin BRP069A41 Wi-Fi module
Kronoterm heat pumps via the mobile app's cloud API or local Modbus TCP
ESPHome integration for Mitsubishi heat pumps via the CN105 UART protocol
Local ESP32 controller for Midea/OEM ACs over UART with MQTT, Zigbee2MQTT and Matter
CAN bus reverse engineering and ESPHome controller for the Espar Airtronic S3 heater
ESPHome component for Haier air conditioners
ESPHome component for Toshiba air conditioners over the TCC-Link protocol
Open source Wi-Fi module for Samsung air conditioners
ESPHome climate component for Panasonic air conditioners over the CN-CNT port
Python interface to Daikin Altherma heat pumps via the BRP069A61/62 LAN adapter
Drives Airton air conditioners from MQTT with a Tasmota Berry script
Swagger documentation of the Daikin humidifying air purifier local API
ESPHome component to control Chinese diesel heaters over their Bluetooth protocol
ESPHome climate control for Duepi-controlled pellet stoves via their serial protocol
ESPHome controller emulating the LG PQRCUDS0 wired remote
Mitsubishi CN105 ESP32 ESPHome controller
Unofficial GO DAIKIN (Malaysia) air-conditioner integration via the app API
ioBroker adapter for Daikin Cloud devices
Python client library for the Mitsubishi MELCloud API
Unofficial Windows Phone client for controlling Nest thermostats
Raspberry Pi controller for Mitsubishi ducted ACs via their serial interface
Wi-Fi module replacement for TCL TAC-09CHSA air conditioners
QuietCool attic and whole-house fans over BLE with stock firmware
Extended Bosch CT200 thermostat integration for Home Assistant via the PointT cloud API
Home Assistant integration for the Truma iNet X panel over Bluetooth LE
Exports Tado smart thermostat metrics to Prometheus
Postman collection documenting API calls for Tado X valves and thermostats
ESPHome component for ComfortNet HVAC devices from Daikin, Goodman and Amana
Unofficial command-line tool to control Nest devices
PHP and Laravel library for managing Tado systems
ESPHome keypad component for Actron Air air conditioners
Software bridge between Daikin HVAC units and MQTT
ESPHome bridge for Dometic FreshJet roof air conditioners over Bluetooth
Local control of the EVO270-1 heat pump hot water system via its onboard controller
Android app exposing Haier devices on the local network via a REST API
Homebridge plugin for Tado smart thermostats
API for Lennox S30/E30 climate controls via cloud or local connection
Reads test-port telemetry from Midea mini-splits and ducted units into Home Assistant
Midea AC remote control app for Flipper Zero
Go client for the undocumented Tado web API
ioBroker adapter controlling Daikin air conditioners locally
ioBroker adapter integrating Mitsubishi Electric devices via MELCloud
ESPHome component to control Extraflame pellet stoves
Tiko heating control via a reverse-engineered Tiko API
Homebridge plugin controlling Fujitsu Airstage air conditioners
DIY Wi-Fi module for Mitsubishi Electric air conditioners
Controls Mitsubishi heat pumps via the CN105 port as a native HomeKit accessory
Python library to control Tado smart thermostats
MQTT bridge for Toshiba air conditioners via the AB-bus connector
FENIX TFT Wi-Fi thermostats via a reverse-engineered, not officially supported API
ESP32 ESPHome controller for the LG ThermaV monoblock heat pump
Reverse-engineered Nest thermostat API client
Unofficial API for Honeywell Total Connect Comfort thermostats
Python client library for A. O. Smith water heaters
Homebridge plugin using the unofficial Sinope thermostat API
Hardware and firmware teardown of the Honeywell X2S smart thermostat
Connect Home Assistant to Samsung Digital Inverter air conditioners without the cloud
Flash the Sensibo Air with ESPHome for fully local control