home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
74.13k stars 31.12k forks source link

Lutron RadioRa2 (integration lutron) not seeing SeeTouch Keypad button presses #101017

Closed P3TACCO closed 7 months ago

P3TACCO commented 1 year ago

The problem

The "lutron_event" is not firing when a SeeTouch keypad button or Pico button is pressed.

RadioRa 2 (not Caseta) Lutron install. Switches, keypad LEDs, Scenes, Covers all work. Device names are all imported correctly. Switch, button LED and cover status works correctly. Switches, keypad LEDS and covers can be turned on and off, dimmers dimmed, covers raised/lowered positioned half way from HA.

A Hubitat hub on the same subnet CAN see the button presses verifying the Lutron interface is transmitting the messages.

The Activity log in HA does not show the button press, but does capture the change in state of lutron devices

Running Hassio standalone on a Dell Optiplex computer.

What version of Home Assistant Core has the issue?

core-2023.9.3

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/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Here is the Hubitat log showing the Lutron Bridge activity (notes added):

Virtual switch OFF
dev:10412023-07-21 09:13:51.982 AMinfoHA Guest Mode Notifier was turned off <----Hubitat reset virtual switch

LEDs commanded ON
dev:9782023-07-21 09:13:50.233 AMinforcvd: DEVICE,28,83,9,1 <----LED 3 ON event commanded by HA
dev:9782023-07-21 09:13:50.135 AMinforcvd: DEVICE,32,83,9,1 <----LED 3 ON event commanded by HA

Virtual switch ON
dev:10412023-07-21 09:13:49.890 AMinfoHA Guest Mode Notifier was turned on <----work around Hubitat virtual switch to HA

Keypad 1 Button 3 pressed
dev:9912023-07-21 09:13:49.767 AMinfoFamily Room Keypad 1 button 3 was pushed [physical] <----button 3 pressed event interpreted by Hubitat - no scene attached to button
dev:9782023-07-21 09:13:48.584 AMinforcvd: DEVICE,32,3,4 <----button 3 released? event sent by Lutron Bridge
dev:9782023-07-21 09:13:47.619 AMinforcvd: DEVICE,32,3,3 <----button 3 pressed event sent by Lutron Bridge

Here is the HA log for the same period - NO receipt of keypad button press events:
HA Guest Mode Notifier turned off
9:13:51 AM - 1 hour ago
Family Room Keypad 2: Guests LED turned on triggered by automation Guest Mode Set triggered by state of HA Guest Mode Notifier
9:13:49 AM - 1 hour ago
Family Room Keypad 1: Guests LED turned on triggered by automation Guest Mode Set triggered by state of HA Guest Mode Notifier <---- HA commanded LED ON
9:13:49 AM - 1 hour ago
Guest Mode Flag turned on triggered by automation Guest Mode Set triggered by state of HA Guest Mode Notifier
9:13:49 AM - 1 hour ago
Guest Mode Set triggered by state of HA Guest Mode Notifier turned on <---- HA automation
9:13:49 AM - 1 hour ago - Traces
HA Guest Mode Notifier turned on <---- Hubitat virtual notifier
9:13:49 AM - 1 hour ago
<---- No Lutron event fired at 09:13:47.619
Internet Time changed to @676

Additional information

I looked in the python files for the lutron integration.

The integration for the keypad LEDs is in the switch.py script

The integration to capture button presses is in init.py file It looks like it “should” be listening for button presses, but no lutron_events are fired and there is nothing in the log.

I see platform types in init.py for "light": [], "cover": [], "switch": [], "scene": [], "binary_sensor": []

But none for "button":[]

