Skip to content

2026.9.2

Choose a tag to compare

@blues-sechseck blues-sechseck released this 09 Aug 08:53
· 97 commits to main since this release
3566be0

Home Leave Mode: real read/write, and editable on the device page

The Home Leave Mode switch from 2026.9 is replaced by a select entity (Home Leave Mode — off / away cooling / away heating). The official app's away mode has two independently configurable targets, heating and cooling, not the single direction a switch could represent.

The thresholds and airflow settings behind it are now editable directly on the device's Controls page (4 number + 2 select entities, disabled by default) instead of being read-only diagnostics plus a service call.

Breaking: switch.<device>_home_leave_mode is gone. Automations using it need select.select_option with off / away_cool / away_heat.

Related: #67, #187, #207

Energy Usage: the counter was never cumulative

If your Energy Usage sensor kept dropping back to zero, or sat at 0 while the unit was clearly running (#214) — that is the unit, not a bug.

The kWh counter the module reports is a per-run counter: it counts up while the indoor unit runs, holds while it is off, and clears to 0 the moment the unit is switched on again. I confirmed that across two units over two days — six resets, every one within a minute of an off→on transition, none without one, including one switched on at the unit itself. On a unit that cycles often it may never even reach the counter's first 0.25 kWh step.

New: Energy Usage Total adds the counter's upward steps into a real lifetime total and keeps it across restarts. This is the one for the Energy dashboard.

  • Reset Energy Usage Total button on the device page sets it back to 0.
  • mitsubishi_wf_rac.set_energy_total sets it to a specific value — useful if a utility_meter helper was doing this job and you want to carry its reading over.
  • Resetting does not erase what long-term statistics already recorded.

The original sensor stays as Energy Usage (current run).

New: operation-data sensors (opt-in)

Five sensors read from the CNS bus's operation-data segments: compressor frequency [Hz], operating current [A], hot gas temperature [°C], EEV pulses and EEV position [%]. They are queried as an extra segment on the regular status request — same connection, same poll, no second round trip.

They are created only while Service Data is enabled in the integration's options (Settings → Devices & Services → Mitsubishi WF-RAC → Configure), which is off by default because it adds a small write on top of an otherwise read-only poll.

On a multi-split, compressor frequency, current and hot gas temperature are outdoor-unit values and read identically across every indoor unit; EEV is per indoor unit.

Known limitation, thanks to @FrankAlbers for the data: on the older firmware branch (mcu131/wireless010) compressor frequency and operating current read a constant 0 even with the compressor confirmed running, while hot gas and EEV read real values on the same units (#207). Still open.

New: Compressor Demand binary sensor

binary_sensor.<device>_compressor reports whether this indoor unit is calling for the compressor. On a multi-split the shared compressor can keep running for a sibling unit while this reads off — so it is demand, not outdoor-unit state, which is what the display name now says (#226).

Per-model capability table (#187)

A real per-model feature table, ported from the official app's own model database, replaces the previous ModelNr == 1 guesswork that gated self-clean, occupancy, Home Leave and others. Models such as ZT-2025 should stop silently losing features that the wire-protocol grouping alone could not place.

Plaintext error codes

binary_sensor.problem carries an error_description attribute for documented E codes (and a few M codes, flagged as lower confidence), taken from the MHI manuals. Undocumented codes get no attribute rather than a guess (#82).

Optional firmware-update check

Off by default: checks the manufacturer's getFirmware endpoint — the same call the official app makes — and surfaces an update entity when a newer wireless-module firmware is available. It is the only outbound internet call in an otherwise fully local integration, which is why it stays opt-in.

Availability: one option less, and a floor on the other (#217)

Check availability is gone. It had no defensible setting: the module reassociates to WiFi about once an hour and is unreachable while it does, so some tolerance is always right — switching it off only turned a known transient event into a reported outage, which is the complaint behind #173 and #146. It was also arithmetically identical to a retry limit of 1.

Retry limit stays, because raising it is a real choice on a weak link — one setup here runs all four units at 5. It now has a floor of 3: below that it was equivalent to switching tolerance off. Entries below the floor are lifted on upgrade; a higher value you set deliberately is kept.

Fixes

  • Reset Energy Usage Total marked the whole device unavailable on every poll (#219). The button had no state of its own to report while a recent refactor asked every entity for one. That mismatch produced frequent, short, self-recovering drops for anyone on beta3 — fixed in beta4, and confirmed by @alexnikgr and @sharpme512 (#173).
  • Diagnostic sensor defaults were inverted, from long before I took the repo over: the internal plumbing (IP, Operator ID, Device ID, Accounts) was enabled by default while Error, Airco ID, Updated By, Account Expires and Auto Heating were not. Now the other way round, as the README always claimed. This affects newly added devices only; existing entities keep whatever state you gave them. LED Status stays off — it reads a constant 1 on both of my units regardless of what the machine does.

Upgrade notes

Two things to check after updating:

  1. switch.<device>_home_leave_mode no longer exists — see above.
  2. Check availability no longer exists, and a retry limit below 3 is raised to 3. A higher value you set yourself is kept.

The Self-Clean switch removed in 2026.9.1 stays removed: the unit's real self-clean cycle can only be started from the IR remote, the WiFi module has no way to trigger it (#209).