Skip to content

Latest commit

 

History

History
81 lines (69 loc) · 4.62 KB

README.md

File metadata and controls

81 lines (69 loc) · 4.62 KB

homebridge-indigo

Homebridge platform plugin for the Indigo home automation server

Supports the following Indigo device types:

  • Lights and Switches (dimmable and non-dimmable, represented as HomeKit lightbulbs)
  • Outlets (represented as HomeKit lightbulbs)
  • Thermostats (represented as HomeKit thermostats)
  • Ceiling Fans (represented as HomeKit fans)
  • Actions (optional, represented as HomeKit switches)

Installation

  1. Install homebridge using: npm install -g homebridge
  2. Install this plugin using: npm install -g homebridge-indigo
  3. Update your configuration file. See sampleconfig.json in this repository for a sample.

More details can be found in this discussion thread.

Configuration

Configuration sample:

   "platforms": [
       {
           "platform": "Indigo",
           "name": "My Indigo Server",
           "protocol": "http",
           "host": "127.0.0.1",
           "port": "8176",
           "path": "",
           "username": "myusername",
           "password": "mypassword",
           "includeActions": true,
           "consolidateDevices": true,
           "includeIds": [ "12345", "67890" ],
           "excludeIds": [ "98765", "43210" ],
           "treatAsSwitchIds": [ "13579", "24680" ],
           "treatAsLockIds": [ "112233", "445566" ],
           "treatAsDoorIds": [ "224466", "664422" ],
           "treatAsGarageDoorIds": [ "223344", "556677" ],
           "thermostatsInCelsius": false,
           "accessoryNamePrefix": ""
       }
   ]

Fields:

  • "platform": Must always be "Indigo" (required)
  • "name": Can be anything (required)
  • "protocol": "http" or "https" (optional, defaults to "http" if not specified)
  • "host": Hostname or IP Address of your Indigo web server (required)
  • "port": Port number of your Indigo web server (optional, defaults to "8176" if not specified)
  • "path": The path to the root of your Indigo web server (optional, defaults to "" if not specified, only needed if you have a proxy in front of your Indigo web server)
  • "username": Username to log into Indigo web server, if applicable (optional)
  • "password": Password to log into Indigo web server, if applicable (optional)
  • "includeActions": If true, creates HomeKit switches for your actions (optional, defaults to false)
  • "consolidateDevices": If true, devices with the same device address will be seen in HomeKit as one device with multiple services.
  • "includeIds": Array of Indigo IDs to include (optional - if provided, only these Indigo IDs will map to HomeKit devices)
  • "excludeIds": Array of Indigo IDs to exclude (optional - if provided, these Indigo IDs will not be mapped to HomeKit devices)
  • "treatAsSwitchIds": Array of Indigo IDs to treat as switches (instead of lightbulbs) - devices must support on/off to qualify
  • "treatAsLockIds": Array of Indigo IDs to treat as locks (instead of lightbulbs) - devices must support on/off to qualify (on = locked)
  • "treatAsDoorIds": Array of Indigo IDs to treat as doors (instead of lightbulbs) - devices must support on/off to qualify (on = open)
  • "treatAsGarageDoorIds": Array of Indigo IDs to treat as garage door openers (instead of lightbulbs) - devices must support on/off to qualify (on = open)
  • "thermostatsInCelsius": If true, thermostats in Indigo are reporting temperatures in celsius (optional, defaults to false)
  • "accessoryNamePrefix": Prefix all accessory names with this string (optional, useful for testing)

Note that if you specify both "includeIds" and "excludeIds", then only the IDs that are in "includeIds" and missing from "excludeIds" will be mapped to HomeKit devices. Typically, you would only specify one or the other, not both of these lists. If you just want to expose everything, then omit both of these keys from your configuration.

Also note that any Indigo devices or actions that have Remote Display unchecked in Indigo will NOT be exposed to HomeKit, because Indigo excludes those devices from its RESTful API.

The consolidateDevices option is useful in situations such as with a FanLinc, where Indigo separates the fan controls and light controls each into their own separate device even though there is only one physical device. With this option set to true HomeKit will show these controls under one device to reflect that.

HomeKit limits bridges to 100 devices, so if you have more than 99 Indigo devices (and action groups, if you're including them), then you will want to use includeIds or excludeIds to get your list down to under 100. homebridge-indigo will only include up to the first 99 accessories discovered.