While working on Tuya air conditioner support (Tuya - Air Conditioner support - PR9 by Terdious · Pull Request #2591 · GladysAssistant/Gladys · GitHub), I encountered a regression already present in master, unrelated to Tuya.
Since PR #2541 (« Matter: Add fan clusters », released in v4.79.0), all air conditioning devices display fan speed control (Off / Low / Medium / High / Auto) instead of air conditioning mode control (Auto / Cool / Heat / Dehumidification / Ventilation).
Cause: Both AIR_CONDITIONING.MODE and FAN.MODE have the string value 'mode'. As ROW_TYPE_BY_FEATURE_TYPE in DeviceRow.jsx is indexed only by type, the FAN.MODE entry (declared later) silently overwrites AIR_CONDITIONING.MODE → any mode feature is routed to the fan component. This affects all integrations exposing an air-conditioning / mode feature, not just Tuya.
I opened an issue and a PR for the fix (category-aware routing, 1 file):
Issue: Air-conditioning devices show the fan-mode control instead of the AC mode control (regression since v4.79.0 / #2541) · Issue #2593 · GladysAssistant/Gladys · GitHub
Original PR: Matter: Add fan clusters by Pierre-Gilles · Pull Request #2541 · GladysAssistant/Gladys · GitHub
Fixing PR: Fix: air-conditioning mode feature rendered as fan mode (routing collision since #2541) by Terdious · Pull Request #2592 · GladysAssistant/Gladys · GitHub
Feel free to let me know if you want me to adjust the fix approach. Thanks!