A platform that exposes Lutron Pico Remotes to Homekit as buttons. Supports single, double, and long press actions.
This plugin will not work with the standard Caseta bridge.
Lutron Pico Remote are a seemless way to add virtual control to any homekit device or scene.
After Homebridge has been installed:
sudo npm install -g homebridge-pico
In the Lutron mobile app go to configure, choose Advanced, and then Integration. Enable Telnet Support. You can also choose to "Send Integration Report" here and it will email you the device list with IDs for your bridge.
Configure the plugin with buslog
set to monitor
or full
. Add your Pico remotes to your Lutron Pro bridge. You do not have to associate the Pico remotes with Lutron lights. Simply push any button on the Pico remote you'd like to add to this plugin and you'll see a log entry like this in homebridge:
[6/13/2020, 11:14:23] [Pico] [<bridge IP>] Bus Data: ~DEVICE,63,2,3
The number after DEVICE
is the ID of the Pico remote you just pressed.
{
"bridge": {
...
},
"platforms": [
{
"platform": "Pico",
"buslog": "monitor",
"servers": [
{
"host": "<IP Address or Host Name>",
"port": 23,
"switches": [
{
"name": "Kitchen Pico",
"pico": 22,
"type": "simple"
},
{
"name": "Home Theater Pico",
"pico": [11,31],
"type": "custom",
"buttons": [2,4,5],
"repeat": [2,4]
}
]
}
]
}
]
}
servers
: You can have one or more Lutro Caseta Pro bridges
host
: IP Address or hostname of the Lutron Caseta Pro bridge
port
: Port to use for the Lutron Caseta Pro bridge (default: 23
)
switches
: List of the Pico remotes to be exposed to Homekit
name
: Name of the remote as it will appear in HomeKitpico
: One or more Pico Remotes that will trigger the Homekit buttonrepeat
: (optional) Buttons to enable for repeating long pressrepeatmax
: (optional) Maximum repeats for a button (default:10
)type
:PJ2-2B
: Two buton Pico (previouslysimple
- on/offPJ2-2BRL
: Four button Pico (previouslydimmer
) - on/brighten/dim/offPJ2-3B
: Three button Pico - on/favorite/offPJ2-3BRL
: Five button Pico (previouslyfavorite
) - on/brigthen/favorite/dim/offPJ2-4B-XXX-L01
: Four button Pico for lights - on/up/down/offPJ2-4B-XXX-S01
: Four button Pico for shades - on/up/down/offPJ2-4B-XXX-L21
: Four button Pico for 2 lights - on1/off1/on2/off2PJ2-4B-XXX-S21
: Four button Pico for 2 shades - open1/closed1/open2/closed2PJ2-4B-XXX-LS21
: Four button Pico for lights and shades - on/off/open/closedPJ2-4B-XXX-L31
: Four button Pico for lights (Previouslyscene
) - scene1/scene2/scene3/offPJ2-4B-XXX-S31
: Four button Pico for lights - open/scene1/scene2/closePJ2-4B-XXX-L41
: Four button Pico with 4 toggles - toggle1/toggle2/toggle3/toggle4custom
: User specified button list. You must add a list with the buttons as in the example above- If you aren't sure what type to choose, the 2nd number after "DEVICE" in the log is the button pressed. You can press the buttons on the Pico remote and compare the output to the list in
accessory.js
. If you find you have buttons configured differently, or not in the list, please let me know and I'll add your Pico.
-
buslog
: (default:off
)off
: No bus loggingmonitor
: Show Lutron commands sent and received on busfull
: Show all bus and keep alive activity
-
clicktime
: The timeout for detecting a doubleclick in milliseconds. (default:500
) -
slowbuttons
: The up and down buttons on remotes can repeat when directly paired with a Lutron switch. I believe they already have a built in delay because of this capability. This makes these two buttons not capable of a double click with the default clicktime. This setting allows you to list out buttons you want extra time alloted to correct for this. (default:[5,6]
) -
slowextra
: This sets the additional time added to the buttons listed inslowbuttons
. (default:250
) -
repeattime
: The delay for repeating long presses in milliseconds. (default:500
) -
longname
: If you'd like the name of the switch added to the function (Dining Room Single Press
instead ofSingle Press
) set this totrue
. For normal installations this should not be needed. (default:false
)
See CONTRIBUTORS for acknowledgements to the individuals that contributed to this plugin.
If you use this and like it - please leave a note by staring this package here or on GitHub.
If you use it and have a problem, file an issue at GitHub - I'll try to help.
If you tried this, but don't like it: tell me about it in an issue too. I'll try my best to address these in my spare time.
If you fork this, go ahead - I'll accept pull requests for enhancements.
MIT License
Copyright (c) 2018 Robert Nilsson
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.