Device capabilities & events
Device capabilities & events
Scope
This section documents device capabilities, events, and alarm fields. Task flows live in Developer guides: binding devices, reading/writing configuration, and receiving messages—see camera onboarding, Web/SaaS integration, Receive device messages, and Push configuration.
The legacy things-model OpenAPI (getProductModel, iotDeviceControl, etc.) is not published for overseas integrations—use Capability usage and device.property.* / device.service.invoke instead. Device hosting is not offered overseas.
Reader notes
Start with Using capabilities. Call device.capability.list before you use IDs on this page. See Permission codes and Capability errors.
What is in this section
- Browse by device type (excluding national-standard devices)
- Permission codes, Capability error codes
- Events overview and Event types
- Alarm and capability messages (
device.message.*) - Device list and bind-state HTTP (
device.detail.*): Device APIs (chapter 5 — not under capabilities)
Current capability sets and legacy push types: Ability set, Feature flags, Event message types (legacy msgType table), Event message format (legacy payload copy). FAQ: Capability FAQ.
Device capabilities
Capability articles are under Device capabilities in the sidebar, mirroring the domestic “02 Device capabilities” section: 00 common methods → 01 detection and alarms → 02 imaging → … → 16 control. Each group is a flat numbered set; public URLs come from each page’s permalink (e.g. `/book/04-capabilities/detection/arming/enabled/get.html)—do not add extra folder levels from the URL alone.
Start with Capability usage, then browse by domain. Four common OpenAPI methods:
| Action | Method name |
|---|---|
| List capabilities on a device | device.capability.list |
| Batch read properties | device.property.get |
| Batch write properties | device.property.set |
| Invoke a service once | device.service.invoke |
Reboot, Wi-Fi, time sync, upgrade, and similar topics are under Device maintenance; detail and binding APIs are in the API reference (not all migrated here yet).
Events
Capability events: add capabilityEvent to callbackFlag in setMessageCallback. msgType is the eventId; the payload includes deviceId and outputData.
Legacy alarms and online/offline still use alarm and deviceStatus (did, cid, string msgType). Types: Event message types (legacy table); payload formats: Event message format (legacy copy). Standard eventIds: Event types; receiving: Receive alarm messages and Device messages.
