Skip to content

Climate entity should expose heat/cool modes based on cooling_active state #2

@jr42

Description

@jr42

Description

The climate entity climate.kermi_storage_heating_kermi_storage_heating_climate currently only exposes hvac_modes: ["heat"], even though the Kermi system supports both heating and cooling modes.

Current Behavior

{
  "entity_id": "climate.kermi_storage_heating_kermi_storage_heating_climate",
  "state": "heat",
  "attributes": {
    "hvac_modes": ["heat"],
    "preset_modes": ["none", "eco", "comfort", "boost", "away"],
    ...
  }
}

Expected Behavior

The climate entity should expose both heat and cool modes:

{
  "hvac_modes": ["off", "heat", "cool", "auto"],
  ...
}

The current mode should reflect the actual state based on binary_sensors/cooling_active:

  • When cooling_active = OFF → state should be heat
  • When cooling_active = ON → state should be cool

Evidence

The MQTT messages show that cooling_active is being published:

kermi/xcenter/storage_heating/binary_sensors/cooling_active = OFF
kermi/xcenter/storage_heating/sensors/energy_mode = eco
kermi/xcenter/storage_heating/binary_sensors/summer_mode = OFF

Use Case

I need to sync the Kermi heating/cooling mode with a Tasmota thermostat (NSPanel) that controls room temperature. The Tasmota thermostat has a ClimateModeSet command (0=heat, 1=cool) that should match the Kermi system's operating mode.

Currently, I have to create a separate MQTT trigger automation to watch cooling_active directly, rather than using the climate entity's state.

Suggested Implementation

In the climate entity discovery config, dynamically set:

  • hvac_modes to include both heat and cool (and optionally auto)
  • The current state based on the cooling_active binary sensor value

This would make the climate entity a complete representation of the heating circuit's operating mode.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions