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 tolevel
. Deprecated: As of 22256, metadata is the preferred way to access the last-modified time of an attribute.
Actions: none
battery_maintenance
For battery-powered devices that can report battery health/maintenance state.
- Attributes:
rechargeable
— (bool) true if battery is rechargable, false if not, null if unknown/not applicable.replace
— (bool) true if the device is signalling that the battery is due for replacement (lifetime expired, etc.).charging
— (bool) true if the battery is currently being charged; false if not charging; null if unknown/not applicable.
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 andstate
equals whatever state you are testing for). Deprecated: As of 22256, metadata is the preferred way to access the last-modified time of an attribute.
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 thestep
attribute value. -
down
— decreases the brightness level of the device by thestep
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
ev_charger
- Attributes:
state
— (string)not connected
,initializing
,self-test
,ready
,charging
,limited charging
,suspended
,fault
mode
— (int) defined by chargeroperating_state
— (string)charge
,standby
schedule
— (string)normal
,solar
,night
error
— (string) an error message reported by the charger (if available)duration
— (int, milliseconds)remaining
— (int, milliseconds)- Actions:
set_current
— (limit
, real > 0.0) set current limit for chargingset_operating_mode
— (mode
, stringcharge
orstandby
) set operating modeset_schedule
— (schedule
, stringnormal
,solar
,night
) set schedule
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
.
irrigation_zone
Models an irrigation (watering) zone. This is a specialized version of valve
that is more specific and preferable in irrigation applications.
- Attributes:
state
— (string)running
orstopped
(or null if unknown).duration
— (uint) duration, in seconds, of the normal programmed watering time for this zone (if available, null otherwise).remaining
— (uint) remaining time, in seconds, of watering if the zone is running. Zero otherwise, or null if this is unavailable.last_run
— (ui8) Timestamp of last run, or null if not available/never has run.next_run
— (ui8) Timestamp of next run, or null if not available/will not run.enabled
— (bool) Enabled state of zone on irrigation controller (or null if not available).- Actions:
enable
— Enable the zone on the irrigation controller (i.e. make it available to be scheduled and run per the controller's rules/scheduling).disable
— Disable the zone (prevent it from running).run
— Start a watering cycle now.stop
— Stop the running watering cycle now.set
— set the zone torunning
orstopped
(viastate
argument); ifrunning
, the optionalduration
argument may be given (ui8 >= 0) to specify the duration of the watering cycle. Aduration
of 0 would be presumed to be a synonym forstopped
(water for 0 seconds, i.e. terminate watering).
light_effect
Some lights, particularly "smart" bulbs, have built-in effects that can be enabled.
- Attributes:
current
— (string) the current light effect running, or null if none.speed
— (real, 0.0-1.0) the speed of the effect from 0-100%, however the device defines that (null if not applicable to the device).duration
— (real, >0, seconds) the duration of the effect cycle, in seconds (null if not applicable to the device).- Actions:
start
— (effect
string,speed
optional 0.0-1.0,duration
optional >0.0 seconds) turn on the specified effect; ifspeed
orduration
are supplied, apply them to the new effect if the device is capable.stop
— stop the current effect.set_speed
— (speed
0.0-1.0) set the speed of the currently running effect (if the device is capable).set_duration
— (duration
>0.0 seconds) set the duration of an effect cycle (if the device is capable).
location
Describes a geographic location. This capability has attributes only, no actions.
- Attributes:
latitude,longitude
— (real) the latitude and longitude of the location, in degrees. Negative latitudes are south of the Equator; negative longitudes are west of the Prime Meridian.elevation
— (real) the elevation of the location (optional). Units are always meters above mean sea level.
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 lockunlock
— (no parameters) unlock the lockset
— (state
, boolean) lock or unlock the lock as determinated by the value of thestate
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, whereamount
< 0 decreases its position, and > 0 increases it.set
— (value
, real, 0 to 1) set the device position to the absolute position invalue
.
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 thestate
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 theid
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 levelgreen
— (ui1, 0 to 255) green levelblue
— (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_angle
— deprecated; will be removed from a future release; replaced byelevation
.
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 (Reactor) controller. This does not restart the connect hub (i.e. it's not a remote reboot); hubs that support this implement an action in theirx_hubtype_sys
extension capability.
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
vacuum
Models common attributes and behavior of a "bot vac".
- Attributes:
status
— (string) status string as given by the device/API.position
— DEPRECATED -- extend/use thelocation
capability instead.bin_loaded
— (bool) true if the bin is on the vacuum, false if removed, null if unknown.bin_full
— (bool) true if the bin is full, false if not, null if unknown.online
— (bool) true if the vacuum's network connection is up, false if down/no connection, or null if unknown/not applicable.filter_alarm
— (bool) true if filter needs to be changed, false if OK, null if unknown/not applicable.- Actions:
start
— start vacuuming.stop
— stop vacuuming (implies return to home/base while vacuuming if capable).pause
— pause vacuuming (stop wherever, laterstart
would resume from that location).home
— return home immediately (if vacuum is capable of returning home without vacuuming, do that; otherwise, this could be a synonym forstop
).locate
— cause the vacuum to make sounds to help establish its location.
Since most bot-vacs are battery powered, entities using this capability will usually need to extend battery_power
, and possibly battery_maintenance
, as well.
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
valve
Used for water valves, this is a purpose-appropriate version of power_switch
for valve control. For irrigation valves, the even-more-specific irrigation_zone
may preferable.
- Attributes:
state
— (string)open
orclosed
(or null if unknown).- Actions:
open
— open the valve (allow flow).close
— close the value (restrict flow).set
— set the valve (via argumentstate
) toopen
orclosed
.
The states open
and closed
are meant to reflect the fully-open and -closed positions, respectively. If the valve can be positioned between, extend the position
capability to the entity.
wifi_status
For WiFi-connected devices for which information is available, this capability exposes some aspects of the WiFi connection.
- Attributes:
ssid
— (string) the SSID of the connected WiFi network;rssi
— (real) the RSSI (Received Signal Strength Indication) from the device;station_ip
— (string) the assigned IP address reported by the device.
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
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
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
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: 2024-Jul-31