smockle-archive / homebridge-lutron-caseta

Homebridge plugin for integration with the Lutron Caséta SmartBridge Pro
Other
14 stars 9 forks source link

Homebridge Lutron Caséta

npm Publish Workflow codecov Dependabot Status

This is a fork of jcoleman/homebridge-lutron-caseta, a Homebridge plugin for integration with the Lutron Caséta Smart Bridge Pro.

Update 2020-12-22

This project is no longer maintained. Consider trying rnilssoncx/homebridge-pico which, at the time of writing, is verified and actively maintained.

Update 2019-06-14

I don’t use Lutron Caséta switches or remotes anymore, and I’m unlikely to undertake any new development on this plugin in the near future. For now, new patch versions will continue to be published automatically when this plugin’s depedencies are updated. Please open an issue if you are interested in maintaining this plugin.

Motivation

Lutron doesn’t expose its versatile Pico remotes as HomeKit accessories, so it’s not possible to use them to control non-Lutron accessories.

However, the Smart Bridge Pro (L-BDGPRO2-WH) allows connections over telnet via the Lutron Integration Protocol. This connection allows direct control of accessories, and, more critically for our purposes, streams notifications of Pico button presses. By watching this stream, homebridge-lutron-caseta can support Pico remotes in Homekit.

Installation

Review the Installation section of the Homebridge README.

yarn global add homebridge-lutron-caseta-smockle

This project was originally published to the npm registry as @smockle/homebridge-lutron-caseta, but that package is now deprecated. Homebridge only supports plugins with names that start with homebridge-, i.e. scoped packages are not supported.

Setup

  1. Connect your Lutron Caséta Smart Bridge Pro (L-BDGPRO2-WH) to power and ethernet

  2. Login and add devices (e.g. Pico remotes) using the Lutron iOS app

  3. In the Lutron app, press the gear in the top-left, then “Advanced” > “Integration”

  1. Configure your router to a static IP address to your bridge, matching the current IP address (noted in step 3).

Configuration

{
  "bridge": {
    "name": "Lutron Bridge",
    "username": "CC:22:3D:E3:CE:30",
    "port": 51826,
    "pin": "031-45-154"
  },
  "description": "SmartHome with Homebridge",
  "accessories": [],
  "platforms": [{
    "platform": "LutronCasetaPlatform",
    "bridgeConnection": {
      "host": "192.168.1.2"
    },
    "accessories": [{
      "name": "FiveButtonRemote1",
      "type": "PJ2-3BRL",
      "integrationID": 2
    }, {
      "name": "TwoButtonRemote1",
      "type": "PJ2-2B",
      "integrationID": 3
    }, {
      "name": "CompatibleTwoButtonRemote",
      "type": "PICO-REMOTE",
      "integrationID": 4
    }]
  }]
}

Notes:

Debugging

Review the Plugin Development section of the Homebridge README.

mkdir -p ~/.homebridge-dev
cp /var/lib/homebridge-lutron/config.json ~/.homebridge-dev/
cd ~/Developer && git clone https://github.com/smockle/homebridge-lutron-caseta
cd ~
DEBUG=* ~/.npm-global/bin/homebridge -D -U ~/.homebridge-dev -P ~/Developer/homebridge-lutron-caseta/

Disclaimer

Caséta, Clear Connect, Lutron and Pico are trademarks of Lutron Electronics Co., Inc., registered in the U.S. and other countries.

This project is in no way affiliated with, authorized, maintained, sponsored or endorsed by Lutron Electronics, Co., Inc., or any of its affiliates or subsidiaries.