Skip to content

Thermostat card

A dial for one climate device, with mode buttons. With no target it draws the room and no handle, and with no set it’s read-only.

5 samples, each at every size that draws differently, then in chat, in the light theme, and as a ring where it has a headline.

thermostat, small size
Small
thermostat, wide size
Wide
thermostat, medium size
Medium
thermostat, tall size
Tall
thermostat, large size
Large
thermostat, in chat
In chat
thermostat, light theme
Light theme
thermostat, ring
Ring
thermostat · fahrenheit, cooling, medium size
Medium
thermostat · fahrenheit, cooling, tall size
Tall
thermostat · fahrenheit, cooling, large size
Large
thermostat · fahrenheit, cooling, in chat
In chat
thermostat · fahrenheit, cooling, light theme
Light theme

Small draws the same as medium. Wide draws the same as medium, so they aren't shown. Only the empty space changes.

thermostat · no target, medium size
Medium
thermostat · no target, tall size
Tall
thermostat · no target, large size
Large
thermostat · no target, in chat
In chat
thermostat · no target, light theme
Light theme

Small draws the same as medium. Wide draws the same as medium, so they aren't shown. Only the empty space changes.

thermostat · range, medium size
Medium
thermostat · range, tall size
Tall
thermostat · range, large size
Large
thermostat · range, in chat
In chat
thermostat · range, light theme
Light theme

Small draws the same as medium. Wide draws the same as medium, so they aren't shown. Only the empty space changes.

thermostat · unavailable, medium size
Medium
thermostat · unavailable, tall size
Tall
thermostat · unavailable, large size
Large
thermostat · unavailable, in chat
In chat
thermostat · unavailable, light theme
Light theme

Small draws the same as medium. Wide draws the same as medium, so they aren't shown. Only the empty space changes.

Every card also takes the fields all cards share.

FieldTypeWhat it does
type'thermostat'
unit'C' | 'F'
statestringthe word in the middle: “Idle”, “Heating”
mode?'heat' | 'cool' | 'auto' | 'off'sets the dial’s colour
current?numberthe room now
target?number
range?[number, number]low and high setpoints instead of a target
minnumber
maxnumber
stepnumber
set?{ action: string; args?: Record<string, unknown> }
modes?ThermostatMode[]
note?stringwhether what it’s holding is temporary or on a schedule, when the device says

A thermostat’s mode button. Set on for the active one; pressing runs action with args.

FieldTypeWhat it does
idstring
labelstring
on?boolean
actionstring
args?Record<string, unknown>
hint?string

hint: what it does, in one line

Home Assistant