Support for Lutron Serena Shades

Hi all,

I am enhancing the lutron_caseta component to support the “Serena shade” devices.

Here is the related PR. I was hoping to get someone with the shades to test this PR and provide feedback.

Any help is greatly appreciated

Thanks!

I know I am late on this. I am using the current lutron_caseta integration with a non-pro bridge. on HA 0.49.1 and I can see and turn the lights on and off, but I cannot see the shades. Any clue?

Hey… sorry to hear that. Are the shades configured in the lutron bridge? Can you see them in the lutron app?

Absolutely. Is there anything you want me to look at? I can only see the dimmers in HA. I use ifttt to open and close the shades from HA, so I have some sort of solution in place to open/close. It would just be good to cut out the middle man…

Hey… I am going to need some debug logs to fully troubleshoot the issue. And sorry for the delay in responding I have been on travel. I will be able to get to this next week.

I just tried out hassio (0.50.2) and I can’t get the shades to work either. Lights on the other hand work fine. Here are some logs:

2017-08-08 22:38:11 DEBUG (SyncWorker_0) [smartbridge] {‘href’: ‘/device/1’, ‘Name’: ‘Smart Bridge’, ‘Parent’: {‘href’: ‘/project’}, ‘SerialNumber’: 32511758, ‘ModelNumber’: ‘L-BDGPRO2-WH’, ‘DeviceType’: ‘SmartBridge’, ‘RepeaterProperties’: {‘IsRepeater’: True}}
2017-08-08 22:38:11 DEBUG (SyncWorker_0) [smartbridge] {‘href’: ‘/device/3’, ‘Name’: ‘Livingroom Lights’, ‘Parent’: {‘href’: ‘/project’}, ‘SerialNumber’: 26669871, ‘ModelNumber’: ‘PD-6WCL-XX’, ‘DeviceType’: ‘WallDimmer’, ‘LocalZones’: [{‘href’: ‘/zone/2’}]}
2017-08-08 22:38:11 DEBUG (SyncWorker_0) [smartbridge] {‘href’: ‘/device/4’, ‘Name’: ‘Patio Lights’, ‘Parent’: {‘href’: ‘/project’}, ‘SerialNumber’: 26495342, ‘ModelNumber’: ‘PD-6WCL-XX’, ‘DeviceType’: ‘WallDimmer’, ‘LocalZones’: [{‘href’: ‘/zone/3’}]}
2017-08-08 22:38:11 DEBUG (SyncWorker_0) [smartbridge] {‘href’: ‘/device/5’, ‘Name’: ‘Upper kitchen’, ‘Parent’: {‘href’: ‘/project’}, ‘SerialNumber’: 18831027, ‘ModelNumber’: ‘QSFRJ-S2A13-XX’, ‘DeviceType’: ‘TriathlonRollerShade’, ‘LocalZones’: [{‘href’: ‘/zone/4’}]}
2017-08-08 22:38:11 DEBUG (SyncWorker_0) [smartbridge] {‘href’: ‘/device/6’, ‘Name’: ‘Upper Entry’, ‘Parent’: {‘href’: ‘/project’}, ‘SerialNumber’: 18831035, ‘ModelNumber’: ‘QSFRJ-S2A13-XX’, ‘DeviceType’: ‘TriathlonRollerShade’, ‘LocalZones’: [{‘href’: ‘/zone/5’}]}
2017-08-08 22:38:11 DEBUG (SyncWorker_0) [smartbridge] {‘href’: ‘/device/7’, ‘Name’: ‘Lower Kitchen’, ‘Parent’: {‘href’: ‘/project’}, ‘SerialNumber’: 18833386, ‘ModelNumber’: ‘QSFRJ-S2A13-XX’, ‘DeviceType’: ‘TriathlonRollerShade’, ‘LocalZones’: [{‘href’: ‘/zone/6’}]}
2017-08-08 22:38:11 DEBUG (SyncWorker_0) [smartbridge] {‘1’: {‘device_id’: ‘1’, ‘name’: ‘Smart Bridge’, ‘type’: ‘SmartBridge’, ‘zone’: None, ‘current_state’: -1}, ‘3’: {‘device_id’: ‘3’, ‘name’: ‘Livingroom Lights’, ‘type’: ‘WallDimmer’, ‘zone’: ‘2’, ‘current_state’: -1}, ‘4’: {‘device_id’: ‘4’, ‘name’: ‘Patio Lights’, ‘type’: ‘WallDimmer’, ‘zone’: ‘3’, ‘current_state’: -1}, ‘5’: {‘device_id’: ‘5’, ‘name’: ‘Upper kitchen’, ‘type’: ‘TriathlonRollerShade’, ‘zone’: ‘4’, ‘current_state’: -1}, ‘6’: {‘device_id’: ‘6’, ‘name’: ‘Upper Entry’, ‘type’: ‘TriathlonRollerShade’, ‘zone’: ‘5’, ‘current_state’: -1}, ‘7’: {‘device_id’: ‘7’, ‘name’: ‘Lower Kitchen’, ‘type’: ‘TriathlonRollerShade’, ‘zone’: ‘6’, ‘current_state’: -1}}
2017-08-08 22:38:11 INFO (SyncWorker_0) [homeassistant.components.lutron_caseta] Connected to Lutron smartbridge at 10.11.11.75
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.setup] Setup of domain lutron_caseta took 4.0 seconds.
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=lutron_caseta>
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.loader] Loaded light from homeassistant.components.light
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.loader] Loaded switch from homeassistant.components.switch
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] b’{“CommuniqueType”:“ReadRequest”,“Header”:{“Url”:“/zone/2/status”}}\r\n’
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.components.cover] Setting up cover.lutron_caseta
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] b’{“CommuniqueType”:“ReadRequest”,“Header”:{“Url”:“/zone/3/status”}}\r\n{“CommuniqueType”:“ReadRequest”,“Header”:{“Url”:“/zone/4/status”}}\r\n{“CommuniqueType”:“ReadRequest”,“Header”:{“Url”:“/zone/5/status”}}\r\n{“CommuniqueType”:“ReadRequest”,“Header”:{“Url”:“/zone/6/status”}}\r\n’
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.setup] Setting up light
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] b’{“CommuniqueType”:“ReadResponse”,“Header”:{“MessageBodyType”:“OneZoneStatus”,“StatusCode”:“200 OK”,“Url”:“/zone/2/status”},“Body”:{“ZoneStatus”:{“Level”:22,“Zone”:{“href”:“/zone/2”}}}}\r\r\n{“CommuniqueType”:“ReadResponse”,“Header”:{“MessageBodyType”:“OneZoneStatus”,“StatusCode”:“200 OK”,“Url”:“/zone/3/status”},“Body”:{“ZoneStatus”:{“Level”:100,“Zone”:{“href”:“/zone/3”}}}}\r\r\n’
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] zone=2 level=22
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.setup] Setting up switch
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] zone=3 level=100
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] b’{“CommuniqueType”:“ReadResponse”,“Header”:{“MessageBodyType”:“OneZoneStatus”,“StatusCode”:“200 OK”,“Url”:“/zone/4/status”},“Body”:{“ZoneStatus”:{“Level”:5,“Zone”:{“href”:“/zone/4”}}}}\r\r\n{“CommuniqueType”:“ReadResponse”,“Header”:{“MessageBodyType”:“OneZoneStatus”,“StatusCode”:“200 OK”,“Url”:“/zone/5/status”},“Body”:{“ZoneStatus”:{“Level”:2,“Zone”:{“href”:“/zone/5”}}}}\r\r\n’
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] zone=4 level=5
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] zone=5 level=2
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] b’{“CommuniqueType”:“ReadResponse”,“Header”:{“MessageBodyType”:“OneZoneStatus”,“StatusCode”:“200 OK”,“Url”:“/zone/6/status”},“Body”:{“ZoneStatus”:{“Level”:10,“Zone”:{“href”:“/zone/6”}}}}\r\r\n’
2017-08-08 22:38:11 DEBUG (Thread-4) [smartbridge] zone=6 level=10
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=switch, service=turn_off>
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=switch, service=turn_on>
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=switch, service=toggle>
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.setup] Setup of domain switch took 0.4 seconds.
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=switch>
2017-08-08 22:38:11 INFO (MainThread) [homeassistant.core] Bus:Handling <Event platform_discovered[L]: service=load_platform.switch, platform=lutron_caseta, discovered=>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.loader] Loaded switch.lutron_caseta from homeassistant.components.switch.lutron_caseta
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=cover, service=open_cover>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=cover, service=close_cover>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=cover, service=set_cover_position>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=cover, service=stop_cover>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=cover, service=open_cover_tilt>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=cover, service=close_cover_tilt>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=cover, service=stop_cover_tilt>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=cover, service=set_cover_tilt_position>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.setup] Setup of domain cover took 6.2 seconds.
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=cover>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.core] Bus:Handling <Event platform_discovered[L]: service=load_platform.cover, platform=lutron_caseta, discovered=>
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.components.switch] Setting up switch.lutron_caseta
2017-08-08 22:38:12 INFO (MainThread) [homeassistant.components.cover] Setting up cover.lutron_caseta
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=light, service=turn_on>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=light, service=turn_off>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=light, service=toggle>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.setup] Setup of domain light took 1.8 seconds.
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=light>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event platform_discovered[L]: service=load_platform.light, platform=lutron_caseta, discovered=>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.loader] Loaded light.lutron_caseta from homeassistant.components.light.lutron_caseta
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.components.light] Setting up light.lutron_caseta
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.livingroom_lights, old_state=None, new_state=<state light.livingroom_lights=on; brightness=56, min_mireds=154, max_mireds=500, Device ID=3, Zone ID=2, friendly_name=Livingroom Lights, supported_features=1 @ 2017-08-08T22:38:13.334979-06:00>>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.patio_lights, old_state=None, new_state=<state light.patio_lights=on; brightness=255, min_mireds=154, max_mireds=500, Device ID=4, Zone ID=3, friendly_name=Patio Lights, supported_features=1 @ 2017-08-08T22:38:13.338857-06:00>>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=group.lights, old_state=<state group.lights=unknown; entity_id=(‘light.livingroom_lights’, ‘light.patio_lights’, ‘switch.garage_exterior_switch_7_0’), order=1, friendly_name=Lights, assumed_state=False @ 2017-08-08T22:38:05.028469-06:00>, new_state=<state group.lights=on; entity_id=(‘light.livingroom_lights’, ‘light.patio_lights’, ‘switch.garage_exterior_switch_7_0’), order=1, friendly_name=Lights, assumed_state=False @ 2017-08-08T22:38:13.344485-06:00>>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=group, service=set, service_data=object_id=all_lights, name=all lights, entities=[‘light.livingroom_lights’, ‘light.patio_lights’], visible=False, service_call_id=1961458960-1>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=group.all_lights, old_state=None, new_state=<state group.all_lights=on; entity_id=(‘light.livingroom_lights’, ‘light.patio_lights’), order=4, auto=True, friendly_name=all lights, hidden=True, assumed_state=False @ 2017-08-08T22:38:13.352327-06:00>>
2017-08-08 22:38:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_executed[L]: service_call_id=1961458960-1>

