The browser installer supplies a standard ESPHome configuration. The YAML generator creates a complete replacement configuration with the options you select. It runs in your browser; configuration data is not uploaded.
Before you start
- Complete ESPHome setup, including adoption and installation of the personalized configuration.
- Confirm that Home Assistant controls the indoor unit and that the controller is reachable over Wi-Fi.
- Back up the device's current YAML from the ESPHome dashboard. Keep any referenced secrets available in your ESPHome installation.
The generator supports the M5Stack NanoC6 and Atom S3 Lite. Other ESP32 boards require manual board configuration and compilation; see supported boards and DIY parts.
Generate the configuration without losing the device identity
- Open the YAML generator and expand Existing ESPHome device, or select Import an existing configuration below the preview.
- Paste the controller's complete YAML into Current ESPHome YAML. Review the report: the generator fills the device name, display name, board, API encryption key, and OTA password when it recognizes them. Confirm the board and names under Device details; enter any missing credentials in the import section.
- Keep the existing device name so wireless updates reach the same controller. Retain the API encryption key and OTA password so Home Assistant and ESPHome can reconnect. Existing
!secretreferences for these credentials can be kept; the referenced secrets must exist in your ESPHome installation. - Choose the features you need in the groups below. Importing does not select your previous options: select them again, including any room sensor or Serin Link. Select only features your indoor unit supports. Under Advanced options, keep ESPHome web server enabled if you want local browser controls.
- Review Your configuration, which updates as you change options. On a phone, use Preview and download to reach it and Edit options to return. Select Copy configuration or Download .yaml; the downloaded filename follows the device name, for example
living-room.yaml.
The result is a complete configuration. Replace the old file's contents; do not append the generated YAML underneath it. The generated configuration includes the Serin package's contents, so you do not need to add that package again.
Before installing, compare the result with your backup. The generator does not merge your custom YAML. Its report lists top-level sections missing from the result, but custom entries inside sections such as sensor: or switch: still need review even when the section exists in both files. Restore any other packages, custom sensors, automations, and settings you still need.
The generated Wi-Fi settings use !secret wifi_ssid and !secret wifi_password. Confirm those entries in secrets.yaml, or edit the generated settings to match your installation. Restore any custom Wi-Fi settings, such as a static IP address, before uploading.
Install and verify
- Open the adopted controller in the ESPHome dashboard and replace its YAML with the reviewed configuration.
- Select Install and install wirelessly. Leave the controller powered while the firmware compiles, uploads, and restarts.
- Confirm that the controller reconnects to Home Assistant and its climate entity is available.
- Check the new entities or controls, then change a supported mode or target temperature and confirm that the indoor unit responds.
If the new configuration does not compile, review the build error and your selected options before retrying. If upload fails, use ESPHome update troubleshooting. Keep the backed-up YAML for recovery.
Choose optional features
The generator starts with NanoC6 selected, vertical vane control and the ESPHome web server enabled, and the other feature checkboxes off. Expand each group to change its options. The group summaries show the current selections.
Scroll sideways to read all columns.
| Option | Purpose and limits |
|---|---|
| Home Assistant temperature sensor | Under Room temperature source. Feeds a Home Assistant temperature entity to the heat pump. Enter the sensor entity ID; checking the box without an ID leaves the sensor out of the generated YAML. See room sensor setup. |
| Connect a Serin Link | Under Serin Link. Adds Pair Serin Link and Forget All Links buttons, a Serin Link Connected sensor, and bindings for the selected vane controls. See Serin Link pairing. |
| Separate heating and cooling temperatures | Under Indoor unit options, alongside vane controls, Swing mode, and the i-See occupancy sensor. Adds two targets in Auto mode; the standard configuration uses one. |
| Vertical and horizontal vane controls | Include the axes fitted to your indoor unit. Omit an absent horizontal vane to avoid an unused control. |
| Swing mode | Adds swing to the climate entity alongside the separate vane selectors. |
| Airflow control | Under Optional controls, alongside Night mode, Air purifier, and Circulator. Adds Even, Indirect, and Direct settings on units that support them. |
| Diagnostics | Under Advanced options. Adds nine heat-pump sensors, enabled in Home Assistant when included. See the diagnostics reference. |
| i-See occupancy sensor | Adds a binary sensor for indoor units fitted with Mitsubishi's infrared occupancy sensor. |
| Night mode, air purifier, circulator | Adds switches for supported units: reduced fan/display operation, the fitted purifier, or fan-only circulation. |
| Installer settings (ISU) | Exposes service-menu codes stored in the indoor unit. Change them only when you understand their effect. |
| ESPHome web server | Provides local browser controls for the configured entities. Enabled by default. |
| Home Assistant Bluetooth proxy | Extends Home Assistant's Bluetooth coverage through the controller. It does not configure a thermometer to feed the heat pump directly. |
| Fahrenheit compatibility mode | Off by default. For units operating natively in Fahrenheit, select Standard first; select Alternate if the unit reports incorrect temperatures. This setting concerns the indoor unit, not the remote sensor's display units. |
The standard entity reference distinguishes the base configuration from optional features. Enabling an option cannot add hardware capabilities to an indoor unit that lacks them.