Skip to content

Standard Capabilities

battery_power

Used when a device is battery-powered.

Attributes:
level — (real, 0 to 1) current battery charge state.
since — (int, timestamp) time of last update to level.

Actions: none

binary_sensor

Used when the device implements the behavior of a binary sensor or has a binary property or state. This is a root capability for many other capabilities, such as motion_sensor and door_sensor.

Attributes:
state — (boolean) current value. The true state typically indicates detection, tripped/in alarm/not secure, etc.

Actions: none

button

Used when the device implements the behavior of a pressable button.

Attributes:

state — (string) last button state: single (pressed once), double (double-press), triple (triple-press), 4 (four-press), 5 (five-press), hold, release, long, unknown. Not all Controller instances will (or are required to) implement all values; this is dependent on the capabilities of the underlying hub and the device itself.

since — (int, timestamp) the time of the last button press. This is to help distinguish successive presses of the same button (i.e. in a condition checking to see if a button is pressed, you should AND two conditions: since changes and state equals whatever state you are testing for).

color_temperature

Used when the device supports color temperature.

Attributes:
value — (ui4, 1600 to 9000) current color temperature in degrees Kelvin.
Actions:
set — (value, ui4, 1600 to 9000) set the color temperature target in degrees Kelvin.

cover

Used for window coverings, shades, etc.

Attributes:
state — (boolean) true when cover is open, false when cover is closed.
Actions:
open — (no parameters) open the cover (fully).
close — (no parameters) close the cover (fully).
stop — (no parameters) stop the cover (i.e. stop the current open or close operation regardless of current position).

See also: position

co_detector

Used for devices that can detect carbon monoxide (CO). This capability is an alias for binary_sensor.

dimming

Represents dimming ability of a device.

Attributes:

level — (real, 0.0 to 1.0), the current dimming level of the device.

step — (real, 0.0 to 1.0), step value for up/down actions, as defined by the device or controller.

Actions:

set — (level, real, 0.0 to 1.0) set the dimming level of the device.

up — increases the brightness level of the device by the step attribute value.

down — decreases the brightness level of the device by the step attribute value.

door_sensor

Used for door/contact sensor devices and devices that can sense open/close state. This capability is an alias for binary_sensor.

See also: window_sensor

hs_color

Used where the device supports the hue-saturation color model.

Attributes:
hue — (int, 0 to 360) hue in degrees, where 0=pure red, 120=pure green, 240=pure blue.
saturation — (real, 0 to 1) saturation level.
Actions:
set_hs — (hue, int, 0 to 360; saturation, real, 0 to 1) set the hue and saturation.
set_hue — (hue, int, 0 to 360) set the hue only.
set_saturation — (level, real, 0 to 1) set the saturation only.

humidity_sensor

Used when the device can report humidity level. This capability is an alias for value_sensor.

lock

Used for lock devices and devices that have locks.

Attributes:
state — (boolean) state of the lock; true is locked (secure), false is unlocked.
Actions:
lock — (no parameters) lock the lock
unlock — (no parameters) unlock the lock
set — (state, boolean) lock or unlock the lock as determinated by the value of the state parameter (true is lock/secure, false is unlock).

motion_sensor

Used for motion sensor devices and devices that can sense motion. This capability is an alias for binary_sensor.

passage

Used for passages and portals that can be opened or closed. It was originally created to represent garage doors and motorized gates, but can be used for any similar passage that includes opened/closed state detection (like door_sensor) and the ability to remotely control it (actions).

Attributes:
state — (boolean) state of the passage; true is open; false is closed.
Actions:
open — (no parameters) open the passage.
close — (no parameters) close the passage.
set — (state, boolean) open (state=true) or close (state=false) the passage.

position

Used for devices that can be positioned within a defined (linear) range. This is often associated with positionable window coverings/shades.

Attributes:
value — (real, 0 to 1) the current position of the device.
Actions:
increase — (amount, real, 0 to 1) increase the position of the device by the given amount.
decrease — (amount, real, 0 to 1) decrease the position of the device by the given amount.
relative — (amount, real, -1 to 1) move the device by the given amount, where amount < 0 decreases its position, and > 0 increases it.
set — (value, real, 0 to 1) set the device position to the absolute position in value.

See also: cover

power_switch

Represents a binary switch.

Attributes:
state — (boolean) on/off state of the switch
Actions:
on — (no parameters) turn the switch on.
off — (no parameters) turn the switch off.
set — (state, boolean) sets the switch state to the (boolean) value of the state parameter given.

