UNPKG

node-hue-api

Version:
172 lines (171 loc) 5.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.v3Model = void 0; const hue_bridge_model_1 = require("@peter-murray/hue-bridge-model"); function isTimePattern(str) { return hue_bridge_model_1.time.AbsoluteTime.matches(str) || hue_bridge_model_1.time.RecurringTime.matches(str) || hue_bridge_model_1.time.RandomizedTime.matches(str) || hue_bridge_model_1.time.RecurringRandomizedTime.matches(str) || hue_bridge_model_1.time.Timer.matches(str) || hue_bridge_model_1.time.RecurringTimer.matches(str) || hue_bridge_model_1.time.RandomizedTimer.matches(str) || hue_bridge_model_1.time.RecurringRandomizedTimer.matches(str); } const timePatterns = { weekdays: hue_bridge_model_1.time.WEEKDAYS, isRecurring: hue_bridge_model_1.time.isRecurring, createAbsoluteTime, createRandomizedTime, createRecurringTime, createRecurringRandomizedTime, createTimeInterval, createTimer, createRecurringTimer, createRandomizedTimer, createRecurringRandomizedTimer, createFromString: hue_bridge_model_1.time.createFromString, isTimePattern, }; const actions = { light: (light) => { return new hue_bridge_model_1.model.LightStateAction(light); }, group: (group) => { return new hue_bridge_model_1.model.GroupStateAction(group); }, sensor: (sensor) => { return new hue_bridge_model_1.model.SensorStateAction(sensor); }, scene: (scene) => { return new hue_bridge_model_1.model.SceneAction(scene); } }; const ruleConditions = { sensor: function (sensor) { return new hue_bridge_model_1.model.SensorCondition(sensor); }, group: function (id) { return new hue_bridge_model_1.model.GroupCondition(id); }, }; exports.v3Model = { lightStates: hue_bridge_model_1.model.lightStates, timePatterns, createEntertainment, createLightGroup, createRoom, createZone, createCLIPGenericFlagSensor, createCLIPGenericStatusSensor, createCLIPHumiditySensor, createCLIPLightlevelSensor, createCLIPOpenCloseSensor, createCLIPPresenceSensor, createCLIPTemperatureSensor, createCLIPSwitchSensor, createLightScene, createGroupScene, createSchedule, actions, createRule, ruleConditions, // ruleConditionOperators, // createResourceLink, // // createFromBridge, // createFromJson, }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Groups function createEntertainment() { return new hue_bridge_model_1.model.Entertainment(); } function createLightGroup() { return new hue_bridge_model_1.model.LightGroup(); } function createRoom() { return new hue_bridge_model_1.model.Room(); } function createZone() { return new hue_bridge_model_1.model.Zone(); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Sensors function createCLIPGenericFlagSensor() { return new hue_bridge_model_1.model.CLIPGenericFlag(); } function createCLIPGenericStatusSensor() { return new hue_bridge_model_1.model.CLIPGenericStatus(); } function createCLIPHumiditySensor() { return new hue_bridge_model_1.model.CLIPHumidity(); } function createCLIPLightlevelSensor() { return new hue_bridge_model_1.model.CLIPLightlevel(); } function createCLIPOpenCloseSensor() { return new hue_bridge_model_1.model.CLIPOpenClose(); } function createCLIPPresenceSensor() { return new hue_bridge_model_1.model.CLIPPresence(); } function createCLIPTemperatureSensor() { return new hue_bridge_model_1.model.CLIPTemperature(); } function createCLIPSwitchSensor() { return new hue_bridge_model_1.model.CLIPSwitch(); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Scenes function createLightScene() { return new hue_bridge_model_1.model.LightScene(); } function createGroupScene() { return new hue_bridge_model_1.model.GroupScene(); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Schedules function createSchedule() { return new hue_bridge_model_1.model.Schedule(); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Rules function createRule() { return new hue_bridge_model_1.model.Rule(); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ResourceLinks function createResourceLink() { return new hue_bridge_model_1.model.ResourceLink(); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Schedule Times function createAbsoluteTime(value) { return new hue_bridge_model_1.time.AbsoluteTime(value); } function createRandomizedTime(value) { return new hue_bridge_model_1.time.RandomizedTime(value); } function createRecurringTime(weekdays, value) { return new hue_bridge_model_1.time.RecurringTime(weekdays, value); } function createRecurringRandomizedTime(value) { return new hue_bridge_model_1.time.RecurringRandomizedTime(value); } function createTimeInterval(value) { return new hue_bridge_model_1.time.TimeInterval(value); } function createTimer(value) { return new hue_bridge_model_1.time.Timer(value); } function createRecurringTimer(value) { return new hue_bridge_model_1.time.RecurringTimer(value); } function createRandomizedTimer(value) { return new hue_bridge_model_1.time.RandomizedTimer(value); } function createRecurringRandomizedTimer(value) { return new hue_bridge_model_1.time.RecurringRandomizedTimer(value); }