diff --git a/hobu_alert_system_motion/app.js b/hobu_alert_system_motion/app.js new file mode 100644 index 0000000..bca5065 --- /dev/null +++ b/hobu_alert_system_motion/app.js @@ -0,0 +1,76 @@ +var Tinkerforge = require('../Tinkerforge') +, Conf = require('./config.json') +, Helper = require('../Adawim/helper') +, Log = require('../Adawim/logging') +, http = require('http'); + + +Helper.each(Conf.items, function(item) { + var HOST = item.host; + var PORT = item.port; + var UID = item.uid; + + var ipcon = new Tinkerforge.IPConnection(); // Create IP connection + var md = new Tinkerforge.BrickletMotionDetector(UID, ipcon); // Create device object + + var counter = 0; + var readyForNextNotification = true; + + ipcon.connect(HOST, PORT, + function (error) { + + /* + IPConnection.ERROR_ALREADY_CONNECTED = 11 + IPConnection.ERROR_NOT_CONNECTED = 12 + IPConnection.ERROR_CONNECT_FAILED = 13 + IPConnection.ERROR_INVALID_FUNCTION_ID = 21 + IPConnection.ERROR_TIMEOUT = 31 + IPConnection.ERROR_INVALID_PARAMETER = 41 + IPConnection.ERROR_FUNCTION_NOT_SUPPORTED = 42 + IPConnection.ERROR_UNKNOWN_ERROR = 43 + */ + Log.log('Error: ' + error); + } + ); // Connect to brickd + // Don't use device before ipcon is connected + + ipcon.on(Tinkerforge.IPConnection.CALLBACK_CONNECTED, + function (connectReason) { + + } + ); + + // Register motion detected callback + md.on(Tinkerforge.BrickletMotionDetector.CALLBACK_MOTION_DETECTED, + // Callback function for motion detected callback + function () { + Log.log('Motion detected'); + } + ); + + process.on( 'SIGINT', function() { + console.log( "\nGracefully disconnect " + HOST ); + ipcon.disconnect(); + process.exit( ); + }); +}); + + +/* private */ +function doHoBuDoorBellCall(options) { + callback = function(response) { + var str = ''; + + //another chunk of data has been recieved, so append it to `str` + response.on('data', function (chunk) { + str += chunk; + }); + + //the whole response has been recieved, so we just print it out here + response.on('end', function () { + Log.log(str); + }); + } + + http.request(options, callback).end(); +} \ No newline at end of file diff --git a/hobu_alert_system_motion/config.json b/hobu_alert_system_motion/config.json new file mode 100644 index 0000000..ba83c6b --- /dev/null +++ b/hobu_alert_system_motion/config.json @@ -0,0 +1,12 @@ +{ + "hobu": { + "webservice": "ws://192.168.2.111:8000/" + }, + "items": [ + { + "host": "192.168.2.125", + "port": 4223, + "uid": "wsk" + } + ] +}