HomeKit-Compatible Firmware Features
The HomeKit-compatible firmware works with Apple Home through the HomeKit Accessory Protocol (HAP), with a full-featured web UI. No third-party bridge or Home Assistant required — just an Apple Home Hub (Apple TV or HomePod) for remote access and automations.
Climate Control
- Modes: Off, Heat, Cool, Auto, Dry, Fan
- Temperature: 0.5°C precision with +/− step buttons
- Dual Setpoints: Independent heat/cool thresholds in Auto mode, persisted to flash
- Fan Speed: Auto, Quiet, Speed 1–4
Vane Control
- Vertical vane positions with swing mode
- Wide (horizontal) vane positions
- Controllable via HomeKit or the web UI
Diagnostics
- Compressor frequency
- Outside temperature
- Runtime hours
- Error codes
- Sub mode and stage information
BLE Remote Temperature Sensor
Use a Bluetooth Low Energy thermometer placed at room level for more accurate temperature readings. The firmware auto-detects the sensor type from BLE advertisements — no Bluetooth pairing required.
- Supported sensors: Govee (H5072, H5075, H5074, H5051, H5052, H5071, H510x), Xiaomi PVVX (LYWSD03MMC, CGG1 with custom firmware), BTHome v2 (SwitchBot, Shelly, generic)
- Live status: Temperature, humidity, battery level, signal strength, last update
- Feed toggle: Enable or disable sending the sensor temperature to the heat pump from the web UI
- Automatic fallback: If no BLE data arrives for 90 seconds, the heat pump reverts to its internal thermistor
Crash Loop Safe Mode
- Detects 5 consecutive crashes and enters safe mode
- Safe mode runs WiFi and web UI only — skips CN105, HomeKit, and BLE
- Allows OTA recovery when the device is stuck in a crash loop
- Counter resets after a successful boot
OTA Updates
- Firmware upload via web UI or curl
- SHA256 integrity verification before applying
- Automatic rollback if validation fails after update
Web UI
A single-page interface at http://<device-ip>:8080 for full control without Apple devices:
- Thermostat mode and temperature control
- Fan and vane adjustments
- Pairing status and QR code
- Device settings (name, poll interval, log level, °C/°F toggle)
- WiFi network scanner for easy setup
- Real-time log streaming via WebSocket
Supported Boards
| Board | Tested |
|---|---|
| M5Stack NanoC6 (ESP32-C6) | Yes |
| M5Stack Atom S3 Lite (ESP32-S3) | Yes |
| ESP32-C3 SuperMini / XIAO | No |
| Generic ESP32 DevKit | No |
Source Code
The HomeKit-compatible firmware is open source. See the GitHub repository for protocol documentation, project structure, and build instructions.