Skip to content

Configuration

Erik Baauw edited this page Apr 11, 2020 · 71 revisions

This page provides an overview of the config.json parameters used by homebridge-hue.

1. Overview

Key Default Description
anyOn true Expose a group's state.any_on as a separate (custom) AnyOn characteristic. In this case, the On characteristic maps to state.all_on.
Set to false to suppress AnyOn and map On to state.any_on.
excludeSensorTypes [] An array of sensor types to ignore. The sensor type is the (case sensitive) type attribute of the bridge sensor resource, or "CLIP" as a shortcut for all CLIP sensors.
For example, to expose only the Hue motion sensors, Hue taps, and Hue dimmer switches, specify: "excludeSensorTypes": ["CLIP", "Geofence", "Daylight"].
forceCt true Expose Color Temperature for all lights that support it. Set to false to expose extended color lights with only Hue and Saturation, like the Hue bridge does. This might give a better user experience for the colour wheel in Apple's Home app, but you'll no longer be able from HomeKit to drive the CW/WW channels on RGB+CCT lights (like the Hue gamut-C lights).
forceEveWeather false Expose temperature/humidity sensors like an Eve Weather, by exposing a dummy pressure sensor.
groups false Flag whether to expose Hue bridge groups to HomeKit.
group0 false Flag whether to include group 0 (all lights) when groups are exposed.
heartrate 5 The rate, in seconds, at which to poll the Hue bridge. Must be between 1 and 30. Note that this can be changed dynamically per bridge, through the Heartbeat service.
I've been using a 2-second heartrate with no issues on my v2 (square) bridge.
host
hosts
""
[]
The hostname or IP address (optionally with port) of the Hue bridge. When set, discovery of bridges is disabled.
To specify a single hostname or IP address, use a string, e.g. "host": "192.168.1.10".
To specify multiple hostnames and/or IP addresses use an array, e.g. "hosts": ["192.168.1.10", "192.168.1.11"] or "hosts": ["192.168.1.10", "192.168.1.11:8080"].
hueDimmerRepeat false Flag whether to enable repeat mode for the Hue dimmer switch (Dim Up and Dim Down buttons) and for the Hue smart button. When enabled, while the button is pressed, homebridge-hue continuously fires Single Press events, instead of a single Long Press event.
hueMotionTemperatureHistory false Flag whether to expose the ZLLTemperature/ZHATemperature sensor resource for the Hue motion sensor as a separate HomeKit accessory, to enable temperature history in Eve, next to the motion history.
linkButton false Flag whether to expose the link button on the Hue bridge.
lights false Flag whether to expose Hue bridge lights to HomeKit.
lowBattery 25 The battery level threshold for Status Low Battery.
name The prefix homebridge uses for log (debug, error) messages issued by homebridge-hue.
Highly recommended to set this to "Hue".
nativeHomeKitLights true Indicates that you use the native HomeKit feature of the v2 (square) Hue bridge to expose lights. With this setting, homebridge-hue does not expose Philips Hue lights, connected to a v2 (square) Hue bridge.
nativeHomeKitSensors true Indicates that you use the native HomeKit feature of the v2 (square) Hue bridge to expose sensors. With this setting, homebridge-hue doesn’t expose Philips Hue motion sensors, dimmer switches, and tab switches, connected to a v2 (square) Hue bridge.
nupnp true Enable bridge/gateway discovery through the nUPnP method, i.e. by contacting the meethue and dresden appspot portals.
Set to false when you have a shared a public IP address and homebridge-hue discovers bridges and/or gateways that don't belong to you.
parallelRequests 10
3
The number of ansynchronous requests homebridge-hue sends in parallel to a Hue bridge. Must be between 1 and 30. You might want to decrease this if homebridge-hue reports ECONNRESET errors.
The default is 10 for a v2 bridge and 3 for a v1 bridge.
platform The name of the platform homebridge-hue provides to homebridge.
Mandatory, must be set to "Hue".
resource true Flag whether to expose Resource characteristic.
Set to false, to reduce the memory footprint of the accessories exposed by homebridge-hue.
rooms false Flag whether to include Room groups when groups are exposed.
rules false Flag whether to expose Hue bridge rules to HomeKit.
scenes false Flag whether to expose Hue bridge scenes to HomeKit.
Note that GroupScene scenes are exposed under their corresponding group, and LightScene and v1 scenes under group 0, so make sure the group is exposed.
scenesAsSwitch false Flag whether to expose scenes as standard Switch services, so they'll be visible in Apple's Home app.
Note that with this setting, Siri will activate all scenes when you turn on the room.
schedules false Flag whether to expose Hue bridge schedules to HomeKit.
sensors false Flag whether to expose Hue bridge sensors to HomeKit.
timeout 5 The timeout in seconds to wait for a response from a Hue bridge (or the Meethue portal or UPnP discovery). Must be between 5 and 30.
You might want to increase this if homebridge-hue reports ETIMEDOUT or ESOCKETTIMEDOUT errors.
users {} A dictionary containing a key/value-pair per Hue bridge, where the key holds the bridge ID (in uppercase) and the value holds the bridge username (case sensitive), effectively a security token to access the bridge. When connecting to a new bridge, homebridge-hue will create the username, and prompt to edit config.json.
waitTimeResend 300 The time, in milliseconds, to wait before resending a request after an ECONNRESET error. Must be between 100 and 1000.
waitTimeUpdate 20 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. Must be between 20 and 500.
You might want to increase this when homebridge-hue reports hue bridge error 201: parameter, xy, is not modifiable. Device is set to off. on activating a HomeKit scene that turns a light on at a specific colour, colour temperature, and/or brightness.
wallSwitch false Flag whether you use traditional wall switches to power off your lights. When set, attempt to match the wall switch actions and report a light's Power State as Off, while its state.reachable attribute is false.
Note however, that the state.reachable attribute does not reflect accurately whether a light is currently reachable, let alone whether it's currently connected to power.
Also note that, when exposing (Philips) lights to HomeKit, the v2 (square) Hue bridge behaves like the homebridge-hue default. You might not want to set wallSwitch when using the Hue bridge to expose lights to HomeKit.

