UNPKG

tinkerforge-device-manager

Version:

A node library to make connecting to and accessing Tinkerforge devices easier. Created at the University of Applied Sciences in Osnabrueck.

47 lines (38 loc) 1.65 kB
var Tinkerforge = require('tinkerforge'); var deviceManager = require('./lib/deviceManager.js'); var connectCallback; exports.initialize = function (host = "localhost", port = 4223) { console.log("Waiting for devices to connect..."); ipcon = new Tinkerforge.IPConnection(); deviceManager.setIPConnection(ipcon); ipcon.connect(host, port); ipcon.on(Tinkerforge.IPConnection.CALLBACK_CONNECTED, function (connectReason) { ipcon.enumerate(); } ); ipcon.on(Tinkerforge.IPConnection.CALLBACK_ENUMERATE, _enumerationCallback); } exports.setConnectCallback = function (callback) { connectCallback = callback; } /* Enumeration Types: 0 - Available, 1 - Connected, 2 - Offline (nur USB) */ function _enumerationCallback(uid, connectedUid, position, hardwareVersion, firmwareVersion, deviceIdentifier, enumerationType) { if (enumerationType == Tinkerforge.IPConnection.ENUMERATION_TYPE_AVAILABLE) { var device = deviceManager.add(uid, deviceIdentifier); if (typeof connectCallback !== "undefined") connectCallback(device); } else if (enumerationType == Tinkerforge.IPConnection.ENUMERATION_TYPE_CONNECTED) { var device = deviceManager.addAgain(uid, deviceIdentifier); if (typeof connectCallback !== "undefined") connectCallback(device); } else { deviceManager.remove(uid); } } exports.getDeviceByUid = deviceManager.getDeviceByUid; exports.getDeviceByIdentifier = deviceManager.getDeviceByIdentifier; exports.getAllDevices = deviceManager.getAllDevices;