I implemented it because I couldn’t resist. There’s only one example action at the moment. Maybe later I’ll update with some rotation examples and mixed buttons / rotations. But it’s all there… you just have to parse the array of inputs.
I’m new to Home Assistant, but i Buoght a Philips Tap Dail switch.
Problem is i’m not able to add the switch to Home Assistant.
I’m using ZHA.
I tried to put the switch in pairing mode, and i got it to find a Signify Netherlands device. I know this must be the switch.
But all i can see is battery status and identify.
All other switches i added, show the different buttons.
You need to create an automation that triggers on ZHA Events with the device id of your tap dial switch and then find out which button was pressed. Read this thread from the beginning.
I’ve observed that devices supported by Zigbee2MQTT offer a wider range of attributes compared to those supported by ZHA and deCONZ. Therefore, I definitely recommend considering a switch to Zigbee2MQTT.
Hello fleeman,
First of all, Thanks for your post and help for this automation with Mqtt.
Well, i’m a very very newsbie… Only 3 week i discover Home Assistant, the word Zigbee, Device, Entities, etc etc.
I try to use your code In HA but don’t arrive to execute a simple light on lol. Don’t know where to complete this in the yaml file…
1.My device Hue Philips is rename in “HueSwitch” - Model 8719514440937/8719514440999 ( Philips Hue Tap )
2.this one is “connected” with mqtt
3. I create your two Helper files “Philips Hue Dial Switch Last Pressed” and “Philips Hue Dial Switch button counter”
4. I create an automation and under the id i paste your code:
Now, where i can add for this device “Zig” Zigbeemodel TS0505B ( TS0505B ) (controler for a led Strip Cool and White Led (Not RGB))
a/If press 1 time button 1 → Device “Zig” → Action “Toggle Col” (Toggle Switch)
b/If i Double Press Button 1 just after press 1–> And rotate Left (Down White Temperature - coolest). If i Rotate right(Up Warmest White temperature - Warmest ) on device Device “Zig”
c/If i Triple Press Button 1 just after press 1–> And rotate Left (Down Intensity). If i Rotate right(Increase Intensity) on device Device “Zig”
If you want, i also have a Sonoff Zbmini2 ( [ZBMINIL2]) which switch on/off a simple Bulb. May be we could start with this device with Button 2?
Sorry for my bad english and hope someone could help me.
Also a newbie trying to follow this. I can create the helpers and copy and paste the automation code into a fresh automation. But now need a bit of direction as to what next.
Should i try and switch back to the UI interface or do i need to get my head round the YAML code and figure out how to edit to add my lights?
Guessing no way to spoon feed me with a blueprint I can import for this?
Maybe its out of my current expertise to get this working for me…
Update - found a blueprint. Not as cool as the routine in this thread but useable for a novice like me lol. Would be nice to combine / update this blueprint with the automation here (make it work with helpers). Then it would be more accessible / doable for newbies or people that are not comfortable with editing raw YAML code.
Dear Freddie
Where did you get this eintiy_id from?
I did try to use your blueprint and even did use all of your used names for device and helpers but all I get is this failure message all the time.
Error: In 'template' condition: UndefinedError: 'dict object' has no attribute 'event'
After search the internet with this search one of the first results is this one and close to the bottom I did find the solution to this problem.
I do not know with which update within the last few days this happened but suddenly the mentioned setting legacy triggers was disabled.
Maybe you could mention somewhere that if a user as problems with your blueprint, he should check that setting within Zigbee2MQTT.
I can‘t figure out, how I can use your blueprint for the following behavior.
Single press run automation/sceen (works for me)
Double press run automation/sceen (works as well)
Double press and then switch to your dial turn (how to get that working?)
Turn dial and put together all three possibilities (step, slow, fast turn) into ONE command (how to get that working?)
In more details.
Button 1 is for living room dimmable light. Now after single press turn light on to a specific brightness works, as well as hold press to switch of the light. I‘m having no idea how to programm it, that after a double press I can turn the wheel left/right to manually dim down/up the light.
Thank you so much for this! In addition to this being the only automation for the tap dial that supports double tap and hold, this thread finally made me realize why z2mqtt is preferable over ZHA - most other threads are filled with people that picked one or the other and stuck with it bc they both work, but I didn’t realize that ZHA isn’t picking up certain button presses that I needed for my use case.
After switching all of my devices over to z2m, I copied over the code generously written by OP and everything has worked on the first try! Haven’t quite gotten around to playing with the dimmer settings yet but hope to get some time to figure that out this weekend. Thank you again for your contributions to this community!
Hello,is there someone here who could do a flow with all these action from Z2M in Node Red. I search to do the same thing but i’m so a newbie i can’t find a way
Thanks for creating this, just wanted to check, I currently have my lights and dimmer switches connected via the Hue Bridge and set up in HA using the Hue integration. Would I be able to use this to control a Tap Dial switch connected in the same way?
Have you tried this nodered custom node and flow? I started out using this one because it even has triple taps, but I couldn’t get my chromecast to cooperate in node red so I preferred the yaml automation here.
Hello, yes i try to understand all this but can’t arrive to what i want
Here is the node Red Flow i make but with many Debug etc and try of all thing, mix lol But don’t understand all
Don’t a find a way to add the All code of Json code. Too long