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.vibration | Vibration | detected (readout, read-only) |
siren | Siren | active (toggle) |
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), tamper (readout, needs sensor.tamper, read-only) |
sensor.smoke | Smoke | alarm (readout, read-only), tamper (readout, needs sensor.tamper, read-only) |
sensor.co | Carbon monoxide | alarm (readout, read-only), tamper (readout, needs sensor.tamper, 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), talk (momentary, needs twoWay), privacyMode (toggle, needs privacy) |
media_player | Speaker | volume (slider), muted (toggle), playing (readout, read-only), position (readout, read-only), duration (readout, read-only), positionAt (readout, read-only), seek (slider, needs seek), source (select), play (momentary, needs transport), pause (momentary, needs transport), next (momentary, needs transport), previous (momentary, needs transport), group (readout, read-only), members (members, needs grouping), groupVolume (slider, needs grouping), groupMuted (toggle, needs grouping), voiceAssistant (readout, read-only) |
energy | Energy | power (readout, read-only), today (readout, read-only), thermalTotal (readout, needs zigbee.read.energy.thermalTotal, read-only), month (readout, needs zigbee.read.energy.month, read-only), producedToday (readout, needs zigbee.read.energy.producedToday, read-only), powerApparent (readout, needs zigbee.read.energy.powerApparent, read-only), powerFactor (readout, needs zigbee.read.energy.powerFactor, read-only), totalPhaseC (readout, needs zigbee.read.energy.totalPhaseC, read-only), voltagePhaseA (readout, needs zigbee.read.energy.voltagePhaseA, read-only), voltagePhaseAB (readout, needs zigbee.read.energy.voltagePhaseAB, read-only), voltagePhaseBC (readout, needs zigbee.read.energy.voltagePhaseBC, read-only), voltagePhaseCA (readout, needs zigbee.read.energy.voltagePhaseCA, read-only), powerCombined (readout, needs zigbee.read.energy.powerCombined, read-only), currentPhaseA (readout, needs zigbee.read.energy.currentPhaseA, read-only), powerFactorPhaseA (readout, needs zigbee.read.energy.powerFactorPhaseA, read-only), powerFactorPhaseB (readout, needs zigbee.read.energy.powerFactorPhaseB, read-only), energyFlowPhaseA (readout, needs zigbee.read.energy.energyFlowPhaseA, read-only), energyFlowPhaseB (readout, needs zigbee.read.energy.energyFlowPhaseB, read-only), totalPhaseA (readout, needs zigbee.read.energy.totalPhaseA, read-only), totalPhaseB (readout, needs zigbee.read.energy.totalPhaseB, read-only), producedPhaseA (readout, needs zigbee.read.energy.producedPhaseA, read-only), producedPhaseB (readout, needs zigbee.read.energy.producedPhaseB, read-only), frequency (readout, needs zigbee.read.energy.frequency, read-only), powerPhaseA (readout, needs zigbee.read.energy.powerPhaseA, read-only), meanPower (readout, needs zigbee.read.energy.meanPower, read-only), gas (readout, needs zigbee.read.energy.gas, read-only), water (readout, needs zigbee.read.energy.water, read-only), flow (readout, needs zigbee.read.energy.flow, read-only), yesterday (readout, needs zigbee.read.energy.yesterday, read-only), producedMonth (readout, needs zigbee.read.energy.producedMonth, read-only), total (readout, needs zigbee.read.energy.total, read-only), produced (readout, needs zigbee.read.energy.produced, read-only), powerPhaseB (readout, needs zigbee.read.energy.powerPhaseB, read-only), powerPhaseC (readout, needs zigbee.read.energy.powerPhaseC, read-only), voltage (readout, needs zigbee.read.energy.voltage, read-only), voltagePhaseB (readout, needs zigbee.read.energy.voltagePhaseB, read-only), voltagePhaseC (readout, needs zigbee.read.energy.voltagePhaseC, read-only), current (readout, needs zigbee.read.energy.current, read-only), currentPhaseB (readout, needs zigbee.read.energy.currentPhaseB, read-only), currentPhaseC (readout, needs zigbee.read.energy.currentPhaseC, read-only) |
button | Button | pressed (readout, read-only), lastButton (readout, needs button.events, read-only), lastGesture (readout, needs button.events, 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) |
music_library | Music library | account (readout, read-only), playlists (readout, read-only), liked (readout, read-only), artists (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) |
link | Connection | strength (signal, read-only), detail (readout, read-only), accessPoint (readout, read-only), reconnect (momentary, needs link.reconnect) |
network | Network | online (readout, read-only), clients (readout, read-only), address (readout, read-only), model (readout, read-only) |
hub | Hub | permitJoin (toggle), ledNightMode (toggle), wakeChime (toggle, needs hub.wake_chime), children (readout, read-only) |
Primitives: toggle, lock, slider, stepper, color, color_temp, setpoint, select, momentary, readout, text, signal, members.