class BACnet::Client::DeviceRegistry

Defined in:

bacnet/client/device_registry.cr

Constant Summary

Log = ::Log.for("bacnet.registry")
OBJECTS_WITH_UNITS = [ObjectType::AnalogInput, ObjectType::AnalogOutput, ObjectType::AnalogValue, ObjectType::IntegerValue, ObjectType::LargeAnalogValue, ObjectType::PositiveIntegerValue, ObjectType::Accumulator, ObjectType::PulseConverter, ObjectType::Loop]

TODO : map these fields out more

OBJECTS_WITH_VALUES = OBJECTS_WITH_UNITS + [ObjectType::BinaryInput, ObjectType::BinaryOutput, ObjectType::BinaryValue, ObjectType::Calendar, ObjectType::Command, ObjectType::LoadControl, ObjectType::AccessDoor, ObjectType::LifeSafetyPoint, ObjectType::LifeSafetyZone, ObjectType::MultiStateInput, ObjectType::MultiStateOutput, ObjectType::MultiStateValue, ObjectType::Schedule, ObjectType::DatetimeValue, ObjectType::BitstringValue, ObjectType::OctetstringValue, ObjectType::DateValue, ObjectType::DatetimePatternValue, ObjectType::TimePatternValue, ObjectType::DatePatternValue, ObjectType::AlertEnrollment, ObjectType::Channel, ObjectType::LightingOutput, ObjectType::CharacterStringValue, ObjectType::TimeValue]

Constructors

Instance Method Summary

Constructor Detail

def self.new(client : BACnet::Client::IPv4, log : ::Log | Nil = nil) #

[View source]

Instance Method Detail

def devices #

returns a list of the devices found


[View source]
def inspect_device(ip_address, object_id, network, address, max_adpu_length = nil, segmentation_supported = nil, vendor_id = nil) #

[View source]
def on_new_device(&callback : DeviceInfo -> Nil) #

register to be informed when a new device is found


[View source]
def parse_object_info(object) #

[View source]