Mitsubishi heat pumps,
straight into HomeKit.

An ESP32 in the CN105 port, talking HomeKit on its own. No Home Assistant. No ESPHome. No bridge server.

No app, no subscription, no account. Ever.

More than a thermostat

01

Complete CN105 control.

Power, mode, temperature, fan speed, fixed vane positions, and Swing — including independent up/down and left/right airflow on supported units.

02

State that stays honest.

Commands are confirmed against the indoor unit, while changes from the original Mitsubishi remote flow back into HomeKit and the WebUI.

03

HomeKit, shaped to your AC.

Choose single or separate airflow tiles, hide unsupported modes, and optionally expose each vane position and Swing axis as its own service.

04

Recoverable by design.

Validated .kiri packages, local OTA, installer hotspot, persistent logs, and a guided browser USB flasher are all part of the project.

How it compares

The DIY route
×Always-on hub or server in the loop
×Flash it yourself, write a config file
×Reaches HomeKit through a third-party bridge
×Two systems to keep updated
×Goes dark when the hub reboots
Kiri Bridge
+Nothing else to run
+Pre-flashed, configured in a browser
+Speaks HomeKit directly
+One firmware, OTA from the device
+Online as long as the heat pump has power

From box to Home app

01

Plug into the CN105 port.

Powered by the indoor unit. No adapter, no soldering, no extra cable.

02

Send WiFi over Bluetooth.

Open the setup page in Chrome and push your 2.4 GHz credentials to the device.

03

Download the latest firmware from GitHub.

Get the latest .kiri release from GitHub Releases — read the code before you flash if you want.

04

Upload it through the web UI.

Done from the device's local page. Takes a minute.

05

Add to the Home app.

Scan the HomeKit code. The unit shows up as a thermostat — power, mode, target temp, fan.

The kit

ESP32
M5Stack ATOM Lite or AtomS3 Lite, pre-flashed
Cable
One CN105 cable included with each kit
$59 USD · free shipping in the US · Canada only a few dollars more · worldwide with surcharge