| name | smartthings-capabilities |
| description | Verify and use existing SmartThings capabilities in Edge driver Lua and profile YAML. Use before adding any `capabilities.*` reference, profile capability ID, attribute emission, command handler, or custom capability proposal. |
SmartThings Capabilities
Verify the live registry definition before using a capability. Do not infer capability IDs, attribute names, units, commands, or versions from another platform's feature name.
Workflow
-
Identify the proposed capability ID and the device value/command it must represent.
-
Query the standard registry:
smartthings capabilities <capability-id> --standard --json
-
Read the result and record the capability version, attributes, value schema, allowed units, and commands.
-
Add the matching Lua reference (capabilities.<id>), profile entry, emitted attribute event, and command handler only when the registry definition supports each use.
-
Add a test that constructs the verified attribute or command. Reject unsupported units and values before emitting them.
-
If the capability is absent or unsuitable, stop and propose either a supported standard mapping or a custom capability. Do not create a custom capability without explicit authorization.
Required Evidence
Include this record with the implementation:
Capability: <id>, version <n>, standard/custom
Registry command: smartthings capabilities <id> --standard --json
Attribute/command: <name>
Schema: <value type and allowed units or enum values>
Driver mapping: <Lua emitter/handler and profile component>
References