Skip to content

Add on/off controls for climate entities - #2

Merged
konradk merged 2 commits into
mainfrom
agent/fix-climate-on-off
Aug 15, 2026
Merged

Add on/off controls for climate entities#2
konradk merged 2 commits into
mainfrom
agent/fix-climate-on-off

Conversation

@konradk

@konradk konradk commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • expose a primary toggle for climate entities that advertise TURN_ON or TURN_OFF
  • treat active HVAC modes as on and dispatch climate.turn_on / climate.turn_off
  • keep row geometry stable when an off climate entity temporarily drops its target temperature
  • update the demo backend, documentation, and regression coverage

Root cause

Climate entities were excluded from the known toggleable domains, and their HVAC modes such as heat, cool, and auto were not recognized as an on state. In addition, some integrations clear the live target temperature while off, which made the expansion affordance appear only after turning the entity on and caused the row layout to jump.

Impact

Users can turn supported climate devices on and off directly from the panel while retaining the existing temperature controls. Unsupported service directions remain hidden, and off devices no longer cause the action column to shift when their target temperature returns.

Verification

  • full bridge, vendor, service contract, QML style, JavaScript model/store/config/connection, syntax, and compile suite
  • qmllint EntityRow.qml Panel.qml Service.qml controls/ClimateControls.qml
  • omarchy plugin validate .
  • manual verification against a connected Home Assistant instance

Closes #1

@konradk
konradk marked this pull request as ready for review August 15, 2026 09:48
@konradk
konradk merged commit f3c36bc into main Aug 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Control climate mode

1 participant