node-hue-api
Version:
Philips Hue API Library for Node.js
116 lines (115 loc) • 4.37 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.v3 = void 0;
const hue_bridge_model_1 = require("@peter-murray/hue-bridge-model");
const v3Model_1 = require("./v3Model");
const util_1 = require("./util");
const api = __importStar(require("./api"));
const discovery_1 = require("./api/discovery");
// Definition of the v3 API for node-hue-api
const v3 = {
api: api,
discovery: {
// Have overridden this with mDNS searching as UPnP is no more and was removed from the bridge
upnpSearch: (timeout) => {
(0, util_1.deprecatedFunction)('6.x', `require('node-hue-api').v3.discovery.upnpSearch()`, `Use require('node-hue-api').discovery.mdnsSearch()`);
return (0, discovery_1.mdnsSearch)(timeout);
},
nupnpSearch: () => {
(0, util_1.deprecatedFunction)('6.x', `require('node-hue-api').v3.discovery.nupnpSearch()`, `Use require('node-hue-api').discovery.nupnpSearch()`);
return (0, discovery_1.nupnpSearch)();
},
description: (ipAddress) => {
(0, util_1.deprecatedFunction)('6.x', `require('node-hue-api').v3.discovery.description(ipAddress)`, `Use require('node-hue-api').discovery.description(ipAddress)`);
return (0, discovery_1.description)(ipAddress);
},
},
//TODO think about removing this and deferring to the model
lightStates: hue_bridge_model_1.model.lightStates,
model: v3Model_1.v3Model,
// //TODO remove
// sensors: sensorsObject(
// 'Sensors are now contained in the v3.model interface\n' +
// 'You can use the v3.model.createCLIP[xxx]Sensor() where [xxx] is the type of Sensor to instantiate a sensor.'
// ),
//
// //TODO remove
// Scene: classRemoved(
// 'Scenes are no longer exposed as a class.\n' +
// 'Create a Scene using v3.model.createLightScene() or v3.model.createGroupScene()'
// ),
//
// //TODO remove
// rules: rulesObject(
// 'Rules are now exposed under the v3.model interface.\n' +
// 'Create a rule using v3.model.createRule()\n' +
// 'Create a RuleCondition using v3.model.ruleConditions.[sensor|group]()\n' +
// 'Create a RuleAction using v3.mode.ruleActions.[light|group|sensor|scene]\n'
// ),
};
exports.v3 = v3;
// function sensorsObject(msg: string) {
// return {
// clip: {
// GenericFlag: classRemoved(msg),
// OpenClose: classRemoved(msg),
// GenericStatus: classRemoved(msg),
// Humidity: classRemoved(msg),
// Lightlevel: classRemoved(msg),
// Presence: classRemoved(msg),
// Switch: classRemoved(msg),
// Temperature: classRemoved(msg),
// }
// }
// }
//
// function rulesObject(msg) {
// return {
// Rule: classRemoved(msg),
// conditions: {
// group: functionRemoved(msg),
// sensor: functionRemoved(msg),
// },
// actions: {
// light: functionRemoved(msg),
// group: functionRemoved(msg),
// scene: functionRemoved(msg),
// },
// };
// }
// function functionRemoved(msg: string) {
// return function () {
// throw new ApiError(msg);
// };
// }
//
// function classRemoved(msg: string) {
// return class RemovedClass {
// constructor() {
// throw new ApiError(msg);
// }
// };
// }