knxultimate
Version:
KNX IP protocol implementation for Node. This is the ENGINE of Node-Red KNX-Ultimate node.
67 lines • 3.66 kB
JavaScript
;
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