Capabilities
A device or a thing is not a model: it is a set of capabilities, each a list of controls bound to one of the closed primitives (toggle, slider, select, setpoint, momentary, readout, color, color_temp, stepper). A control with needs appears only when the device declares that feature. The same catalogue is served live at GET /v1/capabilities and as /capabilities.json.
| Capability | Label | Controls |
|---|---|---|
light | Light | power (toggle), brightness (slider, needs dim), colorTemp (color_temp, needs color_temp), color (color, needs color) |
switch | Switch | power (toggle) |
sensor.motion | Motion | detected (readout, read-only), lastMotion (readout, read-only) |
sensor.contact | Contact | open (readout, read-only) |
sensor.temperature | Temperature | value (readout, read-only) |
sensor.humidity | Humidity | value (readout, read-only) |
sensor.air_quality | Air quality | aqi (readout, read-only), co2 (readout, read-only), voc (readout, read-only), pm25 (readout, read-only) |
sensor.leak | Leak | wet (readout, read-only) |
sensor.smoke | Smoke | alarm (readout, read-only) |
sensor.co | Carbon monoxide | alarm (readout, read-only) |
sensor.illuminance | Light level | lux (readout, read-only) |
sensor.presence | Presence | home (readout, read-only), since (readout, read-only) |
thermostat | Thermostat | setpoint (setpoint), mode (select), fan (select, needs fan), hold (toggle, needs hold) |
lock | Lock | locked (lock), jammed (readout, read-only) |
cover | Cover | position (slider), open (momentary), close (momentary), stop (momentary), moving (readout, read-only) |
fan | Fan | power (toggle), speed (slider, needs speed), oscillate (toggle, needs oscillate), preset (select, needs presets) |
camera | Camera | snapshot (readout, needs snapshot, read-only), stream (momentary, needs stream), privacyMode (toggle, needs privacy) |
media_player | Speaker | volume (slider), muted (toggle), playing (readout, read-only), play (momentary, needs transport), pause (momentary, needs transport), next (momentary, needs transport), group (readout, read-only) |
energy | Energy | power (readout, read-only), today (readout, read-only) |
button | Button | pressed (readout, read-only) |
vacuum | Vacuum | start (momentary), pause (momentary), dock (momentary), activity (readout, read-only), fanPower (select) |
irrigation | Irrigation | running (toggle), zone (select), nextRun (readout, read-only) |
coffee_machine | Coffee machine | power (toggle), brew (momentary), stop (momentary), state (readout, read-only), temperature (readout, read-only), targetTemperature (setpoint), brewing (readout, read-only), pods (readout, read-only) |
battery | Battery | level (readout, read-only), low (readout, read-only) |
voice | Assistant | listening (toggle), micMuted (readout, read-only), announceVolume (slider), playbackMode (select), identify (momentary) |
audio_out | Speaker output | outputVolume (slider) |
network | Network | online (readout, read-only), clients (readout, read-only), address (readout, read-only), model (readout, read-only) |
hub | Hub | permitJoin (toggle), children (readout, read-only) |
Primitives: toggle, lock, slider, stepper, color, color_temp, setpoint, select, momentary, readout, text.