pub trait ClusterAsyncHandler {
const CLUSTER: Cluster<'static>;
Show 29 methods
// Required methods
fn dataver(&self) -> u32;
fn dataver_changed(&self);
async fn occupancy(
&self,
ctx: impl ReadContext,
) -> Result<OccupancyBitmap, Error>;
async fn occupancy_sensor_type(
&self,
ctx: impl ReadContext,
) -> Result<OccupancySensorTypeEnum, Error>;
async fn occupancy_sensor_type_bitmap(
&self,
ctx: impl ReadContext,
) -> Result<OccupancySensorTypeBitmap, Error>;
// Provided methods
fn lifecycle(
&self,
_ctx: impl HandlerContext,
_op: LifecycleOp,
) -> Result<(), Error> { ... }
fn run(
&self,
_ctx: impl HandlerContext,
) -> impl Future<Output = Result<(), Error>> { ... }
fn hold_time(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u16, Error>> { ... }
fn hold_time_limits<P>(
&self,
ctx: impl ReadContext,
builder: HoldTimeLimitsStructBuilder<P>,
) -> impl Future<Output = Result<P, Error>>
where P: TLVBuilderParent { ... }
fn predicted_occupancy<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<PredictedOccupancyStructArrayBuilder<P>, PredictedOccupancyStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>
where P: TLVBuilderParent { ... }
fn pir_occupied_to_unoccupied_delay(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u16, Error>> { ... }
fn pir_unoccupied_to_occupied_delay(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u16, Error>> { ... }
fn pir_unoccupied_to_occupied_threshold(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u8, Error>> { ... }
fn ultrasonic_occupied_to_unoccupied_delay(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u16, Error>> { ... }
fn ultrasonic_unoccupied_to_occupied_delay(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u16, Error>> { ... }
fn ultrasonic_unoccupied_to_occupied_threshold(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u8, Error>> { ... }
fn physical_contact_occupied_to_unoccupied_delay(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u16, Error>> { ... }
fn physical_contact_unoccupied_to_occupied_delay(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u16, Error>> { ... }
fn physical_contact_unoccupied_to_occupied_threshold(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u8, Error>> { ... }
fn set_hold_time(
&self,
ctx: impl WriteContext,
value: u16,
) -> impl Future<Output = Result<(), Error>> { ... }
fn set_pir_occupied_to_unoccupied_delay(
&self,
ctx: impl WriteContext,
value: u16,
) -> impl Future<Output = Result<(), Error>> { ... }
fn set_pir_unoccupied_to_occupied_delay(
&self,
ctx: impl WriteContext,
value: u16,
) -> impl Future<Output = Result<(), Error>> { ... }
fn set_pir_unoccupied_to_occupied_threshold(
&self,
ctx: impl WriteContext,
value: u8,
) -> impl Future<Output = Result<(), Error>> { ... }
fn set_ultrasonic_occupied_to_unoccupied_delay(
&self,
ctx: impl WriteContext,
value: u16,
) -> impl Future<Output = Result<(), Error>> { ... }
fn set_ultrasonic_unoccupied_to_occupied_delay(
&self,
ctx: impl WriteContext,
value: u16,
) -> impl Future<Output = Result<(), Error>> { ... }
fn set_ultrasonic_unoccupied_to_occupied_threshold(
&self,
ctx: impl WriteContext,
value: u8,
) -> impl Future<Output = Result<(), Error>> { ... }
fn set_physical_contact_occupied_to_unoccupied_delay(
&self,
ctx: impl WriteContext,
value: u16,
) -> impl Future<Output = Result<(), Error>> { ... }
fn set_physical_contact_unoccupied_to_occupied_delay(
&self,
ctx: impl WriteContext,
value: u16,
) -> impl Future<Output = Result<(), Error>> { ... }
fn set_physical_contact_unoccupied_to_occupied_threshold(
&self,
ctx: impl WriteContext,
value: u8,
) -> impl Future<Output = Result<(), Error>> { ... }
}Expand description
The handler trait for the cluster.
Required Associated Constants§
Required Methods§
fn dataver(&self) -> u32
fn dataver_changed(&self)
async fn occupancy( &self, ctx: impl ReadContext, ) -> Result<OccupancyBitmap, Error>
async fn occupancy_sensor_type( &self, ctx: impl ReadContext, ) -> Result<OccupancySensorTypeEnum, Error>
async fn occupancy_sensor_type_bitmap( &self, ctx: impl ReadContext, ) -> Result<OccupancySensorTypeBitmap, Error>
Provided Methods§
fn lifecycle( &self, _ctx: impl HandlerContext, _op: LifecycleOp, ) -> Result<(), Error>
fn run( &self, _ctx: impl HandlerContext, ) -> impl Future<Output = Result<(), Error>>
fn hold_time( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>
fn hold_time_limits<P>(
&self,
ctx: impl ReadContext,
builder: HoldTimeLimitsStructBuilder<P>,
) -> impl Future<Output = Result<P, Error>>where
P: TLVBuilderParent,
fn predicted_occupancy<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<PredictedOccupancyStructArrayBuilder<P>, PredictedOccupancyStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>where
P: TLVBuilderParent,
fn pir_occupied_to_unoccupied_delay( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>
fn pir_unoccupied_to_occupied_delay( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>
fn pir_unoccupied_to_occupied_threshold( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u8, Error>>
fn ultrasonic_occupied_to_unoccupied_delay( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>
fn ultrasonic_unoccupied_to_occupied_delay( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>
fn ultrasonic_unoccupied_to_occupied_threshold( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u8, Error>>
fn physical_contact_occupied_to_unoccupied_delay( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>
fn physical_contact_unoccupied_to_occupied_delay( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>
fn physical_contact_unoccupied_to_occupied_threshold( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u8, Error>>
fn set_hold_time( &self, ctx: impl WriteContext, value: u16, ) -> impl Future<Output = Result<(), Error>>
fn set_pir_occupied_to_unoccupied_delay( &self, ctx: impl WriteContext, value: u16, ) -> impl Future<Output = Result<(), Error>>
fn set_pir_unoccupied_to_occupied_delay( &self, ctx: impl WriteContext, value: u16, ) -> impl Future<Output = Result<(), Error>>
fn set_pir_unoccupied_to_occupied_threshold( &self, ctx: impl WriteContext, value: u8, ) -> impl Future<Output = Result<(), Error>>
fn set_ultrasonic_occupied_to_unoccupied_delay( &self, ctx: impl WriteContext, value: u16, ) -> impl Future<Output = Result<(), Error>>
fn set_ultrasonic_unoccupied_to_occupied_delay( &self, ctx: impl WriteContext, value: u16, ) -> impl Future<Output = Result<(), Error>>
fn set_ultrasonic_unoccupied_to_occupied_threshold( &self, ctx: impl WriteContext, value: u8, ) -> impl Future<Output = Result<(), Error>>
fn set_physical_contact_occupied_to_unoccupied_delay( &self, ctx: impl WriteContext, value: u16, ) -> impl Future<Output = Result<(), Error>>
fn set_physical_contact_unoccupied_to_occupied_delay( &self, ctx: impl WriteContext, value: u16, ) -> impl Future<Output = Result<(), Error>>
fn set_physical_contact_unoccupied_to_occupied_threshold( &self, ctx: impl WriteContext, value: u8, ) -> impl Future<Output = Result<(), Error>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".