class KNX::DIB

Overview

Device Information Block

Defined in:

knx/discovery/dib.cr

Constant Summary

ENDIAN = ["big"]

Device Information Block

KLASS_NAME = [KNX::DIB]

Device Information Block

PARTS = [{type: "enum", name: medium, cls: typeof(MediumType::IP.value), onlyif: nil, verify: nil, value: nil, encoding: nil, enum_type: KNX::MediumType}, {type: "basic", name: device_status, cls: UInt8, onlyif: nil, verify: nil, value: nil, endian: nil}, {type: "basic", name: source, cls: KNX::IndividualAddress, onlyif: nil, verify: nil, value: nil}, {type: "basic", name: project_installation_id, cls: UInt16, onlyif: nil, verify: nil, value: nil, endian: nil}, {type: "bytes", name: device_serial, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do 6 end, value: nil}, {type: "bytes", name: device_multicast_address, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do 4 end, value: nil}, {type: "bytes", name: device_mac_address, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do 6 end, value: nil}, {type: "string", name: friendly_name, cls: String, onlyif: nil, verify: nil, length: -> do 30 end, value: nil, encoding: nil}] of Nil

Device Information Block

REMAINING = [] of Nil

Device Information Block

Class Method Summary

Instance Method Summary

Macro Summary

Class Method Detail

def self.bit_fields #

Device Information Block


[View source]

Instance Method Detail

def __format__ : IO::ByteFormat #

[View source]
def device_mac_address : Bytes #

def device_mac_address=(device_mac_address : Bytes) #

def device_multicast_address : Bytes #

def device_multicast_address=(device_multicast_address : Bytes) #

def device_serial : Bytes #

def device_serial=(device_serial : Bytes) #

def device_status : UInt8 #

Device status just used to indicate if in programming mode


def device_status=(device_status : UInt8) #

Device status just used to indicate if in programming mode


def friendly_name : String #

def friendly_name=(friendly_name : String) #

def mac_address #

[View source]
def medium : MediumType #

def medium=(medium : MediumType) #

def multicast_address #

[View source]
def name #

[View source]
def programming_mode? #

[View source]
def project_installation_id : UInt16 #

def project_installation_id=(project_installation_id : UInt16) #

def serial #

[View source]
def source : IndividualAddress #

def source=(source : IndividualAddress) #

Macro Detail

macro knx_address(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_cemi(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_dib(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_group_address(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_group_address2_level(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_header(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_header_timer(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_header_wrapper(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_hpai(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_individual_address(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]
macro knx_service_family(name, onlyif = nil, verify = nil, value = nil) #

Device Information Block


[View source]