home-assistant / home-assistant/android
Can't turn on/off AC with Device Control
- Dominant language
- Kotlin
- Stars
- 3.9k
- Forks
- 1.1k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 81
Description
**Home Assistant Android app version(s):** 2026.4.4-full
**Android version(s):** 16.0
**Device model(s):** Xiaomi 17 Pro
**Home Assistant version:** 2026.5.4
**Last working Home Assistant release (if known):** Unknown
**Description of problem, include YAML if issue is related to notifications:**
If a climate entity supports more modes than `cool`, `heat`, `heat_cool`, and `off`, one can't switch the entity on or off using the device control card, which is very confusing.
```kotlin
// True if the entity only supports the 4 modes, any other mode (e.g. `dry`) means false
if (entityShouldBePresentedAsThermostat(entity)) {
// ...
} else {
// `RangeTemplate` does not offer toggling, the user can only adjust temperature
control.setControlTemplate(rangeTemplate)
}
```
I'm trying to make a PR on this, which one would be preferred (or none)?
1. Map other available modes in core `HVACMode` to Android's `TemperatureControlTemplate` (I have no idea why this is so limited). For example, both `fan_only` and `dry` can map to `MODE_COOL` or `MODE_HEAT_COOL`.
2. If the entity supports modes not in `TemperatureControlTemplate`, use a `ToggleRangeTemplate` and send `climate.turn_on` or `climate.turn_off` when toggled. This has the disadvantage that temperature will not be visible and adjustable when the entity is off.
3. Ignore unsupported modes and support cycling between supported modes. Unsupported modes get `MODE_UNKNOWN`.
**Companion App Logs:**
```
N/A
```
**Screenshot or video of problem:**
N/A
**Additional information:**
N/A
Contributor guide
Assessment
This issue has not been assessed yet.