Lutron Caseta switches lose state

I installed the Lutron Caseta component yesterday. Had to jump through hoops to get it going, but I finally got it to work. Sort of. I see all of my switches in HA. When I toggle an HA switch to On, the light WILL turn on. But the HA switch immediately toggles itself back off. And if I manually turn a physical switch on or off, the HA switch does not follow along with the current state. I’m not seeing any errors in the log. Any idea why this is happening?

That behavior is not limited to Lutron Caseta and implies Home Assistant can successfully send data to the device (it can turn the light on) but fails to receive data from the device (it’s unaware of any manual changes you make to the device’s state).

The other telltale sign is when you use Home Assistant to turn something on and, a moment later, you watch the toggle switch automatically set itself back to the off position. That’s because:

  • Home Assistant sends the on command
  • didn’t receive a reply from the device (a status update) reporting that it is in fact on now
  • so it sets the toggle switch back to off

Your task now is to figure out why Home Assistant is not receiving status updates from Caseta.

Makes perfect sense. And that exactly describes my scenario. Any suggestions on how to debug?

Unfortunately I have no experience with Lutron Caseta.

I did a quick search for related threads in the forum but didn’t find anything similar to what you’ve reported.

I’d start by checking Home Assistant’s log for any WARNING or ERROR messages related to Caseta in the hope it can provide more clues.

Hello, I have the exact same issue.

Did you ever figure this out? I’m having the exact same problem and I’m pulling my hair out over here. I’ve restarted the hub and HA, as well as gotten new Lutron keys and the problem persists. Its so odd because the entities are available and the automations often control the lights correctly. However the automations that rely on the states often don’t work right.

No, I haven’t figured this out. In fact, I temporarily disabled it because I was starting to also have issues with Lutron within HomeKit. I don’t know if they’re related, but I’m trying to eliminate variables.

I did take some of the same steps - Restarted the Lutron bridge and HA. And nothing. If you figure something out, please let me know!

What version HA are you guy’s on, I’m on 0.91.1 and not seeing any issues as reported.

@_Mike
If you toggle a switch manually while looking at the Lutron App, does it update at the same time?

And Caseta is only integrated with HA, so you mite want to remove it from HomeKit for testing.

I was on 0.90.something, and just upgraded to 0.91.1. Same issues. When I toggle the light in HA, the light turns on immediately. I didn’t watch it side by side with the Lutron app, though.

I am trying to avoid removing Lutron from HomeKit because I have 30 devices across multiple rooms, with HomeKit automations set up on many of them. I don’t want to lose those automations and be forced to recreate them.

There is one other thing I have noticed, and I’m not sure if this is related. In HomeKit, any automation that is triggered off of a Lutron switch always has a delay of 2-3 seconds before it fires. It is like Lutron has some trouble communicating back to HomeKit. It is able to make the communication, but it is slow. It makes me wonder if the same issue is the cause of the lack of communication from HA to Lutron. Maybe there is something wrong with my Lutron bridge?

For what it is worth, I recently started using HA with Caseta, and it is working flawlessly. Sort of.

I started with the regular bridge, which worked fine, but could not see picos separately, so I got the pro bridge.

At first that was flakey, but I figured out part of the issue – I had been associating Pico’s with the switches AT the switch,i.e. not using the phone app. To get things working properly I had to completely clear everything out - delete from the phone app, reset each switch and each pico to defaults, removed caseta bridge from HA and made sure all remnants were gone (deleted integration, deleted from entity registry what wasn’t). Once it was clean again first add each switch on the phone app, then add the pico ON THE PHONE APP and associate with the light there (you have to do it, at least on android, in two steps – the first puts it into the room, the second is to go back and edit and select just the light you want – unless you wanted the whole room).

Once I did it that way – ONLY did associations on the phone, everything has worked flawlessly.

Oh… and ANY change on your phone app pull back the integration report afterwards, it takes little to get them out of sync.

Mine has been really solid since then. Again, that’s the pro bridge. I only spent a brief time on the non-pro one.

Linwood

I’m on 0.89.1, which I reverted back to in an attempt to troubleshoot. No dice. Lutron app works flawlessly. The problem lies in the communication between the hub and HA… I just am lost on what to do about it. I do have the regular hub so I guess I need to upgrade to the pro? But what if that doesn’t resolve the issue?

