mirror of
https://github.com/mtan93/homebridge.git
synced 2026-03-08 05:31:55 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4884087041 | ||
|
|
e1867b2bc0 | ||
|
|
4d0f9d86f6 | ||
|
|
ecda18029f | ||
|
|
efc570e5a9 | ||
|
|
b6cfe3ba7c | ||
|
|
f836d4a42c | ||
|
|
63ab1025e9 | ||
|
|
dc43d0b7c4 | ||
|
|
7c3543ba61 | ||
|
|
5adb5f3282 |
@@ -189,7 +189,8 @@ SamplePlatform.prototype.addAccessory = function(accessoryName) {
|
||||
// Plugin can save context on accessory
|
||||
// To help restore accessory in configureAccessory()
|
||||
// newAccessory.context.something = "Something"
|
||||
|
||||
|
||||
// Make sure you provided a name for service otherwise it may not visible in some HomeKit apps.
|
||||
newAccessory.addService(Service.Lightbulb, "Test Light")
|
||||
.getCharacteristic(Characteristic.On)
|
||||
.on('set', function(value, callback) {
|
||||
|
||||
@@ -165,9 +165,13 @@ Plugin.installed = function() {
|
||||
|
||||
// reconstruct full path
|
||||
var pluginPath = path.join(requirePath, name);
|
||||
|
||||
// we only care about directories
|
||||
if (!fs.statSync(pluginPath).isDirectory()) continue;
|
||||
|
||||
try {
|
||||
// we only care about directories
|
||||
if (!fs.statSync(pluginPath).isDirectory()) continue;
|
||||
} catch (e) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// does this module contain a package.json?
|
||||
var pjson;
|
||||
|
||||
@@ -23,7 +23,9 @@ module.exports = {
|
||||
Server: Server
|
||||
}
|
||||
|
||||
function Server(insecureAccess) {
|
||||
function Server(insecureAccess, opts) {
|
||||
opts = opts || {};
|
||||
|
||||
// Setup Accessory Cache Storage
|
||||
accessoryStorage.initSync({ dir: User.cachedAccessoryPath() });
|
||||
|
||||
@@ -46,7 +48,7 @@ function Server(insecureAccess) {
|
||||
}.bind(this));
|
||||
|
||||
this._plugins = this._loadPlugins(); // plugins[name] = Plugin instance
|
||||
this._config = this._loadConfig();
|
||||
this._config = opts.config || this._loadConfig();
|
||||
this._cachedPlatformAccessories = this._loadCachedPlatformAccessories();
|
||||
this._bridge = this._createBridge();
|
||||
|
||||
@@ -55,7 +57,7 @@ function Server(insecureAccess) {
|
||||
this._publishedCameras = {};
|
||||
this._setupManager = new BridgeSetupManager();
|
||||
this._setupManager.on('newConfig', this._handleNewConfig.bind(this));
|
||||
|
||||
|
||||
this._setupManager.on('requestCurrentConfig', function(callback) {
|
||||
callback(this._config);
|
||||
}.bind(this));
|
||||
@@ -93,7 +95,7 @@ Server.prototype.run = function() {
|
||||
Server.prototype._publish = function() {
|
||||
// pull out our custom Bridge settings from config.json, if any
|
||||
var bridgeConfig = this._config.bridge || {};
|
||||
|
||||
|
||||
var info = this._bridge.getService(Service.AccessoryInformation);
|
||||
if (bridgeConfig.manufacturer)
|
||||
info.setCharacteristic(Characteristic.Manufacturer, bridgeConfig.manufacturer);
|
||||
@@ -168,7 +170,7 @@ Server.prototype._loadConfig = function() {
|
||||
// Complain and exit if it doesn't exist yet
|
||||
if (!fs.existsSync(configPath)) {
|
||||
log.warn("config.json (%s) not found.", configPath);
|
||||
|
||||
|
||||
var config = {};
|
||||
|
||||
config.bridge = {
|
||||
@@ -427,7 +429,7 @@ Server.prototype._handleRegisterPlatformAccessories = function(accessories) {
|
||||
|
||||
accessory._prepareAssociatedHAPAccessory();
|
||||
hapAccessories.push(accessory._associatedHAPAccessory);
|
||||
|
||||
|
||||
this._cachedPlatformAccessories.push(accessory);
|
||||
}
|
||||
|
||||
@@ -473,7 +475,7 @@ Server.prototype._handlePublishCameraAccessories = function(accessories) {
|
||||
var advertiseAddress = mac.generate(accessory.UUID);
|
||||
|
||||
if (this._publishedCameras[advertiseAddress]) {
|
||||
throw new Error("Camera accessory %s experienced an address collision.", accessory.displayName);
|
||||
throw new Error("Camera accessory " + accessory.displayName + " experienced an address collision.");
|
||||
} else {
|
||||
this._publishedCameras[advertiseAddress] = accessory;
|
||||
}
|
||||
@@ -513,7 +515,7 @@ Server.prototype._handleNewConfig = function(type, name, replace, config) {
|
||||
} else {
|
||||
var targetName;
|
||||
if (name.indexOf('.') !== -1) {
|
||||
targetName = name.split(".")[1];
|
||||
targetName = name.split(".")[1];
|
||||
}
|
||||
var found = false;
|
||||
for (var index in this._config.accessories) {
|
||||
@@ -545,7 +547,7 @@ Server.prototype._handleNewConfig = function(type, name, replace, config) {
|
||||
} else {
|
||||
var targetName;
|
||||
if (name.indexOf('.') !== -1) {
|
||||
targetName = name.split(".")[1];
|
||||
targetName = name.split(".")[1];
|
||||
}
|
||||
|
||||
var found = false;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "homebridge",
|
||||
"description": "HomeKit support for the impatient",
|
||||
"version": "0.4.6",
|
||||
"version": "0.4.10",
|
||||
"scripts": {
|
||||
"dev": "DEBUG=* ./bin/homebridge -D -P example-plugins/ || true"
|
||||
},
|
||||
@@ -26,7 +26,7 @@
|
||||
"dependencies": {
|
||||
"chalk": "^1.1.1",
|
||||
"commander": "2.8.1",
|
||||
"hap-nodejs": "0.4.11",
|
||||
"hap-nodejs": "0.4.15",
|
||||
"semver": "5.0.3",
|
||||
"node-persist": "^0.0.8"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user