That is because you have another type of shade called “TriathlonRollerShade” for your shades. The current lutron_caseta.py is only looking for “SerenaHoneycombShades” or “SerenaRollerShades” Added support for SerenaHoneycombShades to Lutron Caseta (#8662) · home-assistant/core@f5eeb25 · GitHub

Maybe kfcook can add it, or you can just copy the lutron_caseta.py file to your /custom_components/cover folder and add “TriathlonRollerShade” to line 26 here: Added support for SerenaHoneycombShades to Lutron Caseta (#8662) · home-assistant/core@f5eeb25 · GitHub

I will get ‘TriathlonRollerShade’ added to the list of supported devices in HA proper.

1 Like

The following PR should handle this problem once and for all (and hopefully not create any new ones) : https://github.com/home-assistant/home-assistant/pull/8903

Thanks!! I pulled in your change and put it in custom_components/cover/lutron_caseta.py but now every cover gets listed twice :

cover.lower_kitchen open Device ID: 7
Zone ID: 6
friendly_name: Lower Kitchen
supported_features: 3
cover.lower_kitchen_2 open Device ID: 7
Zone ID: 6
friendly_name: Lower Kitchen
supported_features: 3

Hmm so I had the following in configuration.yaml :

cover:
platform: lutron_caseta
lutron_caseta:
host: “ip”

but it turns out that’s what creates the duplicate entries. I removed the cover section and just left

lutron_caseta:
host: “ip”

and that seems to work.

That’s not good… I will look into that when I am back in town. I’m glad you have a work around.

Support for Triathlon and Sivoia QS Wireless shades was added to Home Assistant 0.53. @btuysser and any others with these shades if you wouldn’t mind updating and testing it, that would be great. Thanks.

I have Lutron Serena Shades, not exactly clear but did this get supported with this file?

Yes. https://home-assistant.io/components/cover.lutron_caseta/

Sorry for any confusion, the update was to add Triathlon and Sivoia QS Wireless in addition to the already supported Serena shades.