Skip to content

Fahrenheit: scheduler uses Celsius 5–35 range, can't set setpoint & pushes out-of-range temps to device #194

Description

@caphector

Component version: 1.15.1
Home Assistant: 2026.6.4

Summary
On a HA install using Fahrenheit, the Climate Scheduler group entity ignores the selected units. It exposes the Celsius range (5°-35°C) instead of exposing the temp in °F, then it applies a °F→°C conversion when pushing a set point. Consequence: I can't set the set point in the app.

Setup

HVAC: heat pump with native range 16–31 °C = 61–88 °F, step 0.5
Group entity attributes show min_temp: 5, max_temp: 35, current_temperature: 74, temperature: 79 — Fahrenheit values with a Celsius range.

Symptom 1 — can't set the setpoint (UI or app)
Setting the group entity to 80 °F (via UI, app, or climate.set_temperature) is rejected by HA core because the entity advertises a 5–35 range:

ServiceValidationError: Provided temperature 80.0 is not valid. Accepted range is 5.0 to 35.0

Adjusting on a phone produces the same rejection — the thermostat card is clamped to 5–35, so the value snaps back and appears to "switch to Celsius":

[websocket_api] Provided temperature 79.0 is not valid. Accepted range is 5.0 to 35.0

Symptom 2 — scheduler pushes an out-of-range temperature to the device
Every schedule tick, the component tries to set the member and fails, because it sends a °C-converted value (35 °F → 1.667 °C) into the device's native 16–31 °C range:

[custom_components.climate_scheduler.climate] Failed to set temperature for climate.<device>: Provided temperature 1.6666666666666665 is not valid. Accepted range is 16.0 to 31.0
(1.667 is 35 run through an °F→°C conversion — the max_temp default, mis-converted.)

Expected:
The group entity should respect the configured entities and report min_temp/max_temp/target_temperature using the inherited units and range, then pass setpoints through without an extra unit conversion.

Actual
The entity uses the hardcoded Celsius 5–35 default range and mis-converts values, so °F users cannot set the setpoint and the schedule cannot drive the device.

Likely related: #193 (F sensor values converted to 170+), #189 (card reverts to scheduled temp on manual adjust), #180 (schedule fails to set temperature).

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