Skip to content

feat(thermostat): configurable min/max temperature limits#82

Open
sebglon wants to merge 12 commits intoathombv:masterfrom
sebglon:feat/thermostat/configurable-temperature-limits
Open

feat(thermostat): configurable min/max temperature limits#82
sebglon wants to merge 12 commits intoathombv:masterfrom
sebglon:feat/thermostat/configurable-temperature-limits

Conversation

@sebglon
Copy link
Copy Markdown
Contributor

@sebglon sebglon commented Mar 24, 2026

Summary

  • Adds a new "Temperature limits" settings group to the thermostat with min_temperature (default 4°C) and max_temperature (default 35°C) number fields, allowing users to configure the target temperature slider range
  • Adds optional ga_temperature_min / ga_temperature_max KNX group address fields (DPT9.1, read-only) that dynamically override the static limits at runtime when telegrams arrive — KNX values take precedence
  • Exposes target_temperature_min and target_temperature_max as Homey capabilities, making current limits visible in the device UI and available in flows

Motivation

Fixes #79 — thermostats used for hot water regulation or other non-HVAC use cases need a wider temperature range (e.g. up to 70°C) than the hardcoded 4–35°C default. KNX devices like the OT-box can also send setpoint limits over the bus.

Test Plan

  • Open thermostat device settings → confirm "Temperature limits" group with min=4 / max=35 defaults
  • Change max_temperature to 70 → confirm target temperature slider extends to 70°C
  • Verify target_temperature_min and target_temperature_max appear as capabilities on the device card
  • Configure ga_temperature_max with a valid KNX GA → send a DPT9.1 telegram (e.g. 65°C) → confirm slider max updates
  • Remove ga_temperature_max and change max_temperature in settings → confirm static value is applied again
  • Confirm existing thermostats with no changes to settings are unaffected (defaults preserve previous 4–35°C range)

🤖 Generated with Claude Code

sebglon and others added 12 commits March 24, 2026 15:11
…ty, and validation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Expand target_temperature_min/max capability options before calling
setCapabilityValue so values outside the built-in 4–35 range are
accepted. Also call setCapabilityOptions on target_temperature before
setCapabilityValue so the slider validation uses the updated range.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add ga_temperature_min and ga_temperature_max input fields to the
thermostat fieldset in the select_groupaddresses pairing screen, and
include their values in the device save handler. Add i18n strings
for all 13 supported locales.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

On Thermostat, the Target temperature is limited between between 4 and 35°c

1 participant