UNPKG

@hoobs/hue

Version:

HOOBS plugin for Philips Hue and deCONZ

440 lines 16.4 kB
{ "pluginAlias": "Hue", "pluginType": "platform", "singular": true, "headerDisplay": "Homebridge plugin for Philips Hue and/or deCONZ", "footerDisplay": "For a detailed description, see the [wiki](https://github.com/ebaauw/homebridge-hue/wiki/Configuration)", "schema": { "type": "object", "properties": { "name": { "description": "Plugin name as displayed in the homebridge log.", "type": "string", "required": true, "default": "Hue" }, "anyOn": { "description": "Expose state.any_on as AnyOn characteristic.", "type": "boolean", "default": true }, "excludeSensorTypes": { "description": "Sensor types to exclude.", "type": "array", "items": { "type": "string" } }, "forceCt": { "description": "Expose Color Temperature for extended color lights.", "type": "boolean", "default": true }, "forceEveWeather": { "description": "Create dummy pressure sensor for temperature/humidity sensors, so the Eve app treats them like an Eve Weather.", "type": "boolean" }, "forceHttp": { "description": "Use plain http instead of https.", "type": "boolean" }, "groups": { "description": "Expose groups.", "type": "boolean" }, "group0": { "description": "Expose group 0 (all lights).", "type": "boolean" }, "heartrate": { "description": "Heartbeat interval in seconds. Default: 5.", "type": "integer", "placeholder": 5, "minimum": 1, "maximum": 30 }, "hosts": { "title": "Bridges/Gateways", "type": "array", "items": { "type": "string" } }, "hueDimmerRepeat": { "description": "Enable repeat mode for the Hue dimmer switch (Dim Up and Dim Down buttons) and the Hue smart button.", "type": "boolean" }, "hueMotionTemperatureHistory": { "description": "Expose the temperature sensor of the Hue motion sensor as a separate HomeKit accessory, to enable temperature history in Eve.", "type": "boolean" }, "lights": { "description": "Expose lights.", "type": "boolean" }, "lowBattery": { "description": "Threshold for low battery. Default: 25%.", "type": "integer", "minimum": 0, "maximum": 100 }, "nativeHomeKitLights": { "description": "Don't expose lights already exposed by the v2 (square) Hue bridge.", "type": "boolean", "default": true }, "nativeHomeKitSensors": { "description": "Don't expose sensors already exposed by the v2 (square) Hue bridge.", "type": "boolean", "default": true }, "nupnp": { "description": "Enable bridge/gateway discovery through the nUPnP method.", "type": "boolean", "default": true }, "parallelRequests": { "description": "The number of ansynchronous requests homebridge-hue sends in parallel to a Hue bridge. Default: 3 or 10 (depending on the bridge/gateway).", "type": "integer", "minimum": 1, "maximum": 30 }, "resource": { "description": "Expose a Resource characteristic.", "type": "boolean", "default": true }, "rooms": { "description": "Include Room groups.", "type": "boolean" }, "rules": { "description": "Expose rules.", "type": "boolean" }, "scenes": { "description": "Expose scenes.", "type": "boolean" }, "scenesAsSwitch": { "description": "Expose scenes as Switch service.", "type": "boolean" }, "schedules": { "description": "Expose schedules.", "type": "boolean" }, "sensors": { "description": "Expose sensors.", "type": "boolean" }, "timeout": { "description": "The timeout in seconds to wait for a response from a Hue bridge. Default: 5.", "type": "integer", "minimum": 1, "maximum": 30 }, "users": { "type": "object", "patternProperties": { "^[A-Z0-9]{16}$": { "type": "string" } }, "minProperties": 1 }, "waitTimeResend": { "description": "The time, in milliseconds, to wait before resending a request after an ECONNRESET or http status 503 error. Default: 300.", "type": "integer", "minimum": 100, "maximum": 1000 }, "waitTimeUpdate": { "description": "The time, in milliseconds, to wait for a change from HomeKit to another characteristic for the same light or group, before updating the Hue bridge. Default: 20.", "type": "integer", "minimum": 0, "maximum": 500 }, "wallSwitch": { "description": "Indicate that you use traditional wall switches to power off your lights.", "type": "boolean" } } }, "form": [ "name", { "key": "hosts", "type": "array", "items": { "title": "Bridge/Gateway", "description": "Hostname and port of the Hue bridge or deCONZ gateway.", "type": "string" } }, "users", { "type": "fieldset", "expandable": true, "title": "Resource types", "description": "Select what resource types to expose.", "items": [ "sensors", { "key": "excludeSensorTypes", "type": "checkboxes", "titleMap": [ { "name": "ZigBee Switch", "value": "ZLLSwitch" }, { "name": "ZigBee Rotary Switch", "value": "ZLLRelativeRotary" }, { "name": "ZigBee Green Power switch", "value": "ZGPSwitch" }, { "name": "ZigBee Motion Sensor", "value": "ZLLPresence" }, { "name": "ZigBee Light Level Sensor", "value": "ZLLLightLevel" }, { "name": "ZigBee Temperature Sensor", "value": "ZLLTemperature" }, { "name": "ZigBee Humidity Sensor", "value": "ZHAHumidity" }, { "name": "ZigBee Air Pressure Sensor", "value": "ZHAPressure" }, { "name": "ZigBee Door/Window Sensor", "value": "ZHAOpenClose" }, { "name": "ZigBee Alarm Sensor", "value": "ZHAAlarm" }, { "name": "ZigBee Carbon Monoxide Sensor", "value": "ZHACarbonMonoxide" }, { "name": "ZigBee Fire Sensor", "value": "ZHAFire" }, { "name": "ZigBee Vibration Sensor", "value": "ZHAVibration" }, { "name": "ZigBee Leak Sensor", "value": "ZHAWater" }, { "name": "ZigBee Consumption Sensor", "value": "ZHAConsumption" }, { "name": "ZigBee Power Sensor", "value": "ZHAPower" }, { "name": "ZigBee Thermostat", "value": "ZHAThermostat" }, { "name": "Built-in Daylight Sensor", "value": "Daylight" }, { "name": "CLIP Flag", "value": "CLIPGenericFlag" }, { "name": "CLIP Status", "value": "CLIPGenericStatus" }, { "name": "CLIP Presence Sensor", "value": "CLIPPresence" }, { "name": "CLIP Light Level Sensor", "value": "CLIPLightLevel" }, { "name": "CLIP Temperature Sensor", "value": "CLIPTemperature" }, { "name": "CLIP Humidity Sensor", "value": "CLIPHumidity" }, { "name": "CLIP Air Pressure Sensor", "value": "CLIPPressure" }, { "name": "CLIP Door/Window Sensor", "value": "CLIPOpenClose" }, { "name": "CLIP Alarm Sensor", "value": "CLIPAlarm" }, { "name": "CLIP Carbon Monoxide Sensor", "value": "CLIPCarbonMonoxide" }, { "name": "CLIP Fire Sensor", "value": "CLIPFire" }, { "name": "CLIP Vibration Sensor", "value": "CLIPVibration" }, { "name": "CLIP Leak Sensor", "value": "CLIPWater" }, { "name": "CLIP Consumption Sensor", "value": "CLIPConsumption" }, { "name": "CLIP Power Sensor", "value": "CLIPPower" }, { "name": "Geofence", "value": "Geofence" }, { "name": "Any CLIP sensor", "value": "CLIP" } ], "condition": { "functionBody": "return model.sensors" } }, { "key": "nativeHomeKitSensors", "condition": { "functionBody": "return model.sensors" } }, "lights", { "key": "nativeHomeKitLights", "condition": { "functionBody": "return model.lights" } }, { "key": "forceCt", "condition": { "functionBody": "return model.lights" } }, "groups", { "key": "group0", "condition": { "functionBody": "return model.groups" } }, { "key": "anyOn", "condition": { "functionBody": "return model.groups" } }, { "key": "rooms", "condition": { "functionBody": "return model.groups" } }, { "key": "scenes", "condition": { "functionBody": "return model.groups" } }, { "key": "scenesAsSwitch", "condition": { "functionBody": "return model.scenes" } }, "schedules", "rules" ] }, { "type": "fieldset", "expandable": true, "title": "How", "description": "Select how to expose the resources.", "items": [ { "key": "forceEveWeather", "condition": { "functionBody": "return model.sensors" } }, { "key": "hueDimmerRepeat", "condition": { "functionBody": "return model.sensors" } }, { "key": "hueMotionTemperatureHistory", "condition": { "functionBody": "return model.sensors" } }, "resource", { "key": "wallSwitch", "condition": { "functionBody": "return model.lights" } } ] }, { "type": "fieldset", "expandable": true, "title": "Advanced Settings", "description": "Don't change these, unless you understand what you're doing.", "items": [ "forceHttp", "heartrate", { "key": "nupnp", "condition": { "functionBody": "return model.hosts == null" } }, "parallelRequests", "timeout", "waitTimeResend", "waitTimeUpdate" ] } ] }