apis_saltans_zcl/lib.rs
1//! Zigbee Cluster Library (ZCL) frame, command, cluster, and attribute models.
2//!
3//! The crate provides typed ZCL frame parsing and serialization, global commands, selected
4//! cluster-specific commands, and generated access-specific attribute enums.
5//!
6//! Runtime command dispatch currently covers global commands plus the Basic, Groups, Identify,
7//! On/Off, Level Control, Alarms, Scenes, Color Control, and IAS Zone clusters. Attribute modules
8//! are broader and currently cover implemented General, Lighting, Measurement and Sensing, and IAS
9//! clusters. Use [`AttributeReport::parse`] to construct a typed reportable attribute from a
10//! cluster ID, attribute ID, and raw [`zb_core::types::Type`].
11//!
12//! Set `ZCL_DISABLE_DEFAULT_RESPONSE=true` in the build environment to make commands that do not
13//! specify their own default-response behavior set the disable-default-response bit in outgoing
14//! frame control fields.
15
16pub use self::attributes::{
17 Analog, AttributeReport, Discrete, InvalidType, ParseAttributeError, Readable, Reportable,
18 Writable,
19};
20pub use self::clusters::general::{
21 alarms, basic, device_temperature_configuration, groups, identify, level, on_off,
22 power_configuration, scenes, time,
23};
24pub use self::clusters::lighting::{ballast_configuration, color_control};
25pub use self::clusters::measurement_and_sensing::{
26 illuminance_level_sensing, illuminance_measurement, occupancy_sensing,
27};
28pub use self::clusters::{Cluster, global, ias};
29pub use self::command::{Command, Directed, ParseDirection, Scoped};
30pub use self::frame::{Control, Direction, Frame, Header, ParseFrameError, Scope};
31pub use self::options::Options;
32pub use self::status::Status;
33
34mod attributes;
35mod clusters;
36mod command;
37mod frame;
38mod macros;
39mod options;
40mod status;