'use strict'; // // HomeSeer Platform Shim for HomeBridge // V0.1 - Jean-Michel Joudrier (stipus at stipus dot com) - 2015/10/07 - Initial version // // // Remember to add platform to config.json. // // You can get HomeSeer Device References by clicking a HomeSeer device name, then // choosing the Advanced Tab. // // Example: // "platforms": [ // { // "platform": "HomeSeer", // required // "name": "HomeSeer", // required // "url": "http://192.168.3.4:81", // required // "accessories":[ // { // "ref":8, // required - HomeSeer Device Reference (To get it, select the HS Device - then Advanced Tab) // "type":"Lightbulb", // Optional - Lightbulb is the default // "name":"My Light", // Optional - HomeSeer device name is the default // "offValue":"0", // Optional - 0 is the default // "onValue":"100", // Optional - 100 is the default // "can_dim":true // Optional - true is the default - false for a non dimmable lightbulb // }, // { // "ref":9 // This is a dimmable Lightbulb by default // }, // { // "ref":58, // This is an controllable outlet // "type":"Outlet" // } // ] // } // ], // // // SUPORTED TYPES: // - Lightbulb (can_dim, onValue, offValue options) // - Fan (onValue, offValue options) // - Switch (onValue, offValue options) // - Outlet (onValue, offValue options) // - TemperatureSensor // - ContactSensor // - MotionSensor // - LeakSensor // - LightSensor // - OccupancySensor // - SmokeSensor // - Door var Service = require("HAP-NodeJS").Service; var Characteristic = require("HAP-NodeJS").Characteristic; var request = require("request"); function httpRequest(url, method, callback) { request({ url: url, method: method }, function (error, response, body) { callback(error, response, body) }) } function HomeSeerPlatform(log, config){ this.log = log; this.config = config; } HomeSeerPlatform.prototype = { accessories: function(callback) { this.log("Fetching HomeSeer devices."); var refList = ""; for( var i=0; i