Docs
Capabilities

Climate / thermostat

Domain climate: states, services, device classes and features.

Entity ids in this domain look like climate.<object_id>.

Thermostats never report auto as a state — an auto-mode thermostat reports the leg it is driving (heat or cool). auto is only a command value for setHvacMode.

Use in preferences

{ key: 'device', label: 'Device', type: 'entity', domainFilter: 'climate', required: true }

States

getState() returns the raw token. subscribe filters, entity.is() and matchesState() also accept the friendly label the app shows (any case; spaces, hyphens and underscores interchangeable).

Device classoffcoolheatheat_coolfan_onlydry
anyOffCoolHeatAuto——
Subscribe and compare
subscribe($g.device, { to: 'off' }, onChange);
subscribe($g.device, { to: 'Off' }, onChange); // same thing, by label
if ($g.device.is('Off')) { /* … */ }

Services

Curated for smart apps (also offered by the wizard action catalog):

ServiceParametersDescription
setHvacModehvacMode (enum, off | heat | cool | auto | heat_cool | fan_only | dry, required)Set HVAC mode
setTemperaturetemperature (number, required)Set temperature
Call a service
await $g.device.setHvacMode({ hvacMode: 'off' });

Also routable (ClimateServices), not in the wizard catalog — callable as entity.<service>(); the integration may reject unsupported ones at runtime:

setFanMode

HVAC modes (setHvacMode)

ValueLabel
offOff
heatHeat
coolCool
autoAuto
heat_coolHeat / Cool
fan_onlyFan only
dryDry

Fan modes (setFanMode)

ValueLabel
autoAuto
onOn
offOff
lowLow
mediumMedium
highHigh
diffuseDiffuse

Device classes

none, thermostat

Filter with deviceClassFilter in an entity input.

Features

Bitmask on the supportedFeatures attribute; read the values with getEntityFeatures().Climate.

FeatureBit
TARGET_TEMPERATURE1
TARGET_TEMPERATURE_RANGE2
TARGET_HUMIDITY4
FAN_MODE8
PRESET_MODE16
SWING_MODE32
TURN_OFF128
TURN_ON256
SWING_HORIZONTAL_MODE512
Generated from docs-bundle v0.1.0, novon-platform 9ce3486c (2026-10-09).

On this page