-
-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support events for Philips Tap Dial Switch #359
Comments
Sorry, I've been busy and will keep busy until next week. I haven't forgotten this. |
I've bought a tap switch myself, just need to get a deconz 2.18 instance running |
Would you mind sharing your thoughts on how you would like it working? |
Thanks @Kane610 . I am not intimately familiar with the implementation, but querying the rest API shows the tab dial state.
If we could emit a deconz_event in home-assistant with these state updates, similar to the buttons on the switch, that should be sufficient for automation purposes. There was also a similar issue for this switch in the home-assistant repo, that was recently resolved, which may be helpful. home-assistant/core#75082. |
Is it possible to get the number of |
I will need to investigate it closer ones support is released |
Any news on this? Can we help? |
Nope sorry, I've refrained from upgrading to 2.18 due to what seem to be a memory leak in the system. I really want to progress on it :) |
Does the problem still persist with v2.18.2 ? |
I've asked the devs and await more details |
I'm also desperately awaiting support for dial movements in deconz. Right now i'm on 2.18.2 and so far, deconz still won't emit any events (or exposes them via API), when the dial is turned. All the other button-functions work as expected. |
I have been fully occupied with other things but plan on upgrading to 2.19.1 so I can get started. The more suggestions about how you want it exposed the better for me when I get started. I won't promise it but I would like to get the support in with 2022.12 release |
I think it depends on the exact meaning of A Hue event looks like this:
I don't know how the The steps give the rotation amount between two updates that are done every 400ms. This means that even when I move the dial quite fast, I can get the total amount and catch up with my automations (increase brightness / volume by x steps, open/close cover for position+x steps, seek forward in music/video for x seconds as steps...). Sadly, there's a pending bug in the Hue integration that ignores identical events to it doesn't make the dial play very well for now. Hopefully, once we have it in Deconz Rest API, it will be perfect. 😄 |
PR is up, I haven't upgraded deCONZ yet so I can't verify it myself, please try it out at the latest during the 2022.12 beta. |
Event will initially contain Event new movement/ repeat movement |
PR has been merged, please try it out |
I just tried this out. Works perfectly. Thanks a ton @Kane610 ! |
Awesome! Thanks for the quick feedback @sjafferali |
How did you try it? With a dev release of HA? I tried to put the latest dev of the Otherwise, I just need to be a little bit patient and wait the beta release tonight. Edit: Ok, maybe I should try to read the logs first...
|
I can also confirm I get the My first feedback is that it seems complicated to use the If I continuously rotate the dial (without more than 400ms between the clicks), the sequence will look like this (chronological order):
While the dial send My goal is to dynamically adjust a volume or a brightness while rotating the dial. For this, I think I would need to calculate the difference with the previous value of the rotation event. In the case above, I get the I think it could be great to have an additional property called See my previous post and the log example here: In this implementation, the "steps" property is the rotation value between the start and the new event, or between two 400ms events. My idea would give this output:
If that's not possible, I can try to use the event trigger on |
@Mincka thanks for the feedback. It sounds reasonable to do something like what you suggest. I just wanted to get some support out with this release and giving the basics was better than waiting another release :) |
Great! For a light, I chose to divise by 2 the number of dial steps (1 click = 15), so it means that a click increase/decrease the light by 8 light steps (from 0 to 255). You go from 0 to 100% of brightness with 1/2 of the dial rotation, in my case that's good, but I think it also works if you use the steps directly. It's fine enough for a light.
|
The logbook is not updated to show extra details like that. You can use the event interface in home assistant to subscribe to Deconz events and see the payloads |
@Kane610 ah, ok, great, now I can see them, thanks 👍 |
Awesome! Gave me a scare there for a sec! :) |
It still works great here with my automation to get steps but hopefully we can have them available directly the event. It would not be a breaking change and it would be useful to cover progressive and dynamic increase / decrease of value. |
Hi, this appears to work (until a better way to handle the events is kindly created). However to incrementally make them light or darker, it seems to take quite the rotation for it to be used. Are you using your automations or was that just a proof of concept? |
I use it with a Shelly DImmer 2 and it works great. As I said, you need to tweak it for your case, especially this part.
Observe how the brightness value changes for each click. |
After two weeks of struggling with my tap dial switch and posting issues on both the Deconz and the Home Assistant github, I finally found this thread. I was wondering why the decision was made to not throw deconz_events but to instead throw a very specific deconz event? Won't it be simpler to just use deconz_event for everything and maybe add an additional key inside data like action_type: rotation? Also, are you aware that if you have the Phoscon device page open and selected the specific tap dial switch, then suddenly standard deconz_events are sent? These are the 500X and 600X events that are standard for other switches. EditI learned a bit more and found out that it's not so easy as it first seemed to me. However, there are things that I would appreciate to be improved. The event data is seen below: event_type: deconz_relative_rotary_event
data:
id: hue_tap_dial_switch
unique_id: 00:17:88:01:0d:d0:26:e0
device_id: 479e093dd93fc09f8af97957ae5201b8
event: repeat
rotation: -347
duration: 400
origin: LOCAL
time_fired: "2024-06-14T20:27:53.600235+00:00"
context:
id: 01J0C6YTW0X9KDXHYGE8ER9GCZ
parent_id: null
user_id: null The device_id is correct in my case. However, the id is not, which should be babyroom_tap_dial, which is correct for the button presses. Additionally, the rotation events do not show up in the Home Assistant log book on the device page: Do you know if these are things that are reasonably easily implementable? And if so, should these be on the Home Assistant or on the Deconz side? Note: I've also asked this question here: dresden-elektronik/deconz-rest-plugin#7804 |
Sorry for late response here, I didn't get a notification about it
It is because explicit is better than implicit as the deconz_event does too much already. Next step would be to use the event entity in hass to provide everything with something more visible than these old events are
I have no experience of this. If you can reproduce it you should report it on deCONZ GitHub.
This is because naming is not consistent for a device in deCONZ, the name by the user is given to one of the devices endpoints and is then shown in deCONZ as the name of the whole device. But as the device has more endpoints those still keep a default name, and that is what you're seeing right now. There is a need to rewrite the whole integration to move away from these kind of issues but Im not sure yet when I will start with that. Current work around for you is to rename each endpoint manually in deCONZ. |
Thanks for responding anyways! 😊 I don't think I agree with you saying that implicit is better than explicit and that deconz_event does too much already. However, I have to admit I'm not an expert here and that you should take my opinion as it is: just an opinion of a random enthusiast on the internet 😅. However, I would like to say that currently, the implementation of the tap dial switch leaves a lot to be desired. I have around 110 devices on my zigbee network, but this was the first one where I was really pulling my hair out trying to find out why the rotation events were not showing up at all. There was no available trigger for me to look for rotation events. It took me hours to get this device working in Home Assistant, which was really not user friendly. If there would be simple deconz_events, I would have noticed this behavior a lot earlier. Hence my request to do simple deconz_events to prevent others from having similar struggles. But if there is another way to make the experience easier for new users that is easier to implement, I'm all for that. Anyways, thanks for your time and effort! |
I said the opposite :), documentation could have been better though (sorry about that) At one point I will add support for the new event class in hass as well which will make it much more clear |
The new philips tap dial switch does not emit an event on deconz_event in home assistant when the dial is rotated. The buttons on the switch do however emit events.
Support was added in deconz for this switch in dresden-elektronik/deconz-rest-plugin#6160 .
I opened an issue in home-assistant/core#76427, but was directed to resubmit here.
The text was updated successfully, but these errors were encountered: