Skip to content

Homebridge plugin for integration with the Lutron Caséta SmartBridge Pro

License

Notifications You must be signed in to change notification settings

scooter133/homebridge-lutron-caseta

 
 

Repository files navigation

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 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”

  • Enable “Telnet Support”
  • Send the “Integration Report” to yourself via email
  • Note the IP address assigned to your bridge in “Network Settings”
  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:

  • "platform" must be "LutronCasetaPlatform"
  • "host" should match the static IP address of your bridge
  • "name" values must be unique
  • "type" should be one of "PJ2-3BRL", "PJ2-2B", "PJ2-4B" (which are Pico model numbers) or "PICO-REMOTE" (which is compatible with jcoleman/homebridge-lutron-caseta)
  • "integrationID" should match "ID" values from the “Integration Report” (emailed in Setup, step 3 above)

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.

About

Homebridge plugin for integration with the Lutron Caséta SmartBridge Pro

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%