Hi. I recently installed a bunch of Lutron Caseta devices in my home and have begun experimenting with the Lutron integration. I have 17 devices paired to my Lutron bridge which is in the garage. All the devices appear to have good signal. Max range of the furthest device is maybe 20 ft from the bridge spanning 2 floors. I've noticed that button presses with my Pico remotes don't always register in homeassistant.
I have the non pro bridge with a bunch of 4 button Lutron Casetas hardwired, and about 6 or so pico remotes that all work flawlessly with other lutron devices and haven't had any issues controlling lights. I have 1 pico that is hooked up to an automation in my homeassistant to toggle Phillips Hue light bulbs on and off, and another pico to toggle a Sonoff flashed with Tasmota (connected via wifi).
In the screenshot of the logbook above, it shows 6 minutes in between the most recent press (which is only registering the release event by the way, should also have the press event) but I pressed buttons on the pico remote probably 15 times within those 6 minutes. I'm probably about 10ft from the bridge at maximum for this test. This is happening on both picos that I want to control other-than-lutron devices.
2025-01-18 11:33:12.673 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}})
2025-01-18 11:33:12.911 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}}
2025-01-18 11:33:12.911 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}})
2025-01-18 11:33:14.146 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}}
2025-01-18 11:33:14.146 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}})
2025-01-18 11:33:14.299 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}}
2025-01-18 11:33:14.299 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}})
2025-01-18 11:33:15.614 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}}
2025-01-18 11:33:15.614 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}})
2025-01-18 11:33:15.768 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}}
2025-01-18 11:33:15.768 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}})
2025-01-18 11:33:33.744 DEBUG (MainThread) [pylutron_caseta.leap] sending b'{"CommuniqueType": "ReadRequest", "Header": {"ClientTag": "0dc48fce-7707-4a2a-b0bd-6189f9278eed", "Url": "/server/1/status/ping"}}'
2025-01-18 11:33:33.749 DEBUG (MainThread) [pylutron_caseta.leap] received: {'CommuniqueType': 'ReadResponse', 'Header': {'MessageBodyType': 'OnePingResponse', 'StatusCode': '200 OK', 'Url': '/server/1/status/ping'}, 'Body': {'PingResponse': {'LEAPVersion': 1.122}}}
2025-01-18 11:35:04.472 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}}
2025-01-18 11:35:04.472 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}})
2025-01-18 11:35:05.227 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}}
2025-01-18 11:35:05.227 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}})
2025-01-18 11:35:07.528 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}}
2025-01-18 11:35:07.528 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}})
2025-01-18 11:35:07.602 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}}
2025-01-18 11:35:07.602 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}})
I did a packet dump on homeassistant with a src of the lutron bridge device and I can see that when I press the button, it will register as a packet incoming but when it doesn't register I dont see any packets.
The problem
Hi. I recently installed a bunch of Lutron Caseta devices in my home and have begun experimenting with the Lutron integration. I have 17 devices paired to my Lutron bridge which is in the garage. All the devices appear to have good signal. Max range of the furthest device is maybe 20 ft from the bridge spanning 2 floors. I've noticed that button presses with my Pico remotes don't always register in homeassistant.
I have the non pro bridge with a bunch of 4 button Lutron Casetas hardwired, and about 6 or so pico remotes that all work flawlessly with other lutron devices and haven't had any issues controlling lights. I have 1 pico that is hooked up to an automation in my homeassistant to toggle Phillips Hue light bulbs on and off, and another pico to toggle a Sonoff flashed with Tasmota (connected via wifi).
In the screenshot of the logbook above, it shows 6 minutes in between the most recent press (which is only registering the release event by the way, should also have the press event) but I pressed buttons on the pico remote probably 15 times within those 6 minutes. I'm probably about 10ft from the bridge at maximum for this test. This is happening on both picos that I want to control other-than-lutron devices.
What version of Home Assistant Core has the issue?
core-2024.12.5
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Lutron
Link to integration documentation on our website
https://www.home-assistant.io/integrations/lutron_caseta
Diagnostics information
config_entry-lutron_caseta-01JF23BTQCNQK5WX3G87V6H0R9(2).json
Example YAML snippet
Anything in the logs that might be useful for us?
2025-01-18 11:33:12.673 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}) 2025-01-18 11:33:12.911 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}} 2025-01-18 11:33:12.911 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}) 2025-01-18 11:33:14.146 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}} 2025-01-18 11:33:14.146 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}) 2025-01-18 11:33:14.299 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}} 2025-01-18 11:33:14.299 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}) 2025-01-18 11:33:15.614 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}} 2025-01-18 11:33:15.614 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}) 2025-01-18 11:33:15.768 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}} 2025-01-18 11:33:15.768 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}) 2025-01-18 11:33:33.744 DEBUG (MainThread) [pylutron_caseta.leap] sending b'{"CommuniqueType": "ReadRequest", "Header": {"ClientTag": "0dc48fce-7707-4a2a-b0bd-6189f9278eed", "Url": "/server/1/status/ping"}}' 2025-01-18 11:33:33.749 DEBUG (MainThread) [pylutron_caseta.leap] received: {'CommuniqueType': 'ReadResponse', 'Header': {'MessageBodyType': 'OnePingResponse', 'StatusCode': '200 OK', 'Url': '/server/1/status/ping'}, 'Body': {'PingResponse': {'LEAPVersion': 1.122}}} 2025-01-18 11:35:04.472 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}} 2025-01-18 11:35:04.472 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}) 2025-01-18 11:35:05.227 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}} 2025-01-18 11:35:05.227 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}) 2025-01-18 11:35:07.528 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}} 2025-01-18 11:35:07.528 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Press'}}}) 2025-01-18 11:35:07.602 DEBUG (MainThread) [pylutron_caseta.leap] received for subscription 00b67902-7398-4326-98c1-589a26c6632e: {'CommuniqueType': 'UpdateResponse', 'Header': {'MessageBodyType': 'OneButtonStatusEvent', 'StatusCode': '200 OK', 'Url': '/button/143/status/event'}, 'Body': {'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}}} 2025-01-18 11:35:07.602 DEBUG (MainThread) [pylutron_caseta.smartbridge] Handling button status: Response(Header=ResponseHeader(StatusCode=ResponseStatus(200, 'OK'), Url='/button/143/status/event', MessageBodyType='OneButtonStatusEvent', Paging=None), CommuniqueType='UpdateResponse', Body={'ButtonStatus': {'Button': {'href': '/button/143'}, 'ButtonEvent': {'EventType': 'Release'}}})Additional information
I did a packet dump on homeassistant with a src of the lutron bridge device and I can see that when I press the button, it will register as a packet incoming but when it doesn't register I dont see any packets.