Giter Site home page Giter Site logo

homebridge-indigo's Introduction

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,
           "includeIds": [ "12345", "67890" ],
           "excludeIds": [ "98765", "43210" ],
           "treatAsSwitchIds": [ "13579", "24680" ],
           "treatAsLockIds": [ "112233", "445566" ],
           "treatAsDoorIds": [ "224466", "664422" ],
           "treatAsGarageDoorIds": [ "223344", "556677" ],
           "treatAsWindowIds": [ "123123", "456456" ],
           "treatAsWindowCoveringIds": [ "345345", "678678" ],
           "invertOnOffIds": [ "234234", "567567" ],
           "thermostatsInCelsius": false,
           "accessoryNamePrefix": "",
           "listenPort": 8177
       }
   ]

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)
  • "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)
  • "treatAsWindowIds": Array of Indigo IDs to treat as windows (instead of lightbulbs) - devices must support on/off to qualify (on = open)
  • "treatAsWindowCoveringIds": Array of Indigo IDs to treat as window coverings (instead of lightbulbs) - devices must support on/off to qualify (on = open)
  • "invertOnOffIds": Array of Indigo IDs where on and off are inverted in meaning (e.g. if a lock, on = unlocked and off = locked)
  • "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)
  • "listenPort": homebridge-indigo will listen on this port for device state updates from Indigo (requires compatible Indigo plugin) (optional, defaults to not listening)

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.

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.

homebridge-indigo's People

Contributors

webdeck avatar

Watchers

James Cloos avatar Kevin Jonson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.