knxnetjs
Version:
A TypeScript library for KNXnet/IP communication
59 lines • 3.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createInterface = exports.discoverInterfaces = exports.Priority = exports.CEMIMessageCode = exports.CEMIFrame = exports.KNXUSBImpl = exports.KNXNetTunnelingImpl = exports.KNXNetDiscovery = exports.KNX_CONSTANTS = exports.KNXInterfaceType = void 0;
exports.createRouting = createRouting;
exports.createTunneling = createTunneling;
exports.createBusmonitor = createBusmonitor;
exports.createUSB = createUSB;
exports.createUSBBusmonitor = createUSBBusmonitor;
exports.createDiscovery = createDiscovery;
const routing_1 = require("./interfaces/routing");
const discovery_1 = require("./discovery");
const tunneling_1 = require("./interfaces/tunneling");
const usb_1 = require("./interfaces/usb");
function createRouting(multicastAddress, port) {
const connection = new routing_1.KNXNetRoutingImpl(multicastAddress, port);
// Auto-connect when first used
const originalSend = connection.send.bind(connection);
connection.send = async (frame) => {
if (!connection.isConnected) {
await connection.open();
}
return originalSend(frame);
};
return connection;
}
function createTunneling(serverAddress, serverPort, localPort) {
return new tunneling_1.KNXNetTunnelingImpl(serverAddress, serverPort, localPort);
}
function createBusmonitor(serverAddress, serverPort, localPort) {
return new tunneling_1.KNXNetTunnelingImpl(serverAddress, serverPort, localPort, true);
}
function createUSB(options) {
return new usb_1.KNXUSBImpl(options);
}
function createUSBBusmonitor(options) {
const usbOptions = { ...options, busmonitorMode: true };
return new usb_1.KNXUSBImpl(usbOptions);
}
function createDiscovery() {
return new discovery_1.KNXNetDiscovery();
}
var types_1 = require("./types");
Object.defineProperty(exports, "KNXInterfaceType", { enumerable: true, get: function () { return types_1.KNXInterfaceType; } });
var constants_1 = require("./constants");
Object.defineProperty(exports, "KNX_CONSTANTS", { enumerable: true, get: function () { return constants_1.KNX_CONSTANTS; } });
var discovery_2 = require("./discovery");
Object.defineProperty(exports, "KNXNetDiscovery", { enumerable: true, get: function () { return discovery_2.KNXNetDiscovery; } });
var tunneling_2 = require("./interfaces/tunneling");
Object.defineProperty(exports, "KNXNetTunnelingImpl", { enumerable: true, get: function () { return tunneling_2.KNXNetTunnelingImpl; } });
var usb_2 = require("./interfaces/usb");
Object.defineProperty(exports, "KNXUSBImpl", { enumerable: true, get: function () { return usb_2.KNXUSBImpl; } });
var frames_1 = require("./frames");
Object.defineProperty(exports, "CEMIFrame", { enumerable: true, get: function () { return frames_1.CEMIFrame; } });
Object.defineProperty(exports, "CEMIMessageCode", { enumerable: true, get: function () { return frames_1.CEMIMessageCode; } });
Object.defineProperty(exports, "Priority", { enumerable: true, get: function () { return frames_1.Priority; } });
var interface_discovery_1 = require("./interface-discovery");
Object.defineProperty(exports, "discoverInterfaces", { enumerable: true, get: function () { return interface_discovery_1.discoverInterfaces; } });
Object.defineProperty(exports, "createInterface", { enumerable: true, get: function () { return interface_discovery_1.createInterface; } });
//# sourceMappingURL=index.js.map