diff --git a/accessories/Wink.js b/accessories/Wink.js deleted file mode 100644 index 0c60dda..0000000 --- a/accessories/Wink.js +++ /dev/null @@ -1,187 +0,0 @@ -var types = require("../lib/HAP-NodeJS/accessories/types.js"); -var wink = require('wink-js'); - -function WinkAccessory(log, config) { - this.log = log; - - // auth info - this.client_id = config["client_id"]; - this.client_secret = config["client_secret"]; - this.username = config["username"]; - this.password = config["password"]; - - // device info - this.name = config["name"]; - this.device = null; - - this.log("Searching for Wink device with exact name '" + this.name + "'..."); - this.search(); -} - -WinkAccessory.prototype = { - - search: function() { - var that = this; - - wink.init({ - "client_id": this.client_id, - "client_secret": this.client_secret, - "username": this.username, - "password": this.password - }, function(auth_return) { - if ( auth_return === undefined ) { - that.log("There was a problem authenticating with Wink."); - } else { - // success - wink.user().device(that.name, function(device) { - that.device = device - }); - } - }); - - }, - - setPowerState: function(powerOn) { - if (!this.device) { - this.log("No '"+this.name+"' device found (yet?)"); - return; - } - - var that = this; - - if (powerOn) { - this.log("Setting power state on the '"+this.name+"' to on"); - this.device.power.on(function(response) { - if (response === undefined) { - that.log("Error setting power state on the '"+that.name+"'") - } else { - that.log("Successfully set power state on the '"+that.name+"' to on"); - } - }); - }else{ - this.log("Setting power state on the '"+this.name+"' to off"); - this.device.power.off(function(response) { - if (response === undefined) { - that.log("Error setting power state on the '"+that.name+"'") - } else { - that.log("Successfully set power state on the '"+that.name+"' to off"); - } - }); - } - - }, - - setBrightness: function(level) { - if (!this.device) { - this.log("No '"+this.name+"' device found (yet?)"); - return; - } - - var that = this; - - this.log("Setting brightness on the '"+this.name+"' to on"); - this.device.brightness(level, function(response) { - if (response === undefined) { - that.log("Error setting brightness on the '"+that.name+"'") - } else { - that.log("Successfully set brightness on the '"+that.name+"' to " + level); - } - }); - }, - - getServices: function() { - var that = this; - return [{ - sType: types.ACCESSORY_INFORMATION_STYPE, - characteristics: [{ - cType: types.NAME_CTYPE, - onUpdate: null, - perms: ["pr"], - format: "string", - initialValue: this.name, - supportEvents: false, - supportBonjour: false, - manfDescription: "Name of the accessory", - designedMaxLength: 255 - },{ - cType: types.MANUFACTURER_CTYPE, - onUpdate: null, - perms: ["pr"], - format: "string", - initialValue: "Wink", - supportEvents: false, - supportBonjour: false, - manfDescription: "Manufacturer", - designedMaxLength: 255 - },{ - cType: types.MODEL_CTYPE, - onUpdate: null, - perms: ["pr"], - format: "string", - initialValue: "Rev-1", - supportEvents: false, - supportBonjour: false, - manfDescription: "Model", - designedMaxLength: 255 - },{ - cType: types.SERIAL_NUMBER_CTYPE, - onUpdate: null, - perms: ["pr"], - format: "string", - initialValue: "A1S2NASF88EW", - supportEvents: false, - supportBonjour: false, - manfDescription: "SN", - designedMaxLength: 255 - },{ - cType: types.IDENTIFY_CTYPE, - onUpdate: null, - perms: ["pw"], - format: "bool", - initialValue: false, - supportEvents: false, - supportBonjour: false, - manfDescription: "Identify Accessory", - designedMaxLength: 1 - }] - },{ - sType: types.LIGHTBULB_STYPE, - characteristics: [{ - cType: types.NAME_CTYPE, - onUpdate: null, - perms: ["pr"], - format: "string", - initialValue: this.name, - supportEvents: true, - supportBonjour: false, - manfDescription: "Name of service", - designedMaxLength: 255 - },{ - cType: types.POWER_STATE_CTYPE, - onUpdate: function(value) { that.setPowerState(value); }, - perms: ["pw","pr","ev"], - format: "bool", - initialValue: 0, - supportEvents: true, - supportBonjour: false, - manfDescription: "Change the power state of the Bulb", - designedMaxLength: 1 - },{ - cType: types.BRIGHTNESS_CTYPE, - onUpdate: function(value) { that.setBrightness(value); }, - perms: ["pw","pr","ev"], - format: "int", - initialValue: 0, - supportEvents: true, - supportBonjour: false, - manfDescription: "Adjust Brightness of Light", - designedMinValue: 0, - designedMaxValue: 100, - designedMinStep: 1, - unit: "%" - }] - }]; - } -}; - -module.exports.accessory = WinkAccessory;