Thanks for the info, @Linwood. I’ve been considering picking up a Pro bridge so that I can connect the pico remotes to HomeKit. If I do, maybe I’ll give your suggestion a shot.

I’m having this exact same issue. I am also running the most up to date version of HA and a pro bridge. Something of note, if I restart the Server Management Service, I get the states back. Any new change from this point is not reflected in a state change in HA though.

You might try Upsert’s custom Lutron Pro component.

Just an FYI - I’m running Hassio 91.0, and a regular Lutron Bridge for a year almost now. Just a couple of light switches. No homekit. No issues, ever. Pico remotes work fine.

Same here, restarting HA gives me correct states, but nothing from that point on. No errors in the logs. Interesting that you have the pro bridge… makes me think that upgrading to the pro bridge is not the way to go… I’m thinking of factory resetting my Caseta bridge though.

I’m wondering if it’s a recent update to the regular Lutron bridge. I’m experiencing the same issue where states switch back and don’t reflect the correct state of the light. Just a couple of weeks ago things were working fine.

I’ve tried grabbing fresh certificates but that doesn’t seem to help. I haven’t tried factory resetting though.

It seems like quite a few people are having the same issue. I posted an issue here: https://github.com/home-assistant/home-assistant/issues/22907

Hopefully it will gain some traction and get resolved.

I can share everyone’s pain. I also have been hit with the problem.
Running on 0.90.2 on a Pine64. I was running fine on that version and then. I needed to restart the HA instance for some reason and it started happening… even so, I needed to restart HA about 4 times before it could even see my Lutron bridge. I thought is was broken.

Now, all it does is toggle the switch back and forth in lovelace without even changing the stage on my lights.

i’m thinking that there must of been a update on the lutron bridge and now the component can’t cope with these changes… (my 2¢)

My phone app is at version 6.5.1

This is what I have in my logs (if that helps):

2019-04-10 14:49:28 INFO (MainThread) [homeassistant.setup] Setting up lutron_caseta
2019-04-10 14:49:28 DEBUG (MainThread) [pylutron_caseta.smartbridge] Connecting to Smart Bridge via SSL

2019-04-10 14:50:26 WARNING (MainThread) [homeassistant.setup] Setup of lutron_caseta is taking over 10 seconds.

2019-04-10 14:50:26 ERROR (MainThread) [homeassistant.setup] Error during setup of component lutron_caseta
Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/lutron_caseta/init.py”, line 49, in async_setup
await bridge.connect()
File “/usr/local/lib/python3.7/site-packages/pylutron_caseta/smartbridge.py”, line 40, in connect
yield from self._login()
File “/usr/local/lib/python3.7/site-packages/pylutron_caseta/smartbridge.py”, line 281, in _login
self._reader, self._writer = yield from self._connect()
File “/usr/local/lib/python3.7/site-packages/pylutron_caseta/smartbridge.py”, line 58, in _connect
family=socket.AF_INET)
File “/usr/local/lib/python3.7/site-packages/pylutron_caseta/leap.py”, line 16, in open_connection
limit=limit, **kwds)

2019-04-10 14:51:05 INFO (MainThread) [homeassistant.components.discovery] Unknown service discovered: homekit {‘host’: ‘172.20.10.32’, ‘port’: 4548, ‘hostname’: ‘lutron-01e89c39.local.’, ‘properties’: {‘ff’: ‘1’, ‘id’: ‘ab:21:15:xx:xx:xx’, ‘md’: ‘Smart Bridge 2’, ‘c#’: ‘8’, ‘sf’: ‘1’, ‘s#’: ‘1’, ‘ci’: ‘2’}, ‘name’: ‘Smart Bridge 2’}

2019-04-10 14:51:05 INFO (MainThread) [homeassistant.components.discovery] Unknown service discovered: lutron {‘host’: ‘172.20.10.32’, ‘port’: 22, ‘hostname’: ‘lutron-01e89c39.local.’, ‘properties’: {‘MACADDR’: ‘a8:1b:6a:xx:xx:xx’, ‘CODEVER’: ‘06.09.01f000’, ‘DEVCLASS’: ‘08040100’, ‘FW_STATUS’: ‘1:NoUpdate’, ‘NW_STATUS’: ‘InternetWorking’, ‘ST_STATUS’: ‘good’}}

UPDATE: I updated my HA instance to 0.91.2 and my bridge is working again.