home-assistant / home-assistant/core
Home Connect entities depend on appliance state during integration reload
- Dominant language
- Python
- Stars
- 90.5k
- Forks
- 38.6k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 597
Description
### The problem
I am using the built-in Home Connect integration with a NEFF D85IFN1S0/05 cooker hood.
The capabilities/availability of some entities depend on the state of the appliance at the exact moment the Home Connect integration is reloaded.
This affects at least the worktop light and the fan-stage select.
### Worktop light
If I reload the Home Connect integration while the worktop light is OFF, the light entity is created as an on/off-only light:
```yaml
supported_color_modes:
- onoff
color_mode: null
supported_features: 0
```
If I turn the worktop light ON and reload the integration again, the same entity supports brightness:
```yaml
supported_color_modes:
- brightness
color_mode: brightness
brightness: 255
supported_features: 0
```
### Fan stage
The fan-stage select shows similar state-dependent behavior.
If I reload the integration while the hood/fan is OFF, the select entity becomes unavailable.
If I start the fan and reload the integration again, the select becomes available and exposes the fan stages, for example:
```text
cooking_hood_enum_type_stage_fan_off
cooking_hood_enum_type_stage_fan_stage_01
cooking_hood_enum_type_stage_fan_stage_02
cooking_hood_enum_type_stage_fan_stage_03
cooking_hood_enum_type_stage_fan_stage_04
```
### Reproduction
1. Turn the hood light and fan OFF.
2. Reload the Home Connect integration.
3. The light only supports on/off and the fan-stage select is unavailable.
4. Turn the light ON and start the fan.
5. Reload the integration again.
6. The light now supports brightness and the fan-stage select becomes available.
7. Turn both functions OFF again, but do NOT reload the integration.
8. The brightness capability and fan-stage select remain available.
The issue is fully reproducible by changing only the appliance state before reloading the integration.
### Expected behavior
Entity capabilities and availability should not depend on whether the corresponding appliance function happens to be active while the integration is initialized/reloaded.
If the appliance supports brightness control and fan-stage selection, these capabilities should remain available regardless of the current on/off state.
### What version of Home Assistant Core has the issue?
2026.9.1
### What was the last working version of Home Assistant Core?
_No response_
### What type of installation are you running?
Home Assistant OS
### Integration causing the issue
Home Connect
### Link to integration documentation on our website
https://www.home-assistant.io/integrations/home_connect
### Diagnostics information
I captured diagnostics in three states. Relevant excerpts are included below with device-specific IDs and unrelated appliances omitted.
### 1. Integration reloaded while hood/light were OFF
```yaml
status:
BSH.Common.Status.OperationState:
value: BSH.Common.EnumType.OperationState.Inactive
settings:
BSH.Common.Setting.PowerState:
value: BSH.Common.EnumType.PowerState.Off
Cooking.Common.Setting.Lighting:
value: false
```
`Cooking.Common.Setting.LightingBrightness` is absent in this state.
At this point Home Assistant exposes the light as `onoff` only, and the fan-stage select is unavailable.
### 2. Integration reloaded while hood was running and light was ON
```yaml
status:
BSH.Common.Status.OperationState:
value: BSH.Common.EnumType.OperationState.Run
settings:
BSH.Common.Setting.PowerState:
value: BSH.Common.EnumType.PowerState.On
Cooking.Common.Setting.Lighting:
value: true
Cooking.Common.Setting.LightingBrightness:
value: 100
unit: "%"
Cooking.Hood.Setting.ColorTemperature:
value: Cooking.Hood.EnumType.ColorTemperature.neutral
```
At this point the light supports brightness and the fan-stage select is available.
### 3. Same integration instance, then hood/light switched OFF without reloading
```yaml
status:
BSH.Common.Status.OperationState:
value: BSH.Common.EnumType.OperationState.Inactive
settings:
BSH.Common.Setting.PowerState:
value: BSH.Common.EnumType.PowerState.Off
Cooking.Common.Setting.Lighting:
value: false
Cooking.Common.Setting.LightingBrightness:
value: 100
unit: "%"
Cooking.Hood.Setting.ColorTemperature:
value: Cooking.Hood.EnumType.ColorTemperature.neutral
```
The brightness capability remains available in this case.
This suggests that supported settings/capabilities are determined from the state-dependent data available during integration setup/reload. Once a capability was discovered during setup, it remains available even after the appliance function becomes inactive.
### Example YAML snippet
```yaml
```
### Anything in the logs that might be useful for us?
```txt
```
### Additional information
Appliance: NEFF D85IFN1S0/05 cooker hood
Home Connect integration is built into Home Assistant Core and uses `aiohomeconnect 0.39.1`.
The behavior appears to be related to entity/capability discovery during integration setup rather than normal runtime state handling.
In particular, `Cooking.Common.Setting.LightingBrightness` is absent when the integration is initialized while the light is off, but appears when initialized while the light is on. Once discovered, it remains present after turning the light off again without reloading the integration.
The fan-stage select shows analogous state-dependent availability, although the diagnostics do not expose an obvious fan-stage setting in the same way as the brightness setting.
Contributor guide
Assessment
This issue has not been assessed yet.