class KNX

Defined in:

knx.cr
knx/address.cr
knx/cemi.cr
knx/connection/connect_request.cr
knx/connection/connect_state_request.cr
knx/connection/crd.cr
knx/connection/cri.cr
knx/connection/disconnect_request.cr
knx/connection/error_status.cr
knx/connection/tunnel_request.cr
knx/datagram.cr
knx/datapoint.cr
knx/datapoint/boolean.cr
knx/datapoint/date_time.cr
knx/datapoint/four_byte_float.cr
knx/datapoint/string.cr
knx/datapoint/two_byte_floating_point.cr
knx/discovery/dib.cr
knx/discovery/hpai.cr
knx/discovery/search_request.cr
knx/header.cr
knx/object_server.cr
knx/object_server/datagram.cr
knx/object_server/item.cr
knx/object_server/object_header.cr
knx/routing/indication_request.cr

Constant Summary

ERROR_CODES = {0 => "Unspecified Error", 1 => "Out of range", 2 => "Out of maxrange", 3 => "Out of minrange", 4 => "Memory Error", 5 => "Read only", 6 => "Illegal command", 7 => "Void DP", 8 => "Type conflict", 9 => "Prop. Index range error", 10 => "Value temporarily not writeable"}
Log = ::App::Log.for("knx")

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(priority : KNX::Priority = Priority::LOW, no_repeat : Bool = true, broadcast : Bool = true, hop_count : UInt8 = 6_u8, msg_code : KNX::MsgCode = MsgCode::DataIndicator, two_level_group : Bool = false, cmac_key : Slice(UInt8) | Nil = nil) #

[View source]

Class Method Detail

def self.datapoint(value : Float | String | Time | Bool) : Datapoint #

takes a stab at what you are hoping for, favours accuracy over what a device might be expecting


[View source]

Instance Method Detail

def action(address : String, data, msg_code : MsgCode = @msg_code, no_repeat : Bool = @no_repeat, broadcast : Bool = @broadcast, priority : Priority = @priority, hop_count : UInt8 = @hop_count, request_type : RequestTypes = RequestTypes::RoutingIndication) : ActionDatagram #

[View source]
def broadcast=(broadcast : Bool) #

[View source]
def broadcast? : Bool #

[View source]
def cmac_key : Bytes | Nil #

[View source]
def cmac_key=(cmac_key : Bytes | Nil) #

[View source]
def hop_count : UInt8 #

[View source]
def hop_count=(hop_count : UInt8) #

[View source]
def msg_code : MsgCode #

[View source]
def msg_code=(msg_code : MsgCode) #

[View source]
def no_repeat=(no_repeat : Bool) #

[View source]
def no_repeat? : Bool #

[View source]
def priority : Priority #

[View source]
def priority=(priority : Priority) #

[View source]
def read(data : Bytes, two_level_group = @two_level_group) #

[View source]
def status(address : String, msg_code : MsgCode = @msg_code, no_repeat : Bool = @no_repeat, broadcast : Bool = @broadcast, priority : Priority = @priority, hop_count : UInt8 = @hop_count, request_type : RequestTypes = RequestTypes::RoutingIndication) #

[View source]