class Ashrae::BACnet

Included Modules

Defined in:

ashrae/bacnet.cr

Constant Summary

NO_MATCH = [] of Interface::Sensor::Detail

Class Method Summary

Instance Method Summary

Class Method Detail

def self.driver_interface : String #

Instance Method Detail

def connected #

[View source]
def device(device_id : UInt32) #

[View source]
def devices #

[View source]
def on_load #

[View source]
def on_unload #

[View source]
def on_update #

[View source]
def packets_processed : UInt64 #

[View source]
def perform_discovery : Nil #

Performs a WhoIs discovery against the BACnet network


[View source]
def poll_device(device_id : UInt32) #

[View source]
def query_known_devices #

[View source]
def received(data, task) #

[View source]
def save_seen_devices #

[View source]
def seen_devices : Hash(UInt32, Ashrae::DeviceAddress) #

[View source]
def sensor(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil #
Description copied from module PlaceOS::Driver::Interface::Sensor

return the specified sensor details


[View source]
def sensors(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail) #
Description copied from module PlaceOS::Driver::Interface::Sensor

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)


[View source]
def update_value(device_id : UInt32, instance_id : UInt32, object_type : ObjectType) #

[View source]
def websocket_headers #

[View source]
def write_binary(device_id : UInt32, instance_id : UInt32, value : Bool, object_type : ObjectType = ObjectType::BinaryValue) #

[View source]
def write_double(device_id : UInt32, instance_id : UInt32, value : Float64, object_type : ObjectType = ObjectType::LargeAnalogValue) #

[View source]
def write_real(device_id : UInt32, instance_id : UInt32, value : Float32, object_type : ObjectType = ObjectType::AnalogValue) #

[View source]
def write_signed_int(device_id : UInt32, instance_id : UInt32, value : Int64, object_type : ObjectType = ObjectType::IntegerValue) #

[View source]
def write_string(device_id : UInt32, instance_id : UInt32, value : String, object_type : ObjectType = ObjectType::CharacterStringValue) #

[View source]
def write_unsigned_int(device_id : UInt32, instance_id : UInt32, value : UInt64, object_type : ObjectType = ObjectType::PositiveIntegerValue) #

[View source]