class KNX
- KNX
- Reference
- Object
Defined in:
knx.crknx/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
knx/tunnel_client.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
-
.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
Instance Method Summary
- #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
- #broadcast=(broadcast : Bool)
- #broadcast? : Bool
- #cmac_key : Bytes | Nil
- #cmac_key=(cmac_key : Bytes | Nil)
- #hop_count : UInt8
- #hop_count=(hop_count : UInt8)
- #msg_code : MsgCode
- #msg_code=(msg_code : MsgCode)
- #no_repeat=(no_repeat : Bool)
- #no_repeat? : Bool
- #priority : Priority
- #priority=(priority : Priority)
- #read(data : Bytes, two_level_group = @two_level_group)
- #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)
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)
#
Class Method Detail
takes a stab at what you are hoping for, favours accuracy over what a device might be expecting
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
#
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)
#