UNPKG

knxultimate

Version:

KNX IP protocol implementation for Node. This is the ENGINE of Node-Red KNX-Ultimate node.

67 lines 3.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MAC_LEN_SHORT = exports.MAC_LEN_FULL = exports.AES_BLOCK_LEN = exports.SERIAL_LEN = exports.SECURE_SEQ_LEN = exports.PUBLIC_KEY_LEN = exports.CRD_TUNNEL_LINKLAYER = exports.HPAI_DATA_ENDPOINT_EMPTY = exports.HPAI_CONTROL_ENDPOINT_EMPTY = exports.SECURE_CONNECT_TIMEOUT_MS = exports.SECURE_AUTH_TIMEOUT_MS = exports.SECURE_SESSION_TIMEOUT_MS = exports.DEFAULT_SRC_IA_FALLBACK = exports.TUNNEL_CONN_HEADER_LEN = exports.KNXIP_HEADER_LEN = exports.WAIT_FOR_STATUS_DEFAULT_MS = exports.DEFAULT_STATUS_TIMEOUT_MS = exports.CONNECT_SEND_DELAY_MS = exports.AUTH_CTR_IV = exports.DATA_SECURE_CTR_SUFFIX = exports.TUNNELING_ACK_TOTAL_LEN = exports.KNXIP_HDR_SECURE_SESSION_AUTHENTICATE = exports.KNXIP_HDR_SECURE_SESSION_REQUEST = exports.KNXIP_HDR_TUNNELING_CONNECT_REQUEST = exports.KNXIP_HDR_TUNNELING_ACK = exports.KNXIP_HDR_TUNNELING_REQUEST = exports.KNXIP_HDR_SECURE_WRAPPER = exports.SECURE_WRAPPER_OVERHEAD = exports.SECURE_WRAPPER_MAC_SUFFIX = exports.SECURE_WRAPPER_CTR_SUFFIX = exports.SECURE_WRAPPER_TAG = exports.TPCI_DATA = exports.APCI_SEC = exports.APCI = exports.CEMI = exports.KNXIP = exports.SCF_ENCRYPTION_S_A_DATA = void 0; exports.SCF_ENCRYPTION_S_A_DATA = 0x10; exports.KNXIP = { SECURE_SESSION_REQUEST: 0x0951, SECURE_SESSION_RESPONSE: 0x0952, SECURE_SESSION_AUTHENTICATE: 0x0953, SECURE_SESSION_STATUS: 0x0954, SECURE_WRAPPER: 0x0950, TUNNELING_CONNECT_REQUEST: 0x0205, TUNNELING_CONNECT_RESPONSE: 0x0206, TUNNELING_REQUEST: 0x0420, TUNNELING_ACK: 0x0421, }; exports.CEMI = { L_DATA_REQ: 0x11, ADDITIONAL_INFO_NONE: 0x00, DEFAULT_GROUP_FLAGS: 0xbce0, CTRL2_RELEVANT_MASK: 0x8f, }; exports.APCI = { GROUP_VALUE_READ: 0x0000, GROUP_VALUE_RESPONSE: 0x0040, GROUP_VALUE_WRITE: 0x0080, SERVICE_MASK: 0x03c0, }; exports.APCI_SEC = { HIGH: 0x03, LOW: 0xf1, HEADER: Buffer.from([0x03, 0xf1]), }; exports.TPCI_DATA = 0x00; exports.SECURE_WRAPPER_TAG = Buffer.from('0000', 'hex'); exports.SECURE_WRAPPER_CTR_SUFFIX = Buffer.from('0000ff00', 'hex'); exports.SECURE_WRAPPER_MAC_SUFFIX = Buffer.from('ff00', 'hex'); exports.SECURE_WRAPPER_OVERHEAD = 38; exports.KNXIP_HDR_SECURE_WRAPPER = Buffer.from('06100950', 'hex'); exports.KNXIP_HDR_TUNNELING_REQUEST = Buffer.from('06100420', 'hex'); exports.KNXIP_HDR_TUNNELING_ACK = Buffer.from('06100421', 'hex'); exports.KNXIP_HDR_TUNNELING_CONNECT_REQUEST = Buffer.from('06100205', 'hex'); exports.KNXIP_HDR_SECURE_SESSION_REQUEST = Buffer.from('06100951', 'hex'); exports.KNXIP_HDR_SECURE_SESSION_AUTHENTICATE = Buffer.from('06100953', 'hex'); exports.TUNNELING_ACK_TOTAL_LEN = 0x000a; exports.DATA_SECURE_CTR_SUFFIX = Buffer.from([ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, ]); exports.AUTH_CTR_IV = Buffer.from('0000000000000000000000000000ff00', 'hex'); exports.CONNECT_SEND_DELAY_MS = 150; exports.DEFAULT_STATUS_TIMEOUT_MS = 5000; exports.WAIT_FOR_STATUS_DEFAULT_MS = 4000; exports.KNXIP_HEADER_LEN = 6; exports.TUNNEL_CONN_HEADER_LEN = 0x04; exports.DEFAULT_SRC_IA_FALLBACK = '1.1.255'; exports.SECURE_SESSION_TIMEOUT_MS = 5000; exports.SECURE_AUTH_TIMEOUT_MS = 5000; exports.SECURE_CONNECT_TIMEOUT_MS = 15000; exports.HPAI_CONTROL_ENDPOINT_EMPTY = Buffer.from('0802000000000000', 'hex'); exports.HPAI_DATA_ENDPOINT_EMPTY = Buffer.from('0802000000000000', 'hex'); exports.CRD_TUNNEL_LINKLAYER = Buffer.from('04040200', 'hex'); exports.PUBLIC_KEY_LEN = 32; exports.SECURE_SEQ_LEN = 6; exports.SERIAL_LEN = 6; exports.AES_BLOCK_LEN = 16; exports.MAC_LEN_FULL = 16; exports.MAC_LEN_SHORT = 4; //# sourceMappingURL=secure_knx_constants.js.map