var fs = require('fs'); var path = require('path'); var storage = require('node-persist'); var uuid = require('HAP-NodeJS').uuid; var Bridge = require('HAP-NodeJS').Bridge; var Accessory = require('HAP-NodeJS').Accessory; var accessoryLoader = require('HAP-NodeJS').AccessoryLoader; console.log("Starting HomeBridge server..."); // Look for the configuration file var configPath = path.join(__dirname, "config.json"); // Complain and exit if it doesn't exist yet if (!fs.existsSync(configPath)) { console.log("Couldn't find a config.json file in the same directory as app.js. Look at config-sample.json for examples of how to format your config.js and add your home accessories."); process.exit(1); } // Initialize persistent storage //storage.initSync(); // Start by creating our Bridge which will host all loaded Accessories var bridge = new Bridge('HomeBridge', uuid.generate("HomeBridge")); // Load up the configuration file var config = JSON.parse(fs.readFileSync(configPath)); // keep track of async calls we're waiting for callbacks on before we can start up var asyncCalls = 0; function startup() { // if (config.platforms) loadPlatforms(); if (config.accessories) loadAccessories(); bridge.publish({ username: "CC:22:3D:E3:CE:27", port: 51826, pincode: "031-45-154", category: Accessory.Categories.OTHER }); } function loadAccessories() { // Instantiate all accessories in the config console.log("Loading " + config.accessories.length + " accessories..."); for (var i=0; i