A gateway to connect a Lutron Caseta Smart Bridge Pro and MQTT.
The application must be running on the same network as the Smart Bridge Pro.
A docker container is available to host this application, and can be installed by running:
docker run -d -p 4600:4600 --mount source=caseta2mqtt,target=/usr/src/app/data markjohnson/caseta2mqtt:latest
If you have Node.js installed locally, you can run the application by doing the following:
npm start
to build and run the application.Running npm run build
, will compile the source into ./dist
.
The contents of that folder can be copied and run independently.
Executing index.js
with Node.js will start the application.
I originally created this for use with Home Assistant via MQTT. If just want to integrate a Smart Bridge and don't need MQTT, check out this custom Home Assistant component:
In my case I wanted to control my Caseta devices over MQTT. There didn't seem to be anything like this out there at the time, so I decided to build it. It wasn't until after I we nearly finished that I discovered Zach Wily had started a similar project shortly after that. Check that project out here:
The overall design for this application was heavily inspired by Zwave2Mqtt, which accomplishes the same thing with Z-Wave. If you've got Z-Wave devices you'd like to communicate with via MQTT, check out this project:
The Lutron Caseta Smart Bridge Pro exposes a telnet-based API for communication on a local network. It's not officially supported but fortunately I didn't have to reverse engineer it, thanks to this documentation:
Anyone is welcome to review the open issues and pick one to work on, or create a new one. It's a good idea to leave a comment indicating you plan to work on an issue and discuss the change before you start.
When you're ready to merge your code, create a pull request against the main
branch.
Try to follow the Conventional Commits
specification for pull request titles. Example: type: subject
, where subject
describes
the change in imperative mood, and
type
is one of the following:
feat: support custom topics
fix: update incorrect validation
chore: update dependency versions
refactor: remove unused variable
docs: add example code
npm run build
- Builds the application locally to the ./dist
foldernpm run start
- Builds and runs the application locallynpm run watch
- Builds and runs the application locally, and rebuilds on file changes