Flux Guide ← All widgets
Widget

Thermostat

A fully-interactive climate controller, rendered inline on the dashboard. Set the temperature with a draggable dial, slider, or − / + buttons, switch HVAC modes, and read the ambient temperature and humidity — all without leaving your layout. Edits feel instant: they apply optimistically and commit to Home Assistant a moment later.

What it does

The thermostat drives any Home Assistant climate entity. It reads the entity's target setpoint, current temperature, step, min/max limits, available HVAC modes, and the current action (heating, cooling, drying, idle). Tap − / + to nudge the setpoint, drag the dial or slider to set it directly, and tap a mode icon to switch between off, heat, cool, auto, heat/cool, dry, and fan-only.

Edits respond instantly When you change the temperature, the number updates immediately and the new value is held as a pending edit. Flux waits about half a second after your last tap, then sends one service call, and clears the pending value once Home Assistant echoes the change back (or after a short timeout). A slow integration never makes the buttons feel dead.

Designs

Choose a style in the inspector. Each one targets a different size and feel:

StyleWhat it looks like
RoundA 270° arc dial with the setpoint in the center and a draggable grab-dot on the ring. The default.
Dial + ticksThe same round dial, with tick marks around the arc for a more instrument-like look.
Digital panelA compact panel with a large monospaced readout, − / + buttons, and the mode row along the bottom. Also used automatically as the fallback when a tile is too short or narrow for the dial or slider.
MinimalA single compact row: − , the setpoint, + , with an optional "Now" line above.
SliderA vertical fill column you can drag to set the temperature, with the readout, − / + , and mode row beside it.
The widget adapts to its size The dial and slider need real vertical room. On short or narrow tiles Flux automatically steps down — the dial falls back to the digital panel, then to a minimal row, and on a postage-stamp tile it shows just the setpoint scaled to fit. Nothing ever clips. The mode row is the first thing dropped when space is tight, before the dial itself shrinks.

Add it

  1. Enter edit mode, tap Add Widget, choose Thermostat.
  2. Pick the Home Assistant climate entity it should control.
  3. Open the widget's inspector (tap the widget while editing) and pick a style and what to show.

Settings

SettingWhat it does
Thermostat styleThe design: Round, Dial + ticks, Digital panel, Minimal, or Slider (see above).
Current temperatureShows the ambient reading (e.g. "Now 21°"), plus humidity where the entity reports it.
Mode selectorShows the row of mode icons (off / heat / cool / auto / heat-cool / dry / fan). Tap one to switch modes.
Heating / cooling statusShows the current action indicator — Heating, Cooling, Drying, Fan, or Idle — with a matching icon and color.
Color by mode (heat / cool)Tints the dial and controls by HVAC mode: heat → orange, cool → blue, auto / heat-cool → green, dry → teal, otherwise the theme accent. Turn it off to set one fixed color.
ColorAppears only when "Color by mode" is off — a fixed accent for the dial, fill, and buttons.

Dual setpoints (heat/cool range)

When the entity is in heat_cool or auto mode and reports a low and high target (rather than a single temperature), the widget switches to a range view automatically.

HVAC semantics The low setpoint is the heat trigger — the furnace starts when the room drops to it. The high setpoint is the cool trigger — the AC starts when the room climbs to it. That's why heat is orange and cool is blue, beside their numbers. In plain cool or heat mode the dial shows that one setpoint even if the integration still reports stale low/high attributes.

How the dial and slider work

The dial sweeps 270°. Dragging anywhere on the ring moves the nearer handle (and selects it in range mode); touches near the center — where the numbers live — are ignored so you don't change the value by tapping a number. The slider is a vertical fill column: drag up for warmer, down for cooler. Both map your touch onto the entity's min/max range and snap to its step.

On Apple TV Drag-to-set isn't available on tvOS. The − / + buttons drive the dial and slider instead, and tiles are focusable with the remote.

Units & step

Home Assistant reports temperatures in its own configured unit; Flux displays and steps in your preferred unit, then converts back when sending. In Fahrenheit the − / + buttons move in whole degrees; in Celsius they follow the entity's target_temp_step (defaulting to 0.5°). Min and max come from the entity's min_temp / max_temp (defaulting to 7°–35°C).

Unavailable entities If the climate entity is offline or unactionable, the widget shows a thermometer-slash icon and "Unavailable" instead of controls.