Docs
Capabilities

Fan

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

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

Use in preferences

{ key: 'device', label: 'Device', type: 'entity', domainFilter: 'fan', 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 classonoff
anyOnOff
Subscribe and compare
subscribe($g.device, { to: 'on' }, onChange);
subscribe($g.device, { to: 'On' }, onChange); // same thing, by label
if ($g.device.is('On')) { /* … */ }

Services

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

ServiceParametersDescription
setPercentagepercentage (number, 0–100, required)Set speed
toggle—Toggle
turnOff—Turn off
turnOn—Turn on
Call a service
await $g.device.setPercentage({ percentage: 100 });

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

oscillate, setDirection, setPresetMode

Features

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

FeatureBit
SET_SPEED1
OSCILLATE2
DIRECTION4
PRESET_MODE8
TURN_OFF16
TURN_ON32
Generated from docs-bundle v0.1.0, novon-platform 9ce3486c (2026-10-09).

On this page