reactor_system

This capability is used on the Reactor System (reactor_system>system) entity to present state data for itself and the host system.

Attributes:
system_memory_size — (ui8) the physical size (bytes) of the host system's installed RAM.
system_memory_free — (ui8) the amount of host RAM available (bytes).
reactor_memory_used — (ui8) the amount of RAM being used by the Reactor process.
system_load — (array) contains the system's 1 minute, 5 minute, and 15 minute load averages (*nix hosts only).
system_uptime — (real) host system uptime in seconds.
reactor_uptime — (real) Reactor uptime in seconds.
alert_count — (int) the number of active Reactor alerts currently.
alert_last — (ui8, timestamp) the time (Epoch milliseconds) of the most recent alert posted.
alert_severity — (int) the level of the most severe active alert (0=error, 1=warning, 2=notice).
alerts — (array) an array of all alerts currently active.
Actions:
clear_alert — (id, ui8) clear the alert indicated by the id parameter.
clear_alerts — (no parameters) clears all active alerts.

See also: suninfo; SystemController

rgb_color

Used for devices that implement the RGB color model.

Attributes:
red — (ui1, 0 to 255) red level
green — (ui1, 0 to 255) green level
blue — (ui1, 0 to 255) blue level
Actions:
set — (value, ui8, 0x000000 to 0xffffff) set the RGB levels using a single 64-bit integer; typically, the value is represented as a hexadecimal number of the form 0xrrggbb.
set_rgb — (red, green, blue, all ui1, 0 to 255) set RGB levels in three parameters, one for each color component.

script

Used for entities that represent scripts, scenes, and similar "runnable" objects on a hub.

Attributes:
runnable — (boolean) true if the object can be run at the moment.
Actions:
run — (no parameters) run the object

smoke_detector

Used for devices that can detect smoke. This capability is an alias for binary_sensor.

string_sensor

Used for sensors that report a string value.

Attributes:
value — (string) the current value.

Actions: none

suninfo

This capability is used on the Reactor System (reactor_system>sun) entity to present the system sun calculation data.

Attributes:
sunrise — (int, timestamp) time (Epoch milliseconds) of sunrise today.
sunset — (int, timestamp) time (Epoch milliseconds) of sunset today.
civil_dawn — (int, timestamp) time (Epoch milliseconds) of civil dawn today.
civil_dusk — (int, timestamp) time (Epoch milliseconds) of civil dusk today.
nautical_dawn — (int, timestamp) time (Epoch milliseconds) of nautical dawn today.
nautical_dusk — (int, timestamp) time (Epoch milliseconds) of nautical dusk today.
astronomical_dawn — (int, timestamp) time (Epoch milliseconds) of astronomical dawn today.
astronomical_dusk — (int, timestamp) time (Epoch milliseconds) of astronomical dusk today.
day_length — (real) length of current day (sunrise to sunset) in hours.
transit — (int, timestamp) time (Epoch milliseconds) of solar noon, the point at which the sun reaches its highest position in the sky today.
elevation — (real) elevation angle (degrees, 0 to 90) of the sun relative to the horizon.
azimuth — (real) azimuth angle (degrees from true North) of the sun relative to the configured system location.
sun_angledeprecated; will be removed from a future release; replaced by elevation.

Actions: none

See also: sys_system

sys_system

Each controller instance manages a single system entity that implements this capability to contain state for itself.

Attributes:
state — (boolean) up/down state of the controller; when false, the controller is not able to communicate with the configured hub.
Actions:
restart — (no parameters) restart the hub/hub software (not all controllers implement this action).

temperature_sensor

Used when the device can report temperature (ambient or other). This capability is an alias for value_sensor.

toggle

Toggles the state of the device. This is usually associated with the power_switch capability, but not always. It may be applied by any device/entity or capability at the discretion of the controller implementation.

Attributes: none

Actions:

toggle — (no parameters) toggles the device state.

See also: power_switch

value_sensor

Used for sensors where the data is numeric. This capability serves as a basis for many other more-specifically-named capabilities, like temperature_sensor and humidity_sensor.

Attributes:
value — (number) current sensor value.
units — (string) units of value.

Actions: none

window_sensor

Used for window/contact sensor devices and devices that can sense open/close state. This capability is an alias for binary_sensor.

See also: door_sensor