The Buttons have a different syntax, it looks like they may be trying to pull the ids from the Lutron controller hass.data[LUTRON_BUTTONS] = [] hass.data[LUTRON_CONTROLLER] = None hass.data[LUTRON_DEVICES] = {

Buttons DO have sub-IDs inside the Lutron system appended to the lutron integration ID (see Hubitat log snippet above. DEVICE,32,3,3

Integration ID 32 Button 3 3 = pressed

home-assistant[bot] commented 1 year ago

Hey there @cdheiser, mind taking a look at this issue as it has been labeled with an integration (lutron) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `lutron` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign lutron` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


lutron documentation lutron source (message by IssueLinks)

cdheiser commented 1 year ago

Some questions for clarification, and I'll pull some of my own debug logs in my setup before asking you to gather anything:

1) What model of SeeTouch is it? (Table top, Hybrid, non-hybrid?) I don't have a table top but I have the other 2 I can test with. 2) What version of RadioRA2 firmware/software are you running?

P3TACCO commented 1 year ago

Both SeeTouch Standard and Hybrid e.g., RRD-W3S and RRD-HN6BRL - wall mounted, there are 12 in this install.

The install is RadioRa2 with two main repeaters, an RF repeater, a bridge and 150 devices. I have 8 picos which also do not generate events.

I am Lutron certified using RadioRA2 Inclusive version 12.10.0

I've tried with the repeater in both Multicast and Repeater address with no difference in behavior.
As noted above the system is sending out the reports - the Hubitat hub is capturing them.

SquaredCircled commented 1 year ago

@cdheiser

I have encountered the same issue as jeffcaulk. In my setup I have a RadioRA2 Inclusive install with multiple types of SeeTouch keypads, Hybrid, Standard and Table Top. the Home Assistant does not intercept certain button presses, whereas Hubitat does see all of these events. Specifically, it doesn't seem to capture as lutron_events the button "release" unless it is immediately preceded by a "pressed" event. e.g. in my circumstance I have a table top keypad (RR-T10RL) with integration id of 9, pushing the raise button (24) generates ~DEVICE,9,24,3 and releasing the button generates ~DEVICE,9,24,4 where 24 is the button and 3,4 is the button state. This example is intercepted by Home Assistant as two lutron_event[s] for pressed and released.

However, pushing any other buttons that only report released are not captured as lutron_events in Home Assistant e.g. ~DEVICE,9,8,4

Has there been any insight into this issue with the core Lutron support?

Thanks

corrected: "released" in place of "lowered"

cdheiser commented 1 year ago

So far, I haven't been able to reproduce any unexpected behavior, but I only have Pico remotes and SeeTouch wired keypads. Here's the expected behavior:

I've gone around and checked my system and it's all working correctly, and while I don't have automations connected to my SeeTouch keypads, monitoring lutron_event in home assistant shows the proper single vs. pressed/released events being reported, and I'm on the latest RadioRA2 firmware and home assistant version.

All of the events that Lutron is reporting are being reflected in home assistant on my setup. Here's an example from running the lutron_event listener in the developer tools:

event_type: lutron_event data: id: keypad_sliding_door action: single full_id: kitchen_keypad_sliding_door uuid: "7414" origin: LOCAL time_fired: "2023-11-05T18:23:52.721087+00:00" context: id: 01HEGBM6CHC831A1XZ23NV76R0 parent_id: null user_id: null

On Sun, Nov 5, 2023 at 9:50 AM SquaredCircled @.***> wrote:

@cdheiser https://github.com/cdheiser

I have encountered the same issue as jeffcaulk. In my setup I have a RadioRA2 Inclusive install with multiple types of SeeTouch keypads, Hybrid, Standard and Table Top. the Home Assistant does not intercept certain button presses, whereas Hubitat does see all of these events. Specifically, it doesn't seem to capture as lutron_events the button "release" unless it is immediately preceded by a "pressed" event. e.g. in my circumstance I have a table top keypad (RR-T10RL) with integration id of 9, pushing the raise button 24 generates ~DEVICE,9,24,3 and releasing the button generates ~DEVICE,9,24,4 where 24 is the button and 3,4 is the button state. This example is intercepted by Home Assistant as two lutron_event[s] for pressed and lowered.

However, pushing any other buttons that only report released are not captured as lutron_events in Home Assistant e.g. ~DEVICE,9,8,4

Has there been any insight into this issue with the core Lutron support?

Thanks

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/101017#issuecomment-1793802492, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACQARWUCBQ4AKJQMREADQEDYC67T3AVCNFSM6AAAAAA5J3U222VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTHAYDENBZGI . You are receiving this because you were mentioned.Message ID: @.***>

SquaredCircled commented 1 year ago

For what ever reason I can't get my setup to do the same. I have just upgraded to HA 11.1 with RadioRA2 12.10 (inclusive) Im watching 434 MHz on a SDR and can see that only certain buttons (raise/lower and unprogrammed ones) transmit on pressed.

This is what listening for lutron_event in HA Developer tools produces when pressing the "lower" button

event_type: lutron_event data: id: 10_button_unknown_button_24 action: pressed full_id: bedroom_10_button_unknown_button_24 uuid: "608" origin: LOCAL time_fired: "2023-11-05T19:02:52.055174+00:00" context: id: 01HEGDVJWQMSW1T96XKY8HJT5A parent_id: null user_id: null

and this is when it is released.

event_type: lutron_event data: id: 10_button_unknown_button_24 action: released full_id: bedroom_10_button_unknown_button_24 uuid: "608" origin: LOCAL time_fired: "2023-11-05T19:02:52.437629+00:00" context: id: 01HEGDVK8N462RNPZ27BFZCD2V parent_id: null user_id: null

Pushing any other buttons don't generate anything in the lutron_event

Interestingly pushing a non-programmed button does transmit RF on pressed, and released however HA only captures the "Pressed" event

event_type: lutron_event data: id: virtual_keypad_unknown_button_6 action: single full_id: snug_closet_virtual_keypad_unknown_button_6 uuid: "15923" origin: LOCAL time_fired: "2023-11-05T19:08:57.340567+00:00" context: id: 01HEGE6QKWQEPMWZ09JPB7MXP9 parent_id: null user_id: null

For completeness here is an example of a pico push/release lutron_event on my system. HA captures it on the pressed but not the relased eventhough it trasmitts RF and telnet events for both.

event_type: lutron_event data: id: desk_pico_on action: single full_id: snug_desk_pico_on uuid: "500" origin: LOCAL time_fired: "2023-11-05T19:12:25.787594+00:00" context: id: 01HEGED35VE4DZ8S2BMQ6S13RA parent_id: null user_id: null

P3TACCO commented 1 year ago

Where should I see the lutron_events logged? I don't see them in the regular log. How are you finding the UUIDs of the devices? Wondering if I can key on UUID instead of device name.

SquaredCircled commented 1 year ago

I found them in the Home Assistant dashboard Developer Tools->Events->Listen to events and typed in "lutron_event" then started pushing buttons around the house

I would be grateful if you posted any progress you make. This is all as clear as mud to me.

cdheiser commented 1 year ago

The UUIDs are also present in the DBInfoXml file that you can pull from the repeater(s).

@SquaredCircled can you pull the DBInfoXML file from your system and send the XML for the keypad that has buttons that don't register in lutron_event ?

SquaredCircled commented 1 year ago

[Uploading 10-Button.txt…]() Here is the xml for a the 10-button keypad I referenced earlier. Note that button 17 with engraving "Radio" is captured as a lutron_event by Home Assistant, it was not programmed in RadioRA2 pc software, but assigned to control sonos through the app all of the other buttons (except raise/lower) are not captured. As far as I can tell none of my keypads have all of their buttons captured as lutron_event.

`

                                                                                                                                                                                                                                                                                                                </devicegroup>`
cdheiser commented 1 year ago

So "On" "Off" "Dim" "Low" etc... don't generate any events in home assistant?

If so, the next thing that would be useful is to telnet into the main repeater as the username and password that Home Assistant uses. Press & release one or two of the buttons that aren't working, and paste the output here. That will tell us what home assistant should be seeing.

SquaredCircled commented 1 year ago

Thanks cdheiser for looking into this. Yes, "On", "Off", "Dim","Low" do not generate lutron_events. Only "Radio" does I have attached two text documents. One is the telnet when pushing each button on my 10-button keypad slowly in succession. I have inserted carriage returns between button presses. (other in wall keypads show similar behaviour). The second text document is copy-pasted from the Home Assistant->Developer Tools-> Events->Listen to events->lutron_event and when pushing the same buttons.

10_button_lutron_event_monitor.txt 10_button_telnet_log.txt

Is it easy to wipe all of my lutron integration from HA and start over? perhaps I did something incorrectly from the stat. I haven't looked carefully into how to do this yet.

P3TACCO commented 1 year ago

Thank you. I will do some more testing as well.

SquaredCircled commented 10 months ago

Thank you. I will do some more testing as well.

I made a change in my RA2 system that solved the problem. Bill D suggested turning off "Scene Saver" - Save changes on button hold in the advanced settings menu. https://community.home-assistant.io/t/lutron-radiora2-not-seeing-seetouch-keypad-button-presses/593687

Doing so has exposed all of the lutron_event to HA as desired.

However, it is worth mentioning that unprogrammed keypad buttons still report via telnet both pressed and released events

wilburCforce commented 9 months ago

there is a change that @joostlek and I have been working on to expose the lutron events as the newer HA event entities. In testing this is a big improvement and makes automations much easier to deal with. I'd expect that to roll into 2024.3 or soon thereafter. That should help this issue quite a bit. https://github.com/home-assistant/core/pull/109121

P3TACCO commented 9 months ago

I'm hopeful!

For the record, my Scene Saver was already disabled. I enabled it -no change. I re‐disabled it -no change.

I don't know what the pending changes are, but if the buttons were created as button entities I think that might help.
The integration IDs of the keypads are obviously being read from the controller correctly because the scenes and LEDs are set up correctly. If there were button entities created for the physical buttons, then it seems we could use the button actions just like with other buttons. Just like the LEDs are created as switches. The controller is sending out the correct messages with integration ID and button number. I realize this would create a ton more entities (so a 6 button Keypad would have 18 total;6 scenes, 6 LEDs, 6 buttons) but I think the HA programming would be more straightforward.

Thanks for working this.

tbrummel commented 9 months ago

I was using RA2 with HA for a bit and it worked for me -- but I've since upgraded to RA3 (two processor system running both RA2 (mostly) and RA3 (about 20) devices. I am only able to get this working with HA using the Lutron_Caseta integration which I believe is different from the RA2 integration (?) - but figured I'd post this as an FYI as some will probably be looking at RA3.

I also had problems with button presses in RA3 and, in fact, they were related to the RA2 Scence Saver mode of the keypads. In the Caseta integration, I was only seeing button_release events for some buttons and button_pressed events for others. This makes some sense if you consider that if a keypad is in scene saver mode, a press might become a "long press" (activating scene saver) - so I'm guessing the keypad is not transmitting a "press" that could be caught by the integration? Anyway, I'm still experimenting with when HA fires press and released events for keypad buttons (both RA2 and RA3 keypads) but I did get past the "release only" problem by disabling Scene Saver. Fair warning: Scene Saver does not exist in RA3 so if you plan to upgrade your processor, you should set all keypads to have that turned off in the RA2 software before you upgrade. I had to remove the device from the software, factory reset it, add it back in and re-program it before I could get Scene Saver turned off after upgrading.

BTW, does anyone know if there is a RA3 integration being worked on or using the Caseta integration is the only plan? I do know multiple processors messes up HA -- you have to ignored all but one, so you don't get duplicate entries of every item in the system in HA.

SquaredCircled commented 9 months ago

Thank you for the update. I look forward to seeing the changes you are implementing.

On an unrelated matter do any of you have a method for adjusting the "fade" or RA2 lights directly from within HA? I have just started poking around and haven't found a straightforward way of doing so without using a script.

adding the "transition" data doesn't seem to do the trick.

cdheiser commented 9 months ago

Support is coming soon and is being tracked in https://github.com/home-assistant/core/issues/108871

On Wed, Feb 7, 2024 at 1:22 PM SquaredCircled @.***> wrote:

Thank you for the update. I look forward to seeing the changes you are implementing.

On an unrelated matter do any of you have a method for adjusting the "fade" or RA2 lights directly from within HA? I have just started poking around and haven't found a straightforward way of doing so without using a script.

adding the "transition" data doesn't seem to do the trick.

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/101017#issuecomment-1932955269, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACQARWXQCJ2P445GWWF2KNTYSPV77AVCNFSM6AAAAAA5J3U222VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZSHE2TKMRWHE . You are receiving this because you were mentioned.Message ID: @.***>

P3TACCO commented 9 months ago

Updated to the new core 2024.2.1. I see the Lutron integration is now automatic (deleted the YAML config.) Very slick. The Keypads and Picos are displayed differently - Each keypad now has the LED and Scenes as sub entities. Makes a lot of sense.

I still cannot get the keypad or pico events to be detected.

In Developer tools I used the Events tab Set up event type as "lutron_event" They fire successfully and trigger automations, but if I push the button on the Pico - nothing happens in HA (the Lutron scene executes as normal).

If I understand wilburCforce correctly, it's still in work but close... :-)

P3TACCO commented 7 months ago

I noticed the new core Lutron integration added additional entities. Every SeeTouch and Pico now has an event entity for each button. AND HOME ASSISTANT CAN SEE THEM!

Works pretty slick! Using lutron event triggers, everything is finally working.

Only small issue is the names the events are given in the integration listing are not the same as the actual event names. You have to go into the developer tools events section, setmup a listener and push the button to get the actual name.

For example. I have a button to control a window shade In the integration listing it shows “event.kitchen_keypad_1_dining_room_shade”

If i use that as the event id it doesnt work

In the developer tools listening area the button creates this event id “kitchen_dining_room_shade”

Not a huge deal

Really happy its working now.

Thanks

Dont know which of the recent changes did it. My current system

Core2024.5.0 Supervisor2024.04.4 Operating System12.2 Frontend20240501.0

P3TACCO commented 7 months ago

This is now working and working well, thanks