2. Examples

2.1 Configuration for Square Bridge

The example below is a typical configuration for a v2 (square) bridge, which already exposes the Philips lights to HomeKit. With this configuration, homebridge-hue exposes non-Philips lights.

  "platforms": [
    {
      "platform": "Hue",
      "users": {
        "001788FFFExxxxxx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "001788FFFEyyyyyy": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
      },
      "sensors": true,
      "nativeHomeKitSensors": false,
      "excludeSensorTypes": ["Daylight", "CLIP", "Geofence"],
      "lights": true
    }
  ]

2.2 Configuration for Round Bridge

The example below is a typical configuration for exposing a v1 (round) bridge or deCONZ gateway. With this configuration, homebridge-hue exposes all light and sensor resources, except those created by the Hue app for Home & Away routines, and all lights.

  "platforms": [
    {
      "platform": "Hue",
      "users": {
        "001788FFFExxxxxx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "001788FFFEyyyyyy": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
      },
      "sensors": true,
      "nativeHomeKitSensors": false,
      "excludeSensorTypes": ["CLIPPresence", "Geofence"],
      "lights": true,
      "nativeHomeKitLights": false,
      "wallSwitch": true
    }
  ]

To expose all lights and sensors on a v2 Hue bridge, add "nativeHomeKit": false

2.3 Default Configuration

For reference, the example below contains all parameters and their default values. Note that with this configuration, homebridge-hue exposes only the Hue bridge itself.

  "platforms": [
    {
      "platform": "Hue",
      "host": "",
      "users": {
        "001788FFFExxxxxx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "001788FFFEyyyyyy": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
      },
      "nativeHomeKit": true,
      "sensors": false,
      "nativeHomeKitSensors": true,
      "excludeSensorTypes": [],
      "lowBattery": 25,
      "lights": false,
      "nativeHomeKitLights": true,
      "wallSwitch": false,
      "groups": false,
      "group0": false,
      "rooms": false,
      "schedules": false,
      "rules": false,
      "heartrate": 5,
      "timeout": 5,
      "resource": true,
      "parallelRequests": 10,
      "waitTimeResend": 300,
      "waitTimeUpdate": 20
    }
  ]
Clone this wiki locally