Smart Home Toggles Trait Schema
action.devices.traits.Toggles
- This trait belongs to any devices with settings that can only exist in one of two states.
These settings can represent a physical button with an on/off or active/inactive state, a checkbox in HTML, or any other sort of specifically enabled/disabled element. If the setting has more than two states, or has a state in which neither of the binary options is selected, it is better represented as a Modes trait, which equates to multi-state dials, radio buttons (physical or HTML), or binary states that are not explicitly on/off (for example, "AM/FM" or "hot/cold").
This trait covers one or more individual toggles which users can set. In
general, these toggles should be used for functionality that is unlinked
from other device behavior. Linked behavior, such as turning the device itself
on or off, should use more specific traits (for example, the thermostatMode
in the trait TemperatureSetting).
Device ATTRIBUTES
Devices with this trait may report the following
attributes as part of the SYNC
operation. To learn
more about handling SYNC
intents, see
Intent fulfillment.
Attributes | Type | Description |
---|---|---|
availableToggles |
Array |
Required. List of available toggles. |
[item, ...] |
Object |
Available toggle. |
name |
String |
Required. Internal name of the toggle, which will be used in commands and states. This can be non-user-friendly, and will be shared across all languages. |
name_values |
Array |
Required. Synonyms of the toggle in each supported languages. |
[item, ...] |
Object |
Synonyms of the toggle in a given language. |
name_synonym |
Array |
Required. Synonyms of the toggle. The first string in this list is used as the canonical name of the level in that language. |
[item, ...] |
String |
Synonym name. |
lang |
String |
Required. Language code (ISO 639-1). See supported languages. |
commandOnlyToggles |
Boolean |
(Default: Indicates if the device supports using one-way (true) or two-way (false) communication. Set this attribute to true if the device cannot respond to a QUERY intent or Report State for this trait. |
queryOnlyToggles |
Boolean |
(Default: Required if the device supports query-only execution. This attribute indicates if the device can only be queried for state information, and cannot be controlled. |
Examples
Device with multiple toggle.
{ "availableToggles": [ { "name": "sterilization_toggle", "name_values": [ { "name_synonym": [ "Clean", "Bio clean" ], "lang": "en" } ] }, { "name": "energysaving_toggle", "name_values": [ { "name_synonym": [ "Energy saving", "Eco" ], "lang": "en" } ] } ] }
Device with command-only toggles.
{ "availableToggles": [ { "name": "filter_toggle", "name_values": [ { "name_synonym": [ "Filtered", "Filter" ], "lang": "en" } ] } ], "commandOnlyToggles": true }
Device with query-only toggles.
{ "availableToggles": [ { "name": "filter_toggle", "name_values": [ { "name_synonym": [ "Filtered", "Filter" ], "lang": "en" } ] } ], "queryOnlyToggles": true }
Device STATES
Entities with this trait may report the following
states as part of the QUERY
operation. To learn
more about handling QUERY
intents, see
Intent fulfillment.
States | Type | Description |
---|---|---|
currentToggleSettings |
Object |
Required. Key/value pair with the toggle |
<string> |
Boolean |
Current toggle state. |
Examples
Is sterilization on?
{ "currentToggleSettings": { "sterilization_toggle": true, "energysaving_toggle": false } }
Device COMMANDS
Devices with this trait may respond to the following
commands as part of the EXECUTE
operation. To learn
more about handling EXECUTE
intents, see
Intent fulfillment.
action.devices.commands.SetToggles
Set a given toggle state.
Parameters
Parameters | Type | Description |
---|---|---|
updateToggleSettings |
Object |
Required. Key/value pair with the toggle |
<string> |
Boolean |
New toggle state |
Examples
Turn on energy saving.
{ "command": "action.devices.commands.SetToggles", "params": { "updateToggleSettings": { "energysaving_toggle": true } } }
Turn off filter.
{ "command": "action.devices.commands.SetToggles", "params": { "updateToggleSettings": { "filter_toggle": false } } }
Sample utterances
de-DE
-
Bitte schalte
Power Cool am Kühlschrank aus -
stelle
den Kühlschrank aufPower Cool
en-US
-
activate
power freeze forthe freezer -
cancel
power cool forthe kitchen fridge
es-ES
-
pon el
enfriamiento rápido enla nevera -
quita el
enfriamiento rápido
fr-FR
-
mets le mode
power cool surle réfrigérateur -
Éteins le mode
power freeze duréfrigérateur .
hi-IN
-
रेफ़्रिजरेटर कापावर कूल मोड बंद कर दो -
रेफ़्रिजरेटर मेंपावर कूल मोड चालू करो
it-IT
-
disattiva il
power freeze del freezer -
imposta la funzione
power freeze del surgelatore
ja-JP
-
冷蔵庫 の急速冷凍 つけて -
冷蔵庫 の急速冷凍 を切ってくれる
ko-KR
-
냉장고 급속 냉장 해제해 -
냉장고 모드급속 냉장 으로 바꿔
nl-NL
-
Zet
de power cool uit opde koelkast -
zet
de koelkast opsuperkoelen
pt-BR
-
Ativa a função
power freeze nocongelador . -
Desativa o
bloqueio infantil doforno . -
desligar o
power cool dageladeira -
iniciar o modo
power freeze dofreezer
sv-SE
-
Stäng av
power cool ikylskåpet -
sätt på
power freeze påfrysen