This is the knx-conn Reference Manual, version 0.2.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 06:34:25 2024 GMT+0.
knx-conn/knx-conn.asd
knx-conn/src/utils.lisp
knx-conn/src/knx-model/knx-obj.lisp
knx-conn/src/knx-model/address.lisp
knx-conn/src/knx-model/dpt.lisp
knx-conn/src/knx-model/hpai.lisp
knx-conn/src/knx-model/dib.lisp
knx-conn/src/knx-model/cri.lisp
knx-conn/src/knx-model/crd.lisp
knx-conn/src/knx-model/cemi.lisp
knx-conn/src/knx-msg/descr-info.lisp
knx-conn/src/knx-msg/connect.lisp
knx-conn/src/knx-msg/tunneling.lisp
knx-conn/src/ip-client.lisp
knx-conn/src/knx-client.lisp
knx-conn/src/knx-connect.lisp
knx-conn.address
knx-conn.cri
knx-conn.tunnelling
knx-conn.crd
knc-conn.dib
knx-conn.hpai
knx-conn.knx-client
knx-conn.connect
knx-conn.ip-client
knx-conn.cemi
knx-conn.utils
knx-conn.dpt
knx-conn.knx-connect
knx-conn.knx-obj
knx-conn.descr-info
The main system appears first, followed by any subsystem dependency.
knx-conn
KNXnet/IP implementation in Common Lisp
Manfred Bergmann
GNU GPL, version 3
0.2.1
alexandria
(system).
usocket
(system).
babel
(system).
log4cl
(system).
binding-arrows
(system).
sento
(system).
local-time
(system).
src
(module).
Modules are listed depth-first from the system components tree.
knx-conn/src
knx-conn
(system).
utils.lisp
(file).
knx-model
(module).
knx-msg
(module).
ip-client.lisp
(file).
knx-client.lisp
(file).
knx-connect.lisp
(file).
knx-conn/src/knx-model
utils.lisp
(file).
src
(module).
knx-obj.lisp
(file).
address.lisp
(file).
dpt.lisp
(file).
hpai.lisp
(file).
dib.lisp
(file).
cri.lisp
(file).
crd.lisp
(file).
cemi.lisp
(file).
knx-conn/src/knx-msg
knx-model
(module).
src
(module).
descr-info.lisp
(file).
connect.lisp
(file).
tunneling.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
knx-conn/knx-conn.asd
knx-conn/src/utils.lisp
knx-conn/src/knx-model/knx-obj.lisp
knx-conn/src/knx-model/address.lisp
knx-conn/src/knx-model/dpt.lisp
knx-conn/src/knx-model/hpai.lisp
knx-conn/src/knx-model/dib.lisp
knx-conn/src/knx-model/cri.lisp
knx-conn/src/knx-model/crd.lisp
knx-conn/src/knx-model/cemi.lisp
knx-conn/src/knx-msg/descr-info.lisp
knx-conn/src/knx-msg/connect.lisp
knx-conn/src/knx-msg/tunneling.lisp
knx-conn/src/ip-client.lisp
knx-conn/src/knx-client.lisp
knx-conn/src/knx-connect.lisp
knx-conn/src/utils.lisp
src
(module).
bit-vector-to-number
(function).
byte-seq-to-byte-array
(function).
int-to-byte-list
(function).
int-to-byte-vec
(function).
number-to-bit-vector
(function).
seq-to-array
(function).
to-int
(function).
knx-conn/src/knx-model/knx-obj.lisp
knx-model
(module).
+knx-header-len+
(constant).
header-body-len
(reader).
(setf header-body-len)
(writer).
header-knxnetip-version
(reader).
(setf header-knxnetip-version)
(writer).
header-len
(reader).
(setf header-len)
(writer).
header-type
(reader).
(setf header-type)
(writer).
knx-error-condition
(condition).
knx-header
(structure).
knx-obj
(structure).
knx-package
(structure).
knx-unable-to-parse
(condition).
make-header
(function).
octet
(type).
package-header
(reader).
(setf package-header)
(writer).
parse-root-knx-object
(function).
parse-to-obj
(generic function).
to-byte-seq
(generic function).
%make-header
(function).
%parse-header
(function).
+knx-netip-version+
(constant).
copy-knx-header
(function).
copy-knx-obj
(function).
copy-knx-package
(function).
knx-header-p
(function).
knx-obj-p
(function).
knx-package-p
(function).
make-knx-package
(function).
knx-conn/src/knx-model/address.lisp
knx-obj.lisp
(file).
knx-model
(module).
address-len
(function).
address-string-rep
(reader).
(setf address-string-rep)
(writer).
knx-address
(structure).
knx-group-address
(structure).
knx-group-address-p
(function).
knx-individual-address
(structure).
make-group-address
(generic function).
make-individual-address
(generic function).
parse-group-address
(function).
parse-individual-address
(function).
to-byte-seq
(method).
%make-group-address
(function).
%make-individual-address
(function).
address-addr
(reader).
(setf address-addr)
(writer).
copy-knx-address
(function).
copy-knx-group-address
(function).
copy-knx-individual-address
(function).
knx-address-p
(function).
knx-group-address-addr
(function).
(setf knx-group-address-addr)
(function).
knx-group-address-string-rep
(function).
(setf knx-group-address-string-rep)
(function).
knx-individual-address-addr
(function).
(setf knx-individual-address-addr)
(function).
knx-individual-address-p
(function).
knx-individual-address-string-rep
(function).
(setf knx-individual-address-string-rep)
(function).
knx-conn/src/knx-model/dpt.lisp
address.lisp
(file).
knx-model
(module).
dpt
(structure).
dpt-byte-len
(generic function).
dpt-out-of-bounds-error
(condition).
dpt-p
(function).
dpt-raw-value
(generic function).
dpt-supports-optimized-p
(generic function).
dpt-value
(generic function).
dpt-value-type
(reader).
(setf dpt-value-type)
(writer).
dpt-value-type
(type).
dpt-value-type-p
(function).
dpt1
(structure).
dpt1-p
(function).
dpt1-toggle
(function).
dpt10
(structure).
dpt10-p
(function).
dpt11
(structure).
dpt11-p
(function).
dpt5
(structure).
dpt5-p
(function).
dpt9
(structure).
dpt9-p
(function).
make-dpt
(function).
make-dpt1
(function).
make-dpt10
(function).
make-dpt11
(function).
make-dpt5
(function).
make-dpt9
(function).
named-value-sym-for-dpt-sym
(function).
parse-to-dpt
(generic function).
to-byte-seq
(method).
to-byte-seq
(method).
to-byte-seq
(method).
to-byte-seq
(method).
to-byte-seq
(method).
value-type-string-to-symbol
(function).
%assert-byte-vec
(function).
%make-dpt1
(function).
%make-dpt10
(function).
%make-dpt11
(function).
%make-dpt5
(function).
%make-dpt9
(function).
%make-dpt9-double-octet-float-value
(function).
%timestamp-to-dpt10
(function).
%timestamp-to-dpt11
(function).
%with-bounds-check
(macro).
*dpt-supported-value-types*
(special variable).
*scale-factor-5.001*
(special variable).
copy-dpt
(function).
copy-dpt1
(function).
copy-dpt10
(function).
copy-dpt11
(function).
copy-dpt5
(function).
copy-dpt9
(function).
dpt1-raw-value
(reader).
(setf dpt1-raw-value)
(writer).
dpt1-value
(reader).
(setf dpt1-value)
(writer).
dpt1-value-type
(function).
(setf dpt1-value-type)
(function).
dpt10-raw-value
(reader).
(setf dpt10-raw-value)
(writer).
dpt10-value
(reader).
(setf dpt10-value)
(writer).
dpt10-value-type
(function).
(setf dpt10-value-type)
(function).
dpt11-raw-value
(reader).
(setf dpt11-raw-value)
(writer).
dpt11-value
(reader).
(setf dpt11-value)
(writer).
dpt11-value-type
(function).
(setf dpt11-value-type)
(function).
dpt5-raw-value
(reader).
(setf dpt5-raw-value)
(writer).
dpt5-value
(reader).
(setf dpt5-value)
(writer).
dpt5-value-type
(function).
(setf dpt5-value-type)
(function).
dpt9-raw-value
(reader).
(setf dpt9-raw-value)
(writer).
dpt9-value
(reader).
(setf dpt9-value)
(writer).
dpt9-value-type
(function).
(setf dpt9-value-type)
(function).
knx-conn/src/knx-model/hpai.lisp
dpt.lisp
(file).
knx-model
(module).
*hpai-unbound-addr*
(special variable).
hpai
(structure).
hpai-len
(reader).
(setf hpai-len)
(writer).
make-hpai
(function).
parse-hpai
(function).
to-byte-seq
(method).
%make-hpai
(function).
+hpai-tcp+
(constant).
+hpai-udp+
(constant).
copy-hpai
(function).
hpai-host-protocol-code
(reader).
(setf hpai-host-protocol-code)
(writer).
hpai-ip-address
(reader).
(setf hpai-ip-address)
(writer).
hpai-ip-port
(reader).
(setf hpai-ip-port)
(writer).
hpai-p
(function).
knx-conn/src/knx-model/dib.lisp
hpai.lisp
(file).
knx-model
(module).
dib
(structure).
dib-device-info
(structure).
dib-list
(type).
dib-supp-svc-families
(structure).
parse-dibs
(function).
%make-dib
(function).
%make-dib-device-info
(function).
%make-dib-supp-svc-families
(function).
%make-service-family
(function).
%parse-dib-device-info
(function).
%parse-dib-supp-svc-families
(function).
+dib-typecodes-device-info+
(constant).
+dib-typecodes-ip-config+
(constant).
+dib-typecodes-ip-cur-config+
(constant).
+dib-typecodes-knx-addresses+
(constant).
+dib-typecodes-mfr-data+
(constant).
+dib-typecodes-supp-svc-families+
(constant).
+knx-medium-ip+
(constant).
+knx-medium-pl110+
(constant).
+knx-medium-rf+
(constant).
+knx-medium-tp1+
(constant).
copy-dib
(function).
copy-dib-device-info
(function).
copy-dib-supp-svc-families
(function).
copy-service-family
(function).
dib-device-info-device-friendly-name
(reader).
(setf dib-device-info-device-friendly-name)
(writer).
dib-device-info-device-status
(reader).
(setf dib-device-info-device-status)
(writer).
dib-device-info-knx-individual-address
(reader).
(setf dib-device-info-knx-individual-address)
(writer).
dib-device-info-knx-mac-addr
(reader).
(setf dib-device-info-knx-mac-addr)
(writer).
dib-device-info-knx-medium
(reader).
(setf dib-device-info-knx-medium)
(writer).
dib-device-info-knx-routing-multicast-addr
(reader).
(setf dib-device-info-knx-routing-multicast-addr)
(writer).
dib-device-info-knx-serial-number
(reader).
(setf dib-device-info-knx-serial-number)
(writer).
dib-device-info-len
(function).
(setf dib-device-info-len)
(function).
dib-device-info-p
(function).
dib-device-info-proj-inst-identifier
(reader).
(setf dib-device-info-proj-inst-identifier)
(writer).
dib-device-info-type
(function).
(setf dib-device-info-type)
(function).
dib-len
(reader).
(setf dib-len)
(writer).
dib-lisp-p
(function).
dib-p
(function).
dib-supp-svc-families-len
(function).
(setf dib-supp-svc-families-len)
(function).
dib-supp-svc-families-p
(function).
dib-supp-svc-families-service-families
(reader).
(setf dib-supp-svc-families-service-families)
(writer).
dib-supp-svc-families-type
(function).
(setf dib-supp-svc-families-type)
(function).
dib-type
(reader).
(setf dib-type)
(writer).
service-family
(structure).
service-family-id
(reader).
(setf service-family-id)
(writer).
service-family-list
(type).
service-family-list-p
(function).
service-family-p
(function).
service-family-version
(reader).
(setf service-family-version)
(writer).
knx-conn/src/knx-model/cri.lisp
dib.lisp
(file).
knx-model
(module).
cri
(structure).
cri-len
(reader).
(setf cri-len)
(writer).
make-tunneling-cri
(function).
to-byte-seq
(method).
tunneling-cri
(structure).
%make-cri
(function).
%make-tunneling-cri
(function).
+structure-len+
(constant).
+tunnel-busmonitor+
(constant).
+tunnel-connection+
(constant).
+tunnel-link-layer+
(constant).
+tunnel-raw+
(constant).
copy-cri
(function).
copy-tunneling-cri
(function).
cri-conn-type
(reader).
(setf cri-conn-type)
(writer).
cri-knx-layer-type
(reader).
(setf cri-knx-layer-type)
(writer).
cri-p
(function).
tunneling-cri-p
(function).
knx-conn/src/knx-model/crd.lisp
cri.lisp
(file).
knx-model
(module).
crd
(structure).
crd-individual-address
(reader).
(setf crd-individual-address)
(writer).
crd-len
(reader).
(setf crd-len)
(writer).
make-crd
(function).
parse-crd
(function).
to-byte-seq
(method).
%make-crd
(function).
+conn-type-tunnel+
(constant).
+structure-len+
(constant).
copy-crd
(function).
crd-conn-type
(reader).
(setf crd-conn-type)
(writer).
crd-p
(function).
knx-conn/src/knx-model/cemi.lisp
crd.lisp
(file).
knx-model
(module).
+broadcast-type-normal+
(constant).
+broadcast-type-system+
(constant).
+cemi-mc-l_data.con+
(constant).
+cemi-mc-l_data.ind+
(constant).
+cemi-mc-l_data.req+
(constant).
+priority-low+
(constant).
+priority-normal+
(constant).
+priority-system+
(constant).
+priority-urgent+
(constant).
+tcpi-ncd+
(constant).
+tcpi-ndt+
(constant).
+tcpi-ucd+
(constant).
+tcpi-udt+
(constant).
apci-equal-p
(generic function).
apci-gv-read
(structure).
apci-gv-read-p
(function).
apci-gv-response
(structure).
apci-gv-response-p
(function).
apci-gv-write
(structure).
apci-gv-write-p
(function).
cemi
(structure).
cemi-apci
(reader).
(setf cemi-apci)
(writer).
cemi-ctrl1
(reader).
(setf cemi-ctrl1)
(writer).
cemi-ctrl2
(reader).
(setf cemi-ctrl2)
(writer).
cemi-data
(reader).
(setf cemi-data)
(writer).
cemi-destination-addr
(reader).
(setf cemi-destination-addr)
(writer).
cemi-l-data
(structure).
cemi-l_data-p
(function).
cemi-len
(generic function).
cemi-mc-l_data-rep
(function).
cemi-message-code
(reader).
(setf cemi-message-code)
(writer).
cemi-packet-num
(reader).
(setf cemi-packet-num)
(writer).
cemi-source-addr
(reader).
(setf cemi-source-addr)
(writer).
cemi-tpci
(reader).
(setf cemi-tpci)
(writer).
ctrl1-rep
(function).
ctrl2-rep
(function).
make-apci-gv-read
(function).
make-apci-gv-response
(function).
make-apci-gv-write
(function).
make-default-cemi
(function).
parse-cemi
(function).
to-byte-seq
(method).
%ctrl1-ack-p
(function).
%ctrl1-broadcast-type
(function).
%ctrl1-error-confirm-p
(function).
%ctrl1-priority
(function).
%ctrl1-repeat-p
(function).
%ctrl1-standard-frame-p
(function).
%ctrl2-address-type
(function).
%ctrl2-frame-format
(function).
%ctrl2-hop-count
(function).
%make-apci-gv-read
(function).
%make-apci-gv-response
(function).
%make-apci-gv-write
(function).
%make-cemi-l-data
(function).
%make-ctrl1-octet
(function).
%make-ctrl2-octet
(function).
*apci-gv-read*
(special variable).
*apci-gv-response*
(special variable).
*apci-gv-write*
(special variable).
+frame-format-standard+
(constant).
+hop-count-default+
(constant).
apci
(structure).
apci-gv-read-mask
(function).
apci-gv-read-start-code
(function).
apci-gv-response-mask
(function).
apci-gv-response-start-code
(function).
apci-gv-write-mask
(function).
apci-gv-write-start-code
(function).
apci-mask
(reader).
apci-p
(function).
apci-start-code
(reader).
array-copy
(function).
cemi-additional-info
(reader).
(setf cemi-additional-info)
(writer).
cemi-info-len
(reader).
(setf cemi-info-len)
(writer).
cemi-l-data-p
(function).
cemi-npdu-len
(reader).
(setf cemi-npdu-len)
(writer).
cemi-p
(function).
copy-apci
(function).
copy-apci-gv-read
(function).
copy-apci-gv-response
(function).
copy-apci-gv-write
(function).
copy-cemi
(function).
copy-cemi-l-data
(function).
knx-conn/src/knx-msg/descr-info.lisp
knx-msg
(module).
descr-response-device-hardware
(reader).
(setf descr-response-device-hardware)
(writer).
descr-response-other-dib-info
(reader).
(setf descr-response-other-dib-info)
(writer).
descr-response-supp-svc-families
(reader).
(setf descr-response-supp-svc-families)
(writer).
knx-descr-request
(structure).
knx-descr-response
(structure).
make-descr-request
(function).
parse-to-obj
(method).
to-byte-seq
(method).
to-byte-seq
(method).
%make-descr-request
(function).
%make-descr-response
(function).
+knx-descr-request+
(constant).
+knx-descr-response+
(constant).
copy-knx-descr-request
(function).
copy-knx-descr-response
(function).
descr-request-header
(function).
(setf descr-request-header)
(function).
descr-request-hpai
(reader).
(setf descr-request-hpai)
(writer).
descr-response-header
(function).
(setf descr-response-header)
(function).
knx-descr-request-p
(function).
knx-descr-response-p
(function).
knx-conn/src/knx-msg/connect.lisp
descr-info.lisp
(file).
knx-msg
(module).
+connect-status-err-conn-type+
(constant).
+connect-status-no-error+
(constant).
connect-response-channel-id
(reader).
(setf connect-response-channel-id)
(writer).
connect-response-crd
(reader).
(setf connect-response-crd)
(writer).
connect-response-status
(reader).
(setf connect-response-status)
(writer).
disconnect-request-channel-id
(reader).
(setf disconnect-request-channel-id)
(writer).
disconnect-response-channel-id
(reader).
(setf disconnect-response-channel-id)
(writer).
disconnect-response-status
(reader).
(setf disconnect-response-status)
(writer).
knx-connect-request
(structure).
knx-connect-response
(structure).
knx-connstate-request
(structure).
knx-connstate-response
(structure).
knx-disconnect-request
(structure).
knx-disconnect-response
(structure).
make-connect-request
(function).
make-connect-response
(function).
make-connstate-request
(function).
make-disconnect-request
(function).
make-disconnect-response
(function).
parse-to-obj
(method).
parse-to-obj
(method).
parse-to-obj
(method).
parse-to-obj
(method).
parse-to-obj
(method).
to-byte-seq
(method).
to-byte-seq
(method).
to-byte-seq
(method).
to-byte-seq
(method).
to-byte-seq
(method).
%%make-connstate-response
(function).
%make-connect-request
(function).
%make-connect-response
(function).
%make-connstate-request
(function).
%make-connstate-response
(function).
%make-disconnect-request
(function).
%make-disconnect-response
(function).
+connect-status-err-conn-id+
(constant).
+connect-status-err-conn-option+
(constant).
+connect-status-err-no-more-conns+
(constant).
+knx-connect-request+
(constant).
+knx-connect-response+
(constant).
+knx-connstate-request+
(constant).
+knx-connstate-response+
(constant).
+knx-disconnect-request+
(constant).
+knx-disconnect-response+
(constant).
connect-request-cri
(reader).
(setf connect-request-cri)
(writer).
connect-request-header
(function).
(setf connect-request-header)
(function).
connect-request-hpai-ctrl-endpoint
(reader).
(setf connect-request-hpai-ctrl-endpoint)
(writer).
connect-request-hpai-data-endpoint
(reader).
(setf connect-request-hpai-data-endpoint)
(writer).
connect-response-header
(function).
(setf connect-response-header)
(function).
connect-response-hpai
(reader).
(setf connect-response-hpai)
(writer).
connstate-request-channel-id
(reader).
(setf connstate-request-channel-id)
(writer).
connstate-request-header
(function).
(setf connstate-request-header)
(function).
connstate-request-hpai
(reader).
(setf connstate-request-hpai)
(writer).
connstate-response-channel-id
(reader).
(setf connstate-response-channel-id)
(writer).
connstate-response-header
(function).
(setf connstate-response-header)
(function).
connstate-response-status
(reader).
(setf connstate-response-status)
(writer).
copy-knx-connect-request
(function).
copy-knx-connect-response
(function).
copy-knx-connstate-request
(function).
copy-knx-connstate-response
(function).
copy-knx-disconnect-request
(function).
copy-knx-disconnect-response
(function).
disconnect-request-header
(function).
(setf disconnect-request-header)
(function).
disconnect-request-hpai
(reader).
(setf disconnect-request-hpai)
(writer).
disconnect-response-header
(function).
(setf disconnect-response-header)
(function).
knx-connect-request-p
(function).
knx-connect-response-p
(function).
knx-connstate-request-p
(function).
knx-connstate-response-p
(function).
knx-disconnect-request-p
(function).
knx-disconnect-response-p
(function).
knx-conn/src/knx-msg/tunneling.lisp
connect.lisp
(file).
knx-msg
(module).
conn-header-channel-id
(reader).
(setf conn-header-channel-id)
(writer).
conn-header-seq-counter
(reader).
(setf conn-header-seq-counter)
(writer).
knx-tunnelling-ack
(structure).
knx-tunnelling-request
(structure).
make-tunnelling-ack
(function).
make-tunnelling-ack-2
(function).
make-tunnelling-request
(function).
parse-to-obj
(method).
parse-to-obj
(method).
to-byte-seq
(method).
to-byte-seq
(method).
to-byte-seq
(method).
tunnelling-cemi-message-code
(function).
tunnelling-channel-id
(function).
tunnelling-request-cemi
(reader).
(setf tunnelling-request-cemi)
(writer).
tunnelling-request-conn-header
(function).
(setf tunnelling-request-conn-header)
(function).
tunnelling-seq-counter
(function).
%make-connection-header
(function).
%make-tunnelling-ack
(function).
%make-tunnelling-request
(function).
%parse-conn-header
(function).
+conn-header-structure-len+
(constant).
+knx-tunnelling-ack+
(constant).
+knx-tunnelling-request+
(constant).
conn-header-len
(reader).
(setf conn-header-len)
(writer).
conn-header-reserved
(reader).
(setf conn-header-reserved)
(writer).
connection-header
(structure).
connection-header-p
(function).
copy-connection-header
(function).
copy-knx-tunnelling-ack
(function).
copy-knx-tunnelling-base
(function).
copy-knx-tunnelling-request
(function).
knx-tunnelling-ack-p
(function).
knx-tunnelling-base
(structure).
knx-tunnelling-base-p
(function).
knx-tunnelling-request-p
(function).
make-knx-tunnelling-base
(function).
tunnelling-ack-conn-header
(function).
(setf tunnelling-ack-conn-header)
(function).
tunnelling-ack-header
(function).
(setf tunnelling-ack-header)
(function).
tunnelling-conn-header
(reader).
(setf tunnelling-conn-header)
(writer).
tunnelling-header
(function).
(setf tunnelling-header)
(function).
tunnelling-request-header
(function).
(setf tunnelling-request-header)
(function).
knx-conn/src/ip-client.lisp
knx-msg
(module).
src
(module).
*local-host-and-port*
(special variable).
ip-connect
(function).
ip-connected-p
(function).
ip-disconnect
(function).
ip-receive-knx-data
(function).
ip-send-knx-data
(function).
*conn*
(special variable).
knx-conn/src/knx-client.lisp
ip-client.lisp
(file).
src
(module).
*async-handler*
(special variable).
*default-receive-knx-data-recur-delay-secs*
(special variable).
*group-address-dpt-mapping*
(special variable).
*receive-knx-data-recur-delay-secs*
(special variable).
*response-wait-timeout-secs*
(special variable).
add-tunnelling-request-listener
(function).
close-tunnel-connection
(function).
clr-tunnelling-request-listeners
(function).
establish-tunnel-connection
(function).
knx-receive-error
(condition).
knx-response-timeout-error
(condition).
make-async-handler
(function).
rem-tunnelling-request-listener
(function).
reset-client-vars
(function).
retrieve-descr-info
(function).
send-connection-state
(function).
send-read-request
(function).
send-write-request
(function).
start-async-receive
(function).
tunnel-connection-established-p
(function).
%assert-channel-id
(function).
%async-handler-knx-heartbeat
(function).
%async-handler-knx-receive
(function).
%async-handler-knx-received
(function).
%async-handler-knx-send
(function).
%async-handler-knx-wait
(function).
%async-handler-receive
(function).
%doasync
(function).
%handle-response-fut
(function).
%handle-tunnelling-request
(function).
%next-seq-counter
(function).
%receive-resp
(function).
%send-req
(function).
%send-tunnel-request
(function).
%start-heartbeat
(function).
%stop-heartbeat
(function).
*awaited-things*
(special variable).
*channel-id*
(special variable).
*default-heartbeat-interval-secs*
(special variable).
*default-response-wait-timeout-secs*
(special variable).
*heartbeat-interval-secs*
(special variable).
*heartbeat-timer-sig*
(special variable).
*seq-counter*
(special variable).
*tunnel-ack-wait-timeout-secs*
(special variable).
*tunnel-request-listeners*
(special variable).
+heartbeat-resp-wait-timeout-secs+
(constant).
knx-conn/src/knx-connect.lisp
knx-client.lisp
(file).
src
(module).
knx-conn-destroy
(function).
knx-conn-init
(function).
request-value
(function).
with-knx/ip
(macro).
write-value
(function).
%ensure-asys
(function).
%make-listener-fun
(macro).
%shutdown-asys
(function).
*asys*
(special variable).
Packages are listed by definition order.
knx-conn.address
knx-conn.cri
knx-conn.tunnelling
knx-conn.crd
knc-conn.dib
knx-conn.hpai
knx-conn.knx-client
knx-conn.connect
knx-conn.ip-client
knx-conn.cemi
knx-conn.utils
knx-conn.dpt
knx-conn.knx-connect
knx-conn.knx-obj
knx-conn.descr-info
knx-conn.address
address
common-lisp
.
knx-conn.knx-obj
.
knx-conn.utils
.
address-len
(function).
address-string-rep
(reader).
(setf address-string-rep)
(writer).
knx-address
(structure).
knx-group-address
(structure).
knx-group-address-p
(function).
knx-individual-address
(structure).
make-group-address
(generic function).
make-individual-address
(generic function).
parse-group-address
(function).
parse-individual-address
(function).
%make-group-address
(function).
%make-individual-address
(function).
address-addr
(reader).
(setf address-addr)
(writer).
copy-knx-address
(function).
copy-knx-group-address
(function).
copy-knx-individual-address
(function).
knx-address-p
(function).
knx-group-address-addr
(function).
(setf knx-group-address-addr)
(function).
knx-group-address-string-rep
(function).
(setf knx-group-address-string-rep)
(function).
knx-individual-address-addr
(function).
(setf knx-individual-address-addr)
(function).
knx-individual-address-p
(function).
knx-individual-address-string-rep
(function).
(setf knx-individual-address-string-rep)
(function).
knx-conn.cri
cri
common-lisp
.
knx-conn.knx-obj
.
cri
(structure).
cri
(slot).
cri-len
(reader).
(setf cri-len)
(writer).
make-tunneling-cri
(function).
tunneling-cri
(structure).
%make-cri
(function).
%make-tunneling-cri
(function).
+structure-len+
(constant).
+tunnel-busmonitor+
(constant).
+tunnel-connection+
(constant).
+tunnel-link-layer+
(constant).
+tunnel-raw+
(constant).
copy-cri
(function).
copy-tunneling-cri
(function).
cri-conn-type
(reader).
(setf cri-conn-type)
(writer).
cri-knx-layer-type
(reader).
(setf cri-knx-layer-type)
(writer).
cri-p
(function).
tunneling-cri-p
(function).
knx-conn.tunnelling
tunnelling
common-lisp
.
knx-conn.cemi
.
knx-conn.knx-obj
.
conn-header-channel-id
(reader).
(setf conn-header-channel-id)
(writer).
conn-header-seq-counter
(reader).
(setf conn-header-seq-counter)
(writer).
knx-tunnelling-ack
(structure).
knx-tunnelling-request
(structure).
make-tunnelling-ack
(function).
make-tunnelling-ack-2
(function).
make-tunnelling-request
(function).
tunnelling-cemi-message-code
(function).
tunnelling-channel-id
(function).
tunnelling-request-cemi
(reader).
(setf tunnelling-request-cemi)
(writer).
tunnelling-request-conn-header
(function).
(setf tunnelling-request-conn-header)
(function).
tunnelling-seq-counter
(function).
%make-connection-header
(function).
%make-tunnelling-ack
(function).
%make-tunnelling-request
(function).
%parse-conn-header
(function).
+conn-header-structure-len+
(constant).
+knx-tunnelling-ack+
(constant).
+knx-tunnelling-request+
(constant).
conn-header-len
(reader).
(setf conn-header-len)
(writer).
conn-header-reserved
(reader).
(setf conn-header-reserved)
(writer).
connection-header
(structure).
connection-header-p
(function).
copy-connection-header
(function).
copy-knx-tunnelling-ack
(function).
copy-knx-tunnelling-base
(function).
copy-knx-tunnelling-request
(function).
knx-tunnelling-ack-p
(function).
knx-tunnelling-base
(structure).
knx-tunnelling-base-p
(function).
knx-tunnelling-request-p
(function).
make-knx-tunnelling-base
(function).
tunnelling-ack-conn-header
(function).
(setf tunnelling-ack-conn-header)
(function).
tunnelling-ack-header
(function).
(setf tunnelling-ack-header)
(function).
tunnelling-conn-header
(reader).
(setf tunnelling-conn-header)
(writer).
tunnelling-header
(function).
(setf tunnelling-header)
(function).
tunnelling-request-header
(function).
(setf tunnelling-request-header)
(function).
knx-conn.crd
crd
common-lisp
.
knx-conn.address
.
knx-conn.knx-obj
.
knx-conn.utils
.
crd
(structure).
crd
(slot).
crd-individual-address
(reader).
(setf crd-individual-address)
(writer).
crd-len
(reader).
(setf crd-len)
(writer).
make-crd
(function).
parse-crd
(function).
%make-crd
(function).
+conn-type-tunnel+
(constant).
+structure-len+
(constant).
copy-crd
(function).
crd-conn-type
(reader).
(setf crd-conn-type)
(writer).
crd-p
(function).
knc-conn.dib
dib
common-lisp
.
knx-conn.knx-obj
.
knx-conn.utils
.
dib
(structure).
dib-device-info
(structure).
dib-list
(type).
dib-supp-svc-families
(structure).
parse-dibs
(function).
%make-dib
(function).
%make-dib-device-info
(function).
%make-dib-supp-svc-families
(function).
%make-service-family
(function).
%parse-dib-device-info
(function).
%parse-dib-supp-svc-families
(function).
+dib-typecodes-device-info+
(constant).
+dib-typecodes-ip-config+
(constant).
+dib-typecodes-ip-cur-config+
(constant).
+dib-typecodes-knx-addresses+
(constant).
+dib-typecodes-mfr-data+
(constant).
+dib-typecodes-supp-svc-families+
(constant).
+knx-medium-ip+
(constant).
+knx-medium-pl110+
(constant).
+knx-medium-rf+
(constant).
+knx-medium-tp1+
(constant).
copy-dib
(function).
copy-dib-device-info
(function).
copy-dib-supp-svc-families
(function).
copy-service-family
(function).
dib-device-info-device-friendly-name
(reader).
(setf dib-device-info-device-friendly-name)
(writer).
dib-device-info-device-status
(reader).
(setf dib-device-info-device-status)
(writer).
dib-device-info-knx-individual-address
(reader).
(setf dib-device-info-knx-individual-address)
(writer).
dib-device-info-knx-mac-addr
(reader).
(setf dib-device-info-knx-mac-addr)
(writer).
dib-device-info-knx-medium
(reader).
(setf dib-device-info-knx-medium)
(writer).
dib-device-info-knx-routing-multicast-addr
(reader).
(setf dib-device-info-knx-routing-multicast-addr)
(writer).
dib-device-info-knx-serial-number
(reader).
(setf dib-device-info-knx-serial-number)
(writer).
dib-device-info-len
(function).
(setf dib-device-info-len)
(function).
dib-device-info-p
(function).
dib-device-info-proj-inst-identifier
(reader).
(setf dib-device-info-proj-inst-identifier)
(writer).
dib-device-info-type
(function).
(setf dib-device-info-type)
(function).
dib-len
(reader).
(setf dib-len)
(writer).
dib-lisp-p
(function).
dib-p
(function).
dib-supp-svc-families-len
(function).
(setf dib-supp-svc-families-len)
(function).
dib-supp-svc-families-p
(function).
dib-supp-svc-families-service-families
(reader).
(setf dib-supp-svc-families-service-families)
(writer).
dib-supp-svc-families-type
(function).
(setf dib-supp-svc-families-type)
(function).
dib-type
(reader).
(setf dib-type)
(writer).
service-family
(structure).
service-family-id
(reader).
(setf service-family-id)
(writer).
service-family-list
(type).
service-family-list-p
(function).
service-family-p
(function).
service-family-version
(reader).
(setf service-family-version)
(writer).
knx-conn.hpai
hpai
common-lisp
.
knx-conn.knx-obj
.
knx-conn.utils
.
*hpai-unbound-addr*
(special variable).
hpai
(structure).
hpai
(slot).
hpai
(slot).
hpai
(slot).
hpai
(slot).
hpai-len
(reader).
(setf hpai-len)
(writer).
make-hpai
(function).
parse-hpai
(function).
%make-hpai
(function).
+hpai-tcp+
(constant).
+hpai-udp+
(constant).
copy-hpai
(function).
hpai-host-protocol-code
(reader).
(setf hpai-host-protocol-code)
(writer).
hpai-ip-address
(reader).
(setf hpai-ip-address)
(writer).
hpai-ip-port
(reader).
(setf hpai-ip-port)
(writer).
hpai-p
(function).
knx-conn.knx-client
knx-client
common-lisp
.
knx-conn.address
.
knx-conn.cemi
.
knx-conn.connect
.
knx-conn.descr-info
.
knx-conn.dpt
.
knx-conn.hpai
.
knx-conn.ip-client
.
knx-conn.knx-obj
.
knx-conn.tunnelling
.
sento.future
.
*async-handler*
(special variable).
*default-receive-knx-data-recur-delay-secs*
(special variable).
*group-address-dpt-mapping*
(special variable).
*receive-knx-data-recur-delay-secs*
(special variable).
*response-wait-timeout-secs*
(special variable).
add-tunnelling-request-listener
(function).
close-tunnel-connection
(function).
clr-tunnelling-request-listeners
(function).
establish-tunnel-connection
(function).
knx-receive-error
(condition).
knx-response-timeout-error
(condition).
make-async-handler
(function).
rem-tunnelling-request-listener
(function).
reset-client-vars
(function).
retrieve-descr-info
(function).
send-connection-state
(function).
send-read-request
(function).
send-write-request
(function).
start-async-receive
(function).
tunnel-connection-established-p
(function).
%assert-channel-id
(function).
%async-handler-knx-heartbeat
(function).
%async-handler-knx-receive
(function).
%async-handler-knx-received
(function).
%async-handler-knx-send
(function).
%async-handler-knx-wait
(function).
%async-handler-receive
(function).
%doasync
(function).
%handle-response-fut
(function).
%handle-tunnelling-request
(function).
%next-seq-counter
(function).
%receive-resp
(function).
%send-req
(function).
%send-tunnel-request
(function).
%start-heartbeat
(function).
%stop-heartbeat
(function).
*awaited-things*
(special variable).
*channel-id*
(special variable).
*default-heartbeat-interval-secs*
(special variable).
*default-response-wait-timeout-secs*
(special variable).
*heartbeat-interval-secs*
(special variable).
*heartbeat-timer-sig*
(special variable).
*seq-counter*
(special variable).
*tunnel-ack-wait-timeout-secs*
(special variable).
*tunnel-request-listeners*
(special variable).
+heartbeat-resp-wait-timeout-secs+
(constant).
knx-conn.connect
connect
common-lisp
.
knx-conn.crd
.
knx-conn.cri
.
knx-conn.hpai
.
knx-conn.knx-obj
.
+connect-status-err-conn-type+
(constant).
+connect-status-no-error+
(constant).
connect-response-channel-id
(reader).
(setf connect-response-channel-id)
(writer).
connect-response-crd
(reader).
(setf connect-response-crd)
(writer).
connect-response-status
(reader).
(setf connect-response-status)
(writer).
disconnect-request-channel-id
(reader).
(setf disconnect-request-channel-id)
(writer).
disconnect-response-channel-id
(reader).
(setf disconnect-response-channel-id)
(writer).
disconnect-response-status
(reader).
(setf disconnect-response-status)
(writer).
knx-connect-request
(structure).
knx-connect-response
(structure).
knx-connstate-request
(structure).
knx-connstate-response
(structure).
knx-disconnect-request
(structure).
knx-disconnect-response
(structure).
make-connect-request
(function).
make-connect-response
(function).
make-connstate-request
(function).
make-disconnect-request
(function).
make-disconnect-response
(function).
%%make-connstate-response
(function).
%make-connect-request
(function).
%make-connect-response
(function).
%make-connstate-request
(function).
%make-connstate-response
(function).
%make-disconnect-request
(function).
%make-disconnect-response
(function).
+connect-status-err-conn-id+
(constant).
+connect-status-err-conn-option+
(constant).
+connect-status-err-no-more-conns+
(constant).
+knx-connect-request+
(constant).
+knx-connect-response+
(constant).
+knx-connstate-request+
(constant).
+knx-connstate-response+
(constant).
+knx-disconnect-request+
(constant).
+knx-disconnect-response+
(constant).
connect-request-cri
(reader).
(setf connect-request-cri)
(writer).
connect-request-header
(function).
(setf connect-request-header)
(function).
connect-request-hpai-ctrl-endpoint
(reader).
(setf connect-request-hpai-ctrl-endpoint)
(writer).
connect-request-hpai-data-endpoint
(reader).
(setf connect-request-hpai-data-endpoint)
(writer).
connect-response-header
(function).
(setf connect-response-header)
(function).
connect-response-hpai
(reader).
(setf connect-response-hpai)
(writer).
connstate-request-channel-id
(reader).
(setf connstate-request-channel-id)
(writer).
connstate-request-header
(function).
(setf connstate-request-header)
(function).
connstate-request-hpai
(reader).
(setf connstate-request-hpai)
(writer).
connstate-response-channel-id
(reader).
(setf connstate-response-channel-id)
(writer).
connstate-response-header
(function).
(setf connstate-response-header)
(function).
connstate-response-status
(reader).
(setf connstate-response-status)
(writer).
copy-knx-connect-request
(function).
copy-knx-connect-response
(function).
copy-knx-connstate-request
(function).
copy-knx-connstate-response
(function).
copy-knx-disconnect-request
(function).
copy-knx-disconnect-response
(function).
disconnect-request-header
(function).
(setf disconnect-request-header)
(function).
disconnect-request-hpai
(reader).
(setf disconnect-request-hpai)
(writer).
disconnect-response-header
(function).
(setf disconnect-response-header)
(function).
knx-connect-request-p
(function).
knx-connect-response-p
(function).
knx-connstate-request-p
(function).
knx-connstate-response-p
(function).
knx-disconnect-request-p
(function).
knx-disconnect-response-p
(function).
knx-conn.ip-client
KNX IP client package
ip-client
common-lisp
.
knx-conn.knx-obj
.
*local-host-and-port*
(special variable).
ip-connect
(function).
ip-connected-p
(function).
ip-disconnect
(function).
ip-receive-knx-data
(function).
ip-send-knx-data
(function).
*conn*
(special variable).
knx-conn.cemi
cemi
common-lisp
.
knx-conn.address
.
knx-conn.dpt
.
knx-conn.knx-obj
.
knx-conn.utils
.
+broadcast-type-normal+
(constant).
+broadcast-type-system+
(constant).
+cemi-mc-l_data.con+
(constant).
+cemi-mc-l_data.ind+
(constant).
+cemi-mc-l_data.req+
(constant).
+priority-low+
(constant).
+priority-normal+
(constant).
+priority-system+
(constant).
+priority-urgent+
(constant).
+tcpi-ncd+
(constant).
+tcpi-ndt+
(constant).
+tcpi-ucd+
(constant).
+tcpi-udt+
(constant).
apci-equal-p
(generic function).
apci-gv-read
(structure).
apci-gv-read-p
(function).
apci-gv-response
(structure).
apci-gv-response-p
(function).
apci-gv-write
(structure).
apci-gv-write-p
(function).
cemi
(slot).
cemi
(structure).
cemi-apci
(reader).
(setf cemi-apci)
(writer).
cemi-ctrl1
(reader).
(setf cemi-ctrl1)
(writer).
cemi-ctrl2
(reader).
(setf cemi-ctrl2)
(writer).
cemi-data
(reader).
(setf cemi-data)
(writer).
cemi-destination-addr
(reader).
(setf cemi-destination-addr)
(writer).
cemi-l-data
(structure).
cemi-l_data-p
(function).
cemi-len
(generic function).
cemi-mc-l_data-rep
(function).
cemi-message-code
(reader).
(setf cemi-message-code)
(writer).
cemi-packet-num
(reader).
(setf cemi-packet-num)
(writer).
cemi-source-addr
(reader).
(setf cemi-source-addr)
(writer).
cemi-tpci
(reader).
(setf cemi-tpci)
(writer).
ctrl1-rep
(function).
ctrl2-rep
(function).
make-apci-gv-read
(function).
make-apci-gv-response
(function).
make-apci-gv-write
(function).
make-default-cemi
(function).
parse-cemi
(function).
%ctrl1-ack-p
(function).
%ctrl1-broadcast-type
(function).
%ctrl1-error-confirm-p
(function).
%ctrl1-priority
(function).
%ctrl1-repeat-p
(function).
%ctrl1-standard-frame-p
(function).
%ctrl2-address-type
(function).
%ctrl2-frame-format
(function).
%ctrl2-hop-count
(function).
%make-apci-gv-read
(function).
%make-apci-gv-response
(function).
%make-apci-gv-write
(function).
%make-cemi-l-data
(function).
%make-ctrl1-octet
(function).
%make-ctrl2-octet
(function).
*apci-gv-read*
(special variable).
*apci-gv-response*
(special variable).
*apci-gv-write*
(special variable).
+frame-format-standard+
(constant).
+hop-count-default+
(constant).
apci
(structure).
apci-gv-read-mask
(function).
apci-gv-read-start-code
(function).
apci-gv-response-mask
(function).
apci-gv-response-start-code
(function).
apci-gv-write-mask
(function).
apci-gv-write-start-code
(function).
apci-mask
(reader).
apci-p
(function).
apci-start-code
(reader).
array-copy
(function).
cemi-additional-info
(reader).
(setf cemi-additional-info)
(writer).
cemi-info-len
(reader).
(setf cemi-info-len)
(writer).
cemi-l-data-p
(function).
cemi-npdu-len
(reader).
(setf cemi-npdu-len)
(writer).
cemi-p
(function).
copy-apci
(function).
copy-apci-gv-read
(function).
copy-apci-gv-response
(function).
copy-apci-gv-write
(function).
copy-cemi
(function).
copy-cemi-l-data
(function).
knx-conn.utils
knxutil
common-lisp
.
bit-vector-to-number
(function).
byte-seq-to-byte-array
(function).
int-to-byte-list
(function).
int-to-byte-vec
(function).
number-to-bit-vector
(function).
seq-to-array
(function).
to-int
(function).
knx-conn.dpt
dpt
common-lisp
.
knx-conn.knx-obj
.
knx-conn.utils
.
dpt
(structure).
dpt-byte-len
(generic function).
dpt-out-of-bounds-error
(condition).
dpt-p
(function).
dpt-raw-value
(generic function).
dpt-supports-optimized-p
(generic function).
dpt-value
(generic function).
dpt-value-type
(reader).
(setf dpt-value-type)
(writer).
dpt-value-type
(type).
dpt-value-type-p
(function).
dpt1
(structure).
dpt1-p
(function).
dpt1-toggle
(function).
dpt10
(structure).
dpt10-p
(function).
dpt11
(structure).
dpt11-p
(function).
dpt5
(structure).
dpt5-p
(function).
dpt9
(structure).
dpt9-p
(function).
make-dpt
(function).
make-dpt1
(function).
make-dpt10
(function).
make-dpt11
(function).
make-dpt5
(function).
make-dpt9
(function).
named-value-sym-for-dpt-sym
(function).
parse-to-dpt
(generic function).
value-type-string-to-symbol
(function).
%assert-byte-vec
(function).
%make-dpt1
(function).
%make-dpt10
(function).
%make-dpt11
(function).
%make-dpt5
(function).
%make-dpt9
(function).
%make-dpt9-double-octet-float-value
(function).
%timestamp-to-dpt10
(function).
%timestamp-to-dpt11
(function).
%with-bounds-check
(macro).
*dpt-supported-value-types*
(special variable).
*scale-factor-5.001*
(special variable).
copy-dpt
(function).
copy-dpt1
(function).
copy-dpt10
(function).
copy-dpt11
(function).
copy-dpt5
(function).
copy-dpt9
(function).
dpt1-raw-value
(reader).
(setf dpt1-raw-value)
(writer).
dpt1-value
(reader).
(setf dpt1-value)
(writer).
dpt1-value-type
(function).
(setf dpt1-value-type)
(function).
dpt10-raw-value
(reader).
(setf dpt10-raw-value)
(writer).
dpt10-value
(reader).
(setf dpt10-value)
(writer).
dpt10-value-type
(function).
(setf dpt10-value-type)
(function).
dpt11-raw-value
(reader).
(setf dpt11-raw-value)
(writer).
dpt11-value
(reader).
(setf dpt11-value)
(writer).
dpt11-value-type
(function).
(setf dpt11-value-type)
(function).
dpt5-raw-value
(reader).
(setf dpt5-raw-value)
(writer).
dpt5-value
(reader).
(setf dpt5-value)
(writer).
dpt5-value-type
(function).
(setf dpt5-value-type)
(function).
dpt9-raw-value
(reader).
(setf dpt9-raw-value)
(writer).
dpt9-value
(reader).
(setf dpt9-value)
(writer).
dpt9-value-type
(function).
(setf dpt9-value-type)
(function).
knx-conn.knx-connect
knxc
common-lisp
.
knx-conn.address
.
knx-conn.cemi
.
knx-conn.connect
.
knx-conn.dpt
.
knx-conn.ip-client
.
knx-conn.knx-client
.
knx-conn.knx-obj
.
knx-conn.tunnelling
.
sento.future
.
knx-conn-destroy
(function).
knx-conn-init
(function).
request-value
(function).
with-knx/ip
(macro).
write-value
(function).
%ensure-asys
(function).
%make-listener-fun
(macro).
%shutdown-asys
(function).
*asys*
(special variable).
knx-conn.knx-obj
knxobj
common-lisp
.
knx-conn.utils
.
+knx-header-len+
(constant).
header-body-len
(reader).
(setf header-body-len)
(writer).
header-knxnetip-version
(reader).
(setf header-knxnetip-version)
(writer).
header-len
(reader).
(setf header-len)
(writer).
header-type
(reader).
(setf header-type)
(writer).
knx-error-condition
(condition).
knx-header
(structure).
knx-obj
(structure).
knx-package
(structure).
knx-unable-to-parse
(condition).
make-header
(function).
octet
(type).
package-header
(reader).
(setf package-header)
(writer).
parse-root-knx-object
(function).
parse-to-obj
(generic function).
to-byte-seq
(generic function).
%make-header
(function).
%parse-header
(function).
+knx-netip-version+
(constant).
copy-knx-header
(function).
copy-knx-obj
(function).
copy-knx-package
(function).
knx-header-p
(function).
knx-obj-p
(function).
knx-package-p
(function).
make-knx-package
(function).
knx-conn.descr-info
descr-info
common-lisp
.
knc-conn.dib
.
knx-conn.hpai
.
knx-conn.knx-obj
.
descr-response-device-hardware
(reader).
(setf descr-response-device-hardware)
(writer).
descr-response-other-dib-info
(reader).
(setf descr-response-other-dib-info)
(writer).
descr-response-supp-svc-families
(reader).
(setf descr-response-supp-svc-families)
(writer).
knx-descr-request
(structure).
knx-descr-response
(structure).
make-descr-request
(function).
%make-descr-request
(function).
%make-descr-response
(function).
+knx-descr-request+
(constant).
+knx-descr-response+
(constant).
copy-knx-descr-request
(function).
copy-knx-descr-response
(function).
descr-request-header
(function).
(setf descr-request-header)
(function).
descr-request-hpai
(reader).
(setf descr-request-hpai)
(writer).
descr-response-header
(function).
(setf descr-response-header)
(function).
knx-descr-request-p
(function).
knx-descr-response-p
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
To be used when confirm a frame from KNX Net/IP device. Usually happens after ‘+cemi-mc-l_data.req+‘.
Example:
1+2) Client wants to request (write or read) on a Group Address. The frame will be accepted by the
KNX Net/IP device and sends an acknowledge frame to client. This doesn’t mean that the change is effective!
3+4) The KNX Net/IP device will forward clients request to the KNX bus which is (probably) accepted by the KNX device. The KNX device sends an acknowledge frame to the KNX Net/IP device.
5+6) After apply the KNX device may (depending on flag setting) send a frame about the new status to the KNX Net/IP device. This will be acknowledged by KNX Net/IP device.
7+8) The KNX Net/IP device will forward the frame to client. And client will send acknowledge frame and the status pool of client knows that the change has been applied!
Client –> | KNX Net/IP | KNX device (TUNNELING_REQ to KNX Net/IP)
Client <– | KNX Net/IP | KNX device (TUNNELING_ACK from KNX Net/IP)
Client | KNX Net/IP | –> KNX device (TUNNELING_REQ forwarded to KNX device)
Client | KNX Net/IP | <– KNX device (TUNNELING_ACK from device to KNX Net/IP)
Client | KNX Net/IP | <– KNX device (TUNNELING_CON to KNX Net/IP)
Client | KNX Net/IP | –> KNX device (TUNNELING_ACK from KNX Net/IP to KNX device)
Client <– | KNX Net/IP | KNX device (TUNNELING_CON forwarded to client)
Client –> | KNX Net/IP | KNX device (TUNNELING_ACK to KNX Net/IP)
To be used when receive a frame from a remote user.
Example:
1+2) A status has been changed KNX device (the initiator may be another device inside the KNX bus).
The frame will be sent to KNX Net/IP device and will be acknowledged.
3+4) The frame will be forwarded by KNX Net/IP device to client about the new status. Finally, the client acknowledges the received frame.
The behavior is very similar to the ‘+cemi-mc-l_data.con+‘. This message code can be used to distinguish if the change was requested by client or if the request happened outside of the application.
Client | KNX Net/IP | <– KNX device (TUNNELING_IND from device to KNX Net/IP)
Client | KNX Net/IP | –> KNX device (TUNNELING_ACK to KNX device)
Client <– | KNX Net/IP | KNX device (TUNNELING_IND forwarded to client)
Client –> | KNX Net/IP | KNX device (TUNNELING_ACK to KNX Net/IP)
To be used by software when transit a frame to KNX Net/IP device.
Important: The status change is only a request and not an effective change!
Example: Software requests to ’light on’ to KNX Net/IP device and the KNX Net/IP device
acknowledges the requests and forwards to a KNX device (e.g. a KNX push-button).
Client –> | KNX Net/IP | KNX device (TUNNELING_REQ to KNX Net/IP)
Client <– | KNX Net/IP | KNX device (TUNNELING_ACK from KNX Net/IP)
NCD (Numbered Control Data)
NDT (Numbered Package)
UCD (Unnumbered Control Data)
UDT (Unnumbered Package)
The async communication handler, an actor. It is set in a dependency inversed manner.
Default delay in seconds for the recurring retrieval of KNX data. The default is 0 because there should be no delay.
A mapping of group-addresses to their data point types.
The mapping is a list of lists where each list has the form (group-address dpt-type label).
The group-address is a string representation of the address, i.e. "1/1/1".
The dpt-type is the type as available in the ‘dpt‘ package, i.e.: ‘dpt:dpt-1.001‘.
The label is a string that describes the group-address and is used for logging purposes.
Defines a delay in seconds for the recurring retrieval of KNX data. Only applicable if ‘start-receive‘ is true in ‘knx-conn-init‘.
Timeout for waiting for a response.
Times must be in full seconds. Float values will be truncated.
Macro that wraps ‘body‘ between ‘knx-conn-init‘ and ‘knx-conn-destroy‘.
It allows ‘body‘ to perform operations on the KNX connection, i.e. ‘write-value’ or ‘request-value’.
apci
.
data
.
Return T if MESSAGE-CODE is a L_Data.*
Return a human readable representation of MESSAGE-CODE
tpci
.
crd
.
Check if the ‘VALUE-TYPE’ is supported.
Toggle the value of the DPT1: ‘:on‘ -> ‘:off‘ and vise versa.
Send a tunnelling connection to the KNXnet/IP gateway. The response to this request will be received asynchronously.
Returns a future. The received will be a list of the received response and an error condition, if any.
The error condition will be of type ‘knx-receive-error‘ and reflects just an error of transport or parsing. The response itself may contain an error status of the KNX protocol.
If the connection is established successfully, the channel-id will be stored in the global variable ‘*channel-id*‘.
len
.
type
.
Converts an integer to a list of bytes.
Converts an integer to a simple-array (unsigned-int 8).
Return whether the client is connected to the KNXnet/IP gateway.
Disconnect from the KNXnet/IP gateway.
Close the KNX connection and destroy the runtime structures.
Initialize and setup the KNX connection and other internal structures.
It will make an UDP connection to KNX/IP gateway and establish a tunnelling connection.
- ‘host‘ is the IP address or hostname of the KNXnet/IP gateway.
- ‘port‘ is the port number of the KNXnet/IP gateway (default is 3671).
- ‘enable-heartbeat‘ is a boolean flag to enable the heartbeat mechanism (default is ‘T‘).
This can be ‘NIL‘ only for short time window. Usually the KNXnet/IP gateway wants to have a heartbeat at most every 2 minutes. or it will drop the connection.
- ‘tunnel-request-listeners‘ is a list of functions that will be called when a tunnelling request (L_Data.ind) is received. The function takes a single argument, the request object (‘tunnelling:knx-tunnelling-request‘). It is the responsibility of the listener function to filter the received requests.
- ‘group-address-dpt-mapping‘ is a list of group-address to DPT type mappings. The DPT type is used to parse the received data for the group-address. See ‘knx-client:*group-address-dpt-mapping*‘ for more information on the data structure. It is possible to also set, or modify the mapping during runtime via the variable directly. Note that this mapping is used for parsing the right DPT type for received L_Data.ind tunnelling requests so that a properly dpt-parsed request can be passed to the tunnel request listeners. If there is no mapping, or tunnelling requests are received that are not in the mapping, the requests will be passed to the listeners with raw data cemi data.
‘individual-address’ as string in form ’1.2.3’
Converts ‘value’ to ‘dpt’ based on ‘dpt-type’. For ‘dpt:dpt-1.001 we require ‘T’, or ‘NIL’.
supported ‘value-sym’: ‘(or :switch ’dpt-1.001)‘ as switch with ‘:on‘ or ‘:off‘ values.
5.001 Scaling (%) values: 0-100,
5.010 Value_1_Ucount values: 0-255
‘VALUE-SYM’ can be:
- ‘:scaling’ or ‘dpt-5.001’
- ‘:count’ or ‘dpt-5.010’.
9.001 Temperature (°C)
‘VALUE-SYM’ can be ‘:temperature’ for 9.001.
Creates a HPAI structure from the given ip-address and ip-port.
The ip-address is a string in the form of "192.168.1.1" or an octet vector.
The ip-port is an integer between 0 and 65535.
Returns the named value symbol, i.e. ‘:switch‘ for ‘dpt-1.001‘.
Parse CEMI frame from ‘DATA‘
Parses a variable list of dibs from the body data and returns them.
Parse a vector of 2 octets to a group address.
Parse a vector of 2 octets to an individual address. The vector has two elements in the knx spec.
Root object parse function.
‘PKG-DATA‘: package data, array of bytes representing the package.
Returns the parsed object.
Request the value of the given ‘group-address‘ with the given ‘dpt-type‘.
Returns ‘sento.future:future‘ that will be resolved with the value when it is received.
In case of error, the future will be resolved with the error condition or ‘NIL’ if the future times out.
Retrieve the description information from the KNXnet/IP gateway. The response to this request will be received asynchronously.
Returns a future. The received will be a list of the received response and an error condition, if any.
The error condition will be of type ‘knx-receive-error‘ and reflects just an error of transport or parsing. The response itself may contain an error status of the KNX protocol.
Sends a connection-state request to the KNXnet/IP gateway. The response to this request will be received asynchronously.
Returns the request that was sent.
This request should be sent every some seconds (i.e. 60) as a heart-beat to keep the connection alive.
Send a tunnelling-request as L-Data.Req with APCI Group-Value-Read to the given ‘address:knx-group-address‘. The response to this request will be received asynchronously. Returns a ‘fcomputation:future‘ that is resolved with the tunnelling-ack when received.
Send a tunnelling-request as L-Data.Req with APCI Group-Value-Write to the given ‘address:knx-group-address‘ with the given data point type to be set. Returns a ‘fcomputation:future‘ that is resolved with the tunnelling-ack when received.
Returns ‘T’ if a tunnel connection is established.
cemi
.
Convert the ‘VALUE-TYPE-STR’, i.e. "1.001" to a symbol, i.e. ‘DPT-1.001’.
Write the given ‘value‘ to the ‘group-address‘ with the given ‘dpt-type‘.
Returns ‘future:future‘ which resolves to ‘T’ is all went well and error condition on error.
Return T if APCI is equal to APCI-VALUE
apci-gv-read
) apci-value) ¶apci-gv-response
) apci-value) ¶apci-gv-write
) apci-value) ¶Return the length of the CEMI frame
cemi-l-data
)) ¶Return the length of the CEMI frame
Return the length of the DPT
Return the raw value of the DPT
Check if the DPT supports optimized npdu handling.
Return the specific value of the DPT
Create a group addres.
Create an individual address.
Parse ‘byte-vec’ to a DPT of ‘VALUE-TYPE’
(eql knx-conn.dpt:dpt-11.001)
) byte-vec) ¶(eql knx-conn.dpt:dpt-10.001)
) byte-vec) ¶(eql knx-conn.dpt:dpt-9.001)
) byte-vec) ¶(eql knx-conn.dpt:dpt-5.010)
) byte-vec) ¶(eql knx-conn.dpt:dpt-5.001)
) byte-vec) ¶(eql knx-conn.dpt:dpt-1.001)
) byte-vec) ¶Parses the package data into the object. ‘OBJ-TYPE‘: type of the object to parse the data into. ‘HEADER-DATA‘: header data as ‘knx-header‘ object. ‘BODY-DATA‘: body data as a byte sequence.
(eql 1057)
) header body) ¶(eql 1056)
) header body) ¶(eql 520)
) header body) ¶(eql 522)
) header body) ¶(eql 521)
) header body) ¶(eql 518)
) header body) ¶(eql 517)
) header body) ¶(eql 516)
) header body) ¶Converts the object to the byte sequence.
The byte-sequence should be a flat vector of octets.
knx-tunnelling-ack
)) ¶knx-tunnelling-request
)) ¶connection-header
)) ¶knx-connstate-request
)) ¶knx-disconnect-response
)) ¶knx-disconnect-request
)) ¶knx-connect-response
)) ¶knx-connect-request
)) ¶knx-descr-response
)) ¶knx-descr-request
)) ¶cemi-l-data
)) ¶tunneling-cri
)) ¶knx-address
)) ¶Convert the address to a byte sequence.
knx-package
)) ¶knx-header
)) ¶simple-error
.
simple-error
.
simple-error
.
simple-error
.
Group Value Response
apci
.
Group Value Write
apci
.
CEMI frame
cEMI frame
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| Message Code | Additional Info Length |
| (1 octet = 08h) | (1 octet) |
+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
| Additional Information |
| (optional, variable length) |
+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
| Service Information |
| (variable length) |
+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
knx-conn.knx-obj:octet
(error "required message-code!")
knx-conn.knx-obj:octet
(error "required info-len!")
(or null (vector knx-conn.knx-obj:octet))
L_Data.ind (data service indication 3.3.4.4 L_Data.ind message (EMI1 / EMI2)
cemi
.
(bit-vector 8)
(error "required ctrl1!")
(bit-vector 8)
(error "required ctrl2!")
knx-conn.address:knx-address
(error "required source-address!")
knx-conn.address:knx-address
(error "required destination-address!")
knx-conn.knx-obj:octet
(error "required npcu-len!")
knx-conn.knx-obj:octet
(error "required tcpi!")
knx-conn.knx-obj:octet
(error "required packet-num!")
knx-conn.cemi::apci
(error "required apci!")
(or null knx-conn.dpt:dpt (vector knx-conn.knx-obj:octet))
CRD (Connection Request Data)
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Structure Length | TUNNEL_CONNECTION | | (1 octet = 04h) | (1 octet = 04h) | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ | KNX Individual Address | | (2 Octets) | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
knx-conn.knx-obj:octet
knx-conn.crd::+structure-len+
knx-conn.knx-obj:octet
(error "conn-type required!")
knx-conn.address:knx-individual-address
(error "individual-address required!")
Connection Request Info
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Structure Length | Connection Type Code | | (1 Octet) | (1 Octet) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Host Protocol Independent Data | | (variable length, optional) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Host Protocol Dependent Data | | (variable length, optional) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
Device Information Block
Generic DIB structure:
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| Structure Length | Description Type Code |
| (1 octet) | (1 octet) |
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| Description Information Block data |
| (?? octets) |
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Structure Length | Description Type Code | | (1 octet) | (1 octet) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | KNX medium | Device Status | | (1 Octet) | (1 Octet) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | KNX Individual Address | | (2 Octets) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Project-Installation identifier | | (2 Octets) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | KNXnet/IP device KNX Serial Number | | (6 octets) | +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | KNXnet/IP device routing multicast address | | (4 octets) | +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | KNXnet/IP device MAC address | | (6 octets) | +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Device Friendly Name | | (30 octets) | +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
dib
.
knx-conn.knx-obj:octet
0
(bit-vector 8)
(knx-conn.utils:number-to-bit-vector 0 8)
(vector knx-conn.knx-obj:octet 2)
(error "required knx-individual-address")
(vector knx-conn.knx-obj:octet 2)
(error "required proj-inst-identifier")
(vector knx-conn.knx-obj:octet 6)
(error "required knx-serial-number")
(vector knx-conn.knx-obj:octet 4)
(error "required knx-routing-multicast-addr")
(vector knx-conn.knx-obj:octet 6)
(error "required knx-mac-addr")
string
(error "required device-friendly-name")
Supported Service Families +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Structure Length | Description Type Code | | (1 octet) | (1 octet) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Service Family ID | Service Family version | | (1 Octet) | (1 Octet) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Service Family ID | Service Family version | | (1 Octet) | (1 Octet) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | .... | .... | | | | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Service Family ID | Service Family version | | (1 Octet) | (1 Octet) | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
A DPT is a data point type.
I.e. the value for switches, dimmers, temperature sensors, etc. are all encoded using DPTs. The DPTs are used to encode and decode the data for transmission over the KNX bus.
knx-conn.dpt:dpt-value-type
(error "required value-type")
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
Field Names | b |
Encoding | B |
+—+—+—+—+—+—+—+—+
Format: 1 bit (B<sub>1</sub>)
Range: b = {0 = off, 1 = on}
10.001 Time Of Day
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
Field Names | (Day) (Hour) |
Encoding | N N N U U U U U |
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| 0 0 (Minutes) |
| U U U U U U |
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| 0 0 (Seconds) |
| U U U U U U |
+—+—+—+—+—+—+—+—+
Format: 3 octets (N3 U5 r2 U6 r2 U6)
Encoding: Day = [0 .. 7]
1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday, 7 = Sunday, 0 = no day
Hour = [0 .. 23]
Minutes = [0 .. 59]
Seconds = [0 .. 59]
11.001 Date
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
Field Names | 0 0 0 (Day) |
Encoding | U U U U U |
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| 0 0 0 0 (Month) |
| U U U U |
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| 0 (Year) |
| U U U U U U U |
+—+—+—+—+—+—+—+—+
Format: 3 octets (r3 U5 r4 U4 r1 U7)
Encoding: Day = [1 .. 31]
Month = [1 .. 12]
Year = [0 .. 99]
This format covers the range 1990 to 2089. The following interpretation shall be carried out by devices receiving the Data Point Type 11.001 and carrying out calculations on the basis of the entire 3rd octet:
- If Octet 3 contains value ≥ 90 : interpret as 20th century
- If Octet 3 contains value < 90: interpret as 21st century
Data Point Type 5 for ’8-Bit Unsigned Value’ (1 Octets)
Data Point Type 9 for ’2-Octet Float Value’ (2 Octets)
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
Field Names | (Float Value) |
Encoding | M E E E E M M M M M M M M M M M |
+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
Format: 2 octets (F_16)
Encoding: Float Value = (0.01 * M)*2(E)
E = [0 .. 15]
M = [-2048 .. 2047], two’s complement notation
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Structure Length | Host Protocol Code | | (1 octet = 08h) | (1 octet) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | | | IP Address | | (4 octets) | | | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | IP Port Number | | (2 Octets) | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
knx-conn.knx-obj:octet
8
knx-conn.knx-obj:octet
knx-conn.hpai::+hpai-udp+
(vector knx-conn.knx-obj:octet 4)
(error "required ip-address")
(vector knx-conn.knx-obj:octet 2)
(error "required ip-port")
Base structure for individual (physical) and group-address.
KNXnet/IP header (see above)
KNXnet/IP body +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | HPAI | | Control endpoint | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ | HPAI | | Data endpoint | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ | CRI | | Connection request information | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
knx-conn.hpai:hpai
(error "required hpai ctrl endpoint!")
knx-conn.hpai:hpai
(error "required hpai data endpoint!")
knx-conn.cri:cri
(error "required cri!")
Connect response
KNXnet/IP header (see knx-header)
KNXnet/IP body +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Communication Channel ID | Status | | | | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | HPAI | | Data endpoint | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | CRD | | Connection Response Data Block | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
knx-conn.knx-obj:octet
(error "channel-id required!")
knx-conn.knx-obj:octet
(error "status required!")
knx-conn.hpai:hpai
(error "hpai required!")
knx-conn.crd:crd
(error "crd required!")
KNXnet/IP header (see above)
KNXnet/IP body +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Communication Channel ID | reserved | | | | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | HPAI | | Control endpoint | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
KNXnet/IP header (see above)
KNXnet/IP body +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Communication Channel ID | Status | | | | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
KNXnet/IP header (see above)
KNXnet/IP body
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| HPAI |
| Control endpoint |
+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
knx-conn.hpai:hpai
(error "hpai required!")
KNXnet/IP header (see above)
KNXnet/IP body +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | DIB | | device hardware | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ | DIB | | supported service families | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ | DIB | | other device information (optional) | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
knc-conn.dib:dib-device-info
(error "required device-hardware (dip)")
knc-conn.dib:dib
(error "required supp svc families (dip)")
(or null knc-conn.dib:dib-list)
KNXnet/IP header (see above)
KNXnet/IP body +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Communication Channel ID | reserved | | | | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | HPAI | | Control endpoint | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
KNXnet/IP header (see above)
KNXnet/IP body +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Communication Channel ID | Status | | | | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
Group address
3-level addresses are supported. The presentation styles are:
- 3-level group address: main/middle/sub (5/3/8 bits)
all in decimal format, using ’/’ as separator if required.
Note, that the most significant bit of the main group, i.e., bit 15 in the unstructured address, is reserved, but not in use for now. This bit is not checked for, but nevertheless stored and returned by this implementation.
KNXnet/IP header
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | HEADER_SIZE_10 | KNXNETIP_VERSION | | (06h) | (10h) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | DESCRIPTION_RESPONSE | | (0204h) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | HEADER_SIZE_10 + sizeof(body) | | | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
knx-conn.knx-obj:octet
knx-conn.knx-obj:+knx-header-len+
knx-conn.knx-obj:octet
knx-conn.knx-obj::+knx-netip-version+
common-lisp
.
integer
(error "type is required!")
integer
(error "body length is required!")
Individual address
An individual address is built up from the 3 levels _area_, _line_, and
_device_. The address structure consists of a 16 bit address, consisting of
(starting from the most significant bit): area (4 bits), line (4 bits), and device (8
bits). The individual address KNX notation follows _area.line.device_, with the
required separator of type ’.’.
The combined address levels _area_ and _line_ are referred to as subnetwork
address, i.e., and described by the higher 8 bits of the address value.<br>
The sometimes used term _zone_ is synonymous with _area_.
Root knx object
structure-object
.
cemi
.
connection-header
.
crd
.
cri
.
dib
.
dpt
.
hpai
.
knx-address
.
knx-header
.
knx-package
.
service-family
.
knx-conn.knx-obj:knx-header
(error "header is required!")
KNXnet/IP header
KNXnet/IP body contains only conn-header, see above.
KNXnet/IP header
KNXnet/IP body
Connection header
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| Structure Length | Communication Channel ID |
| (1 octet) | (1 octet) |
+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
| Sequence Counter | reserved |
| (1 octet) | (1 octet) |
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
cEMI frame
+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
| Message Code | Additional Info Length |
| (1 octet = 08h) | (1 octet) |
+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
| Additional Information |
| (optional, variable length) |
+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
| Service Information |
| (variable length) |
+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
knx-conn.cemi:cemi
(error "required cemi!")
Tunneling Connection Request Info
* +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ * | Structure Length | TUNNEL_CONNECTION | * | (1 octet = 04h) | (1 octet = 04h) | * +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ * | KNX Layer Type | reserved | * | (1 octet) | (1 octet) | * +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+
Timeout for waiting for a heartbeat response.
Host Protocol Address Information (HPAI) TCP
Host Protocol Address Information (HPAI) UDP
KNX medium IP
KNX medium PL110
KNX medium RF
KNX medium TP1
The actor system used for async communication.
Pool of received messages that are not handled otherwise.
The channel-id of the current tunnelling connection.
Default interval in seconds for sending a connection-state request to the KNXnet/IP gateway.
Default timeout for waiting for a response.
Times must be in full seconds. Float values will be truncated.
Interval in seconds for sending a connection-state request to the KNXnet/IP gateway.
The signature of the heartbeat timer.
The sequence counter for the current tunnelling connection.
It is imperative that the seq-counter starts with 0 on every new connection.
Timeout for waiting for a tunnelling ack response. Should be 1, we set 2 Times must be in full seconds. Float values will be truncated.
A list of functions to be called when a tunnelling request is received.
Assert that the value is within the bounds.
The function ‘bounds-fun’, called with the value should make sure that
the value is within the desired value bounds.
If it is, the function should return ‘T’ and ‘NIL’ if it is not.
Allows the following messages:
- ‘(:send . <request>)‘ to send an knx request to the gateway.
- ‘(:receive . nil)‘ to start receive knx requests/responses from the gateway. The receival itself is done in a separate task (sento.tasks API). The received of the receival is forwarded to:
- ‘(:received . <result>)‘ looks at what is the type of the received.
For ‘knx-tunnelling-request‘s the registered listener functions will be called. All else will be enqueued in the ‘*awaited-things*‘ list, for ‘:wait-on-resp‘ to check.
- ‘(:wait-on-resp . (<resp-type> <start-time> <wait-time>))‘ to wait (by retrying and checking on the enqueued messages, the actor is not blocked) for a response of type ‘<resp-type>‘ until the time ‘<start-time> + <wait-time> (defaults to *resp-wait-timeout-secs*, can be dynamically overridden by ‘let’)‘ has elapsed. If the time has elapsed, a condition of type ‘knx-receive-error‘ will be signalled. If a response of the correct type is received, the response will be replied to the sender of the request.
The awaiting of responses works on the communication layer of knx-ip, i.e. search request response, description response/request, connection state request/response, (dis)connect request/response, plus tunnelling request/ack (because those are also quite high-level and can be distinguished on a message type).
Waiting on responses for specific tunnelling requests on an L_Data level must be done via tunnelling listeners.
- ‘(:heartbeat . nil)‘ to send a connection-state request to the KNXnet/IP gateway.
- ‘(:add-tunnel-req-listener . <listener-fun>)‘ to add a listener function for tunnelling requests.
- ‘(:rem-tunnel-req-listener . <listener-fun>)‘ to remove a listener function for tunnelling requests.
- ‘(:clr-tunnel-req-listeners . nil)‘ to clear all listener functions for tunnelling requests.
Return T if CEMI requests an ACK
.... ..x. acknowledge request flag
0 = no ACK requested
1 = ACK requested
Return the broadcast type of CEMI
...x .... broadcast
0 = system broadcast
1 = normal broadcast
Return T if CEMI is an error confirmation
.... ...x confirmation flag
0 = no error (confirm)
1 = error (L-Data.Connection)
Return the priority of CEMI .... xx.. priority
Return T if CEMI is a repeat frame
..x. .... repeat
0 = repeat on medium if error
1 = do not repeat
Return T if CEMI is a standard frame
x... .... frame type
0 = extended frame (9-263 octets)
1 = standard frame (8-23 octets)
Return T if CEMI is a group address
x... .... destination address type
0 = individual address
1 = group address
Return the frame format of CEMI
.... xxxx extended frame format
.... 0000 for standard frame
.... 01xx for LTE frames
.... 1111 for Escape (reserved by KNX Association)
Return the hop count of CEMI .xxx .... routing / hop count
9.001 Temperature (°C)
Range: [-273 .. 670760.96]
Unit: °C
Resolution: 0.01 °C
Sends given tunnel request and waits for tunnel-ack, resends request once if first ack doesn’t come in time.
addr
.
Copy elements from SOURCE to TARGET
len
.
cri
.
hpai
.
hpai
.
hpai
.
hpai
.
id
.
structure-object
.
knx-conn.knx-obj:octet
0
This slot is read-only.
Connection header +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Structure Length | Communication Channel ID | | (1 octet) | (1 octet) | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ | Sequence Counter | reserved | | (1 octet) | (1 octet) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
knx-conn.knx-obj:octet
knx-conn.tunnelling::+conn-header-structure-len+
knx-conn.knx-obj:octet
(error "required channel.id!")
knx-conn.knx-obj:octet
(error "required sequence-counter!")
knx-conn.knx-obj:octet
0
Base class for KNXnet/IP Tunnelling Request and Acknowledgement Connection header +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+ | Structure Length | Communication Channel ID | | (1 octet) | (1 octet) | +—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ | Sequence Counter | Status | | (1 octet) | (1 octet) | +-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+-7-+-6-+-5-+-4-+-3-+-2-+-1-+-0-+
knx-conn.tunnelling::connection-header
(error "required conn-header!")
Service Family
Jump to: | %
(
A B C D E F G H I K M N P R S T V W |
---|
Jump to: | %
(
A B C D E F G H I K M N P R S T V W |
---|
Jump to: | *
+
A B C D H I K L M N O P R S T V |
---|
Jump to: | *
+
A B C D H I K L M N O P R S T V |
---|
Jump to: | A C D F H I K M O P S T U |
---|
Jump to: | A C D F H I K M O P S T U |
---|