Other

  light_effect:
    attributes:
      current:
        type: string
    actions:
      start:
        arguments:
          effect:
            type: string
      stop:
        arguments: {}
  step_level:
    actions:
      low: {}
      medium: {}
      high: {}
      up: {}
      down: {}
      set:
        attributes:
          value:
            type: real
            min: 0
            max: 1
  keypad:
    attributes:
      last_code:
        type: string
      last_function:
        type: string
        values:
          - 'lock'
          - 'unlock'
          - 'arm'
          - 'disarm'
          - 'away'
          - 'stay'
          - 'instant'
          - 'panic'
          - 'fire'
          - 'medical'
    actions:
      set_code:
        arguments:
          slot:
            type: int
            sort: 1
          code:
            type: string
            sort: 2
          name:
            type: string
            sort: 3
      delete_code:
        arguments:
          slot:
            type: int
  security_mode:
    attributes:
      mode:
        type: string
        values:
          - Disarmed
          - Away
          - Stay
          - Instant
    actions:
      set_mode:
        arguments:
          mode:
            type: string
            enum:
              - Disarmed
              - Away
              - Stay
              - Instant
  av_transport:
    attributes:
      state:
        type: string
        values:
          - STOPPED
          - PAUSED
          - PLAYING
          - TRANSITIONING
          - WAITING
      current_track:
        type: int
      current_title:
        type: string
      current_artist:
        type: string
      current_album:
        type: string
      album_art:
        type: string
    actions:
      stop: {}
      pause: {}
      play: {}
      fast_forward: {}
      rewind: {}
  media_navigation:
    attributes: {}
    actions:
      next_track: {}
      previous_track: {}
      next_chapter: {}
      previous_chapter: {}
      next_media: {}
      previous_media: {}
  av_repeat:
    attributes:
      shuffle:
        type: bool
        values:
          'true': 'on'
          'false': 'off'
      repeat_mode:
        type: string
        values:
          'off': 'Off'
          one: One
          all: All
          other: Other
    actions:
      set_shuffle:
        arguments:
          state:
            type: bool
            values:
              'true': 'on'
              'false': 'off'
      shuffle_on: {}
      shuffle_off: {}
      set_repeat:
        arguments:
          mode:
            type: string
            values:
              - 'off'
              - one
              - all
      repeat_off: {}
      repeat_one: {}
      repeat_all: {}
  volume:
    attributes:
      level:
        type: real
        min: 0
        max: 1
    actions:
      increase:
        arguments:
          amount:
            type: real
            min: 0
            max: 1
            default: 0.1
      decrease:
        arguments:
          amount:
            type: real
            min: 0
            max: 1
            default: 0.1
      relative:
        arguments:
          amount:
            type: real
            min: -1
            max: 1
            default: 0
      set:
        arguments:
          value:
            type: real
            min: 0
            max: 1
      set_db:
        arguments:
          db:
            type: real
            min: -120
            max: 180
  muting:
    attributes:
      state:
        type: bool
        values:
          'true': mute on
          'false': mute off
    actions:
      mute: {}
      unmute: {}
      toggle: {}
      set:
        arguments:
          muting:
            type: bool
            values:
              'true': mute on
              'false': mute off
  media_source:
    attributes:
      selected:
        type: string
        values:
          - tv
          - dvd
          - bd
          - hdmi1
          - hdmi2
          - hdmi3
          - hdmi4
          - fm
          - am
          - component
          - av1
          - av2
          - dp
          - dvi
          - vga
          - pc
          - usb
          - bluetooth
    actions:
      previous: {}
      next: {}
      set:
        arguments:
          input:
            type: string
      hdmi1: {}
      hdmi2: {}
      hdmi3: {}
      hdmi4: {}
      dp: {}
      dvi: {}
      vga: {}
      pc: {}
  media_output:
    attributes:
      selected:
        type: string
        values:
          - tv
          - hdmi1
          - hdmi2
          - hdmi3
          - hdmi4
          - component
          - av1
          - av2
          - dp
          - dvi
          - vga
          - pc
          - stream
    actions:
      previous: {}
      next: {}
      set:
        arguments:
          output:
            type: string
      tv: {}
      hdmi1: {}
      hdmi2: {}
      hdmi3: {}
      hdmi4: {}
      component: {}
      av1: {}
      av2: {}
      dp: {}
      dvi: {}
      vga: {}
      pc: {}
      stream: {}
  tuner:
    attributes:
      channel:
        type: string
    actions:
      up: {}
      down: {}
      set:
        arguments:
          channel:
            type: string
  tilt_sensor:
    alias: binary_sensor
  co2_detector:
    alias: binary_sensor
  gas_detector:
    alias: binary_sensor
  leak_detector:
    alias: binary_sensor
  heat_detector:
    alias: binary_sensor
  glass_break_detector:
    alias: binary_sensor
  presence_sensor:
    alias: binary_sensor
  arming:
    attributes:
      state:
        type: bool
        values:
          'true': armed
          'false': disarmed
    actions:
      arm: {}
      disarm: {}
  tamper:
    attributes:
      state:
        type: bool
  humidity_sensor:
    alias: value_sensor
  light_sensor:
    alias: value_sensor
  uv_sensor:
    alias: value_sensor
  voltage_sensor:
    alias: value_sensor
  current_sensor:
    alias: value_sensor
  power_sensor:
    alias: value_sensor
  energy_sensor:
    alias: value_sensor
  power_factor_sensor:
    alias: value_sensor
  air_quality_sensor:
    alias: value_sensor
  button:
    attributes:
      state:
        type: string
        values:
          - 'single'
          - 'double'
          - 'triple'
          - '4'
          - '5'
          - 'hold'
          - 'release'
          - 'long'
          - 'unknown'
      since:
        type: ui8
  hvac_control:
    attributes:
      mode:
        type: string
        values:
          - 'off'
          - 'on'
          - heat
          - cool
          - auto
          - vent
          - dry
          - emergency
          - secondary
      state:
        type: string
        values:
          - 'off'
          - idle
          - heating
          - cooling
          - dehumidifying
          - humidifying
          - recirculating
          - delayed
    actions:
      set_mode:
        arguments:
          mode:
            type: string
            values:
              - 'off'
              - 'on'
              - heat
              - cool
              - auto
              - vent
              - dry
  hvac_heating_unit:
    attributes:
      state:
        type: bool
      setpoint:
        type: real
      units:
        type: string
    actions:
      set_setpoint:
        arguments:
          setpoint:
            type: real
  hvac_cooling_unit:
    attributes:
      state:
        type: bool
      setpoint:
        type: real
      units:
        type: string
    actions:
      set_setpoint:
        arguments:
          setpoint:
            type: real
  hvac_blower_unit:
    attributes:
      state:
        type: bool
      mode:
        type: string
        values:
          - 'off'
          - auto
          - continuous
          - periodic
          - low
          - medium
          - high
      filter_change:
        type: bool
    actions:
      set_mode:
        arguments:
          mode:
            type: string
            values:
              - 'off'
              - auto
              - continuous
              - periodic
              - low
              - medium
              - high
  hvac_blower_swing:
    attributes:
      mode:
        type: string
        values:
          - 'off'
          - vertical
          - horizontal
          - both
    actions:
      set_mode:
        arguments:
          mode:
            type: string
            values:
              - 'off'
              - vertical
              - horizontal
              - both
  hvac_humidifier:
    attributes:
      state:
        type: bool
      mode:
        type: string
        values:
          - 'off'
          - 'on'
          - auto
      setpoint:
        type: real
        min: 0
        max: 1
    actions:
      set_mode:
        arguments:
          mode:
            type: string
            values:
              - 'off'
              - 'on'
              - auto
  hvac_dehumidifier:
    attributes:
      state:
        type: bool
      mode:
        type: string
        values:
          - 'off'
          - 'on'
          - auto
      setpoint:
        type: real
        min: 0
        max: 1
    actions:
      set_mode:
        arguments:
          mode:
            type: string
            values:
              - 'off'
              - 'on'
              - auto
  chime:
    attributes: {}
    actions:
      play:
        arguments:
          sound:
            type: string
          volume:
            type: real
            min: 0
            max: 1
          duration:
            type: real
            min: 0
      stop: {}
      sound: {}
  active:
    attributes:
      active:
        type: bool
  selector:
    attributes:
      value:
        type: string
    actions:
      select:
        arguments:
          value:
            type: string
  vacuum:
    attributes:
      status:
        type: any
      position:
        type: any
      bin_loaded:
        type: bool
      bin_full:
        type: bool
      online:
        type: bool
    actions:
      start: {}
      stop: {}
      pause: {}
      home: {}
      locate: {}
  wx:
    description: Generic capability to house weather information
    attributes:
      location:
        type: string
      asoftime:
        type: int
      description:
        type: string
      condition_code:
        type: string
      icon:
        type: string
      temperature:
        type: real
      temperature_unit:
        type: string
        values:
          - raw
          - C
          - F
          - K
      feels_like:
        type: real
      humidity:
        type: real
        min: 0
        max: 100
      humidity_unit:
        type: string
        values:
          - "%"
      precipitation_24hr:
        type: real
      precipitation_1hr:
        type: real
      precipitation_other:
        type: real
      precipitation_unit:
        type: string
        values:
          - raw
          - mm
          - in
          - m
          - ft
      precipitation_type:
        type: string
        values:
          - rain
          - snow
          - ash
          - other
      wind_speed:
        type: real
      wind_gust:
        type: real
      wind_speed_unit:
        type: string
        values:
          - raw
          - m/s
          - km/h
          - mph
          - fps
      wind_conditions:
        type: string
        values:
          - calm
          - light air
          - light breeze
          - gentle breeze
          - moderate breeze
          - fresh breeze
          - strong breeze
          - high
          - gale
          - severe gale
          - whole gale
          - violent storm
          - hurricane
      wind_compass:
        type: real
        min: 0
        max: 360
      wind_direction:
        type: string
        values:
          - N
          - NNE
          - NE
          - ENE
          - E
          - ESE
          - SE
          - SSE
          - S
          - SSW
          - SW
          - WSW
          - W
          - WNW
          - NW
          - NNW
      pressure:
        type: real
      pressure_unit:
        type: string
        values:
          - raw
          - bar
          - hPa
          - inHg
          - mmHg
      cloud_cover:
        type: real
      ceiling:
        type: real
      ceiling_unit:
        type: string
        values:
          - raw
          - m
          - mi
          - km
          - ft
      visibility:
        type: real
      visibility_unit:
        type: string
        values:
          - raw
          - m
          - mi
          - km
          - ft
    actions: {}
  ir_remote:
    attributes: {}
    actions:
      learn:
        arguments:
          command:
            type: string
      delete:
        arguments:
          command:
            type: string
      send:
        arguments:
          command:
            type: string
      send_codes:
        arguments:
          codes:
            type: string
            bigtext: true
            uiclass: code
  rf_remote:
    attributes: {}
    actions:
      learn:
        arguments:
          command:
            type: string
      delete:
        arguments:
          command:
            type: string
      send:
        arguments:
          command:
            type: string
      send_codes:
        arguments:
          codes:
            type: string
            bigtext: true
            uiclass: code
      detect:
        arguments:
          command:
            type: string
  zwave_network:
    attributes:
      state:
        type: bool
    actions:
      send_data:
        arguments:
          node:
            type: ui1
            sort: 1
          data:
            type: string
            sort: 2
      start_include: {}
      stop_include: {}
      start_exclude: {}
      stop_exclude: {}
      start_heal: {}
      stop_heal: {}
      restart: {}
  zwave_device:
    attributes:
      failed:
        type: bool
      node_id:
        type: int
      capabilities:
        type: string
      manufacturer_info:
        type: string
      version_info:
        type: string
    actions:
      poll:
        deprecated: "zwave_device.refresh"  # 2021-09-16 poll deprecated; use refresh
      refresh: {}
      reconfigure: {}
      set_config:  # Command class 0x70 command 0x04 <parameter-number> <size> <data>
        arguments:
          parameter:
            type: ui1
            sort: 1
          size:
            type: ui1
            values: [1, 2, 4]
            sort: 2
          value:
            type: ui4
            sort: 3
          bitmask:
            type: ui4
            sort: 4
      reset_meters: {}  # Command class 0x32 command 0x05
      update_neighbors: {}  # Deprecated; use heal
      set_name: {}
      set_location: {}
      set_value: {}
      remove_failed: {}
      replace_failed: {}
      heal: {}
      interview: {}
  zwave_scene_controller:
    attributes:
      scene_activated:
        type: int
      key_attribute:
        type: ui8
      scene_deactivated:
        type: int
      central_scene:
        type: int
  sys_group:
    attributes:
      members:
        type: array
        default: []
      empty:
        type: bool
        default: true
    actions: {}
  printer3d:
    attributes:
      printing:
        type: bool
      paused:
        type: bool
      resuming:
        type: bool
      ready:
        type: bool
      operational:
        type: bool
      error:
        type: bool
      finishing:
        type: bool
      temperature_bed_actual:
        type: real
      temperature_bed_target:
        type: real
      temperature_hotend_actual:
        type: real
      temperature_hotend_target:
        type: real
      message:
        type: string
      sdcard_ready:
        type: bool

Updated: 2022-Feb-17