Skip to main content

ScheduleObject

Struct ScheduleObject 

Source
pub struct ScheduleObject { /* private fields */ }
Expand description

BACnet Schedule object.

Stores schedule configuration. The application is responsible for evaluating the weekly/exception schedule and calling set_present_value(). Present_Value data type matches schedule_default.

Implementations§

Source§

impl ScheduleObject

Source

pub fn new( instance: u32, name: impl Into<String>, schedule_default: PropertyValue, ) -> Result<Self, Error>

Source

pub fn set_present_value(&mut self, value: PropertyValue)

Application sets this based on schedule evaluation.

Source

pub fn set_description(&mut self, desc: impl Into<String>)

Set the description string.

Source

pub fn set_weekly_schedule( &mut self, day_index: usize, entries: Vec<BACnetTimeValue>, )

Set time-value entries for a given day (0=Monday .. 6=Sunday).

Source

pub fn add_exception(&mut self, event: BACnetSpecialEvent)

Append a special event to the exception schedule.

Source

pub fn set_effective_period(&mut self, period: BACnetDateRange)

Set the effective period for this schedule.

Source

pub fn add_object_property_reference( &mut self, r: BACnetObjectPropertyReference, )

Append an object property reference to the list.

Source

pub fn present_value(&self) -> &PropertyValue

Read the current present_value.

Source

pub fn evaluate(&self, day_of_week: u8, hour: u8, minute: u8) -> PropertyValue

Evaluate the schedule for the given day and time.

Returns the current effective value (from exception, weekly, or default). day_of_week: 0=Monday .. 6=Sunday.

Trait Implementations§

Source§

impl BACnetObject for ScheduleObject

Source§

fn object_identifier(&self) -> ObjectIdentifier

The object’s identifier (type + instance).
Source§

fn object_name(&self) -> &str

The object’s name.
Source§

fn read_property( &self, property: PropertyIdentifier, array_index: Option<u32>, ) -> Result<PropertyValue, Error>

Read a property value.
Source§

fn write_property( &mut self, property: PropertyIdentifier, _array_index: Option<u32>, value: PropertyValue, _priority: Option<u8>, ) -> Result<(), Error>

Write a property value.
Source§

fn property_list(&self) -> Cow<'static, [PropertyIdentifier]>

List all properties this object supports.
Source§

fn tick_schedule( &mut self, day_of_week: u8, hour: u8, minute: u8, ) -> Option<(PropertyValue, Vec<(ObjectIdentifier, u32)>)>

Evaluate this object’s schedule for the given time (Clause 12.24). Read more
Source§

fn required_properties(&self) -> Cow<'static, [PropertyIdentifier]>

List the REQUIRED properties for this object type. Read more
Source§

fn cov_increment(&self) -> Option<f32>

COV increment for this object (analog objects only). Read more
Source§

fn evaluate_intrinsic_reporting(&mut self) -> Option<EventStateChange>

Evaluate intrinsic reporting after a present_value change. Read more
Source§

fn acknowledge_alarm(&mut self, _transition_bit: u8) -> Result<(), Error>

Acknowledge an alarm transition. Sets the corresponding bit in acked_transitions. Returns Ok(()) if the object supports event detection, Err otherwise.
Source§

fn add_trend_record(&mut self, _record: BACnetLogRecord)

Add a trend log record (only meaningful for TrendLog / TrendLogMultiple). Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.