Something strange it’s definitely going on, I’m not sure why.
I’ll take a look early next week when I get time at the computer
Something strange it’s definitely going on, I’m not sure why.
I’ll take a look early next week when I get time at the computer
Just to say thank you so much for taking the time and effort in posting the driver
I’m posting this to try and help with the debug process, so I hope that it is of some use!!
quick summary:
“Press” for each of the 4 buttons is correct.
“Held” for buttons 1 and 2 is correct
but:
Button 3 “Held” result> Button 1 “Pressed”
Button 3 "Held for a long time result> Button 1 “Pressed” then Button 3 “Pressed”
and more strangely:
Button 4 “Held” result> Button 1 “Pressed”
Button 4 "Held for a long time result> Button 1 “Pressed” then Button 3 “Pressed” (confirm “3” not a mistype!!! - see last section in the logs (and repeated multiple times to confirm - not in log)
Actual logs from cli - see bold text
==============================================================================
BUTTON 1 held (correct)
Driver Id:07b6ece0-664e-4bda-8933-078cb1bc3326 Ikea Styrbar Remote
TRACE Ikea Styrbar Remote Received event with handler zigbee
DEBUG Ikea Styrbar Remote Missing command arg options_mask for deserializing MoveWithOnOff
DEBUG Ikea Styrbar Remote Missing command arg options_override for deserializing MoveWithOnOff
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: Level >, lqi: 0xFF, rssi: -56, body_length: 0x0005, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x01, seqno: 0x0C, ZCLCommandId: 0x05 >, < MoveWithOnOff || MoveStepMode: UP, rate: 0x53 > > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: Level, command: MoveWithOnOff
DEBUG Ikea Styrbar Remote Handling Tradfri held UP
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“held”},“capability_id”:“button”,“component_id”:“button1”}
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“held”},“capability_id”:“button”,“component_id”:“main”}
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee
DEBUG Ikea Styrbar Remote Missing command arg options_mask for deserializing StopWithOnOff
DEBUG Ikea Styrbar Remote Missing command arg options_override for deserializing StopWithOnOff
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: Level >, lqi: 0xFF, rssi: -56, body_length: 0x0003, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x01, seqno: 0x0D, ZCLCommandId: 0x07 >, < StopWithOnOff || > > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: Level, command: StopWithOnOff
DEBUG Ikea Styrbar Remote Handling Tradfri not held. Nothing to do.
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
listening for logs… /
==============================================================================
BUTTON 3 (LEFT) held
Driver Id:07b6ece0-664e-4bda-8933-078cb1bc3326 Ikea Styrbar Remote
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: Scenes >, lqi: 0xFF, rssi: -50, body_length: 0x0007, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x05, mfg_code: 0x117C, seqno: 0x39, ZCLCommandId: 0x09 >, GenericBody: 00 00 > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: Scenes, command: 0x09
DEBUG Ikea Styrbar Remote Handling Tradfri not held. Nothing to do.
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: OnOff >, lqi: 0xFF, rssi: -50, body_length: 0x0003, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x01, seqno: 0x3A, ZCLCommandId: 0x01 >, < On || > > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: OnOff, command: On
DEBUG Ikea Styrbar Remote Handling Tradfri TOGGLE - UP
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“button1”}
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“main”}
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee health poll
listening for logs… |
==============================================================================
BUTTON 3 (LEFT) HELD FOR A LONG TIME
Driver Id:07b6ece0-664e-4bda-8933-078cb1bc3326 Ikea Styrbar Remote
TRACE Ikea Styrbar Remote Received event with handler zigbee health poll
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: Scenes >, lqi: 0xFF, rssi: -47, body_length: 0x0007, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x05, mfg_code: 0x117C, seqno: 0x3B, ZCLCommandId: 0x09 >, GenericBody: 00 00 > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: Scenes, command: 0x09
DEBUG Ikea Styrbar Remote Handling Tradfri not held. Nothing to do.
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: OnOff >, lqi: 0xFF, rssi: -47, body_length: 0x0003, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x01, seqno: 0x3C, ZCLCommandId: 0x01 >, < On || > > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: OnOff, command: On
DEBUG Ikea Styrbar Remote Handling Tradfri TOGGLE - UP
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“button1”}
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“main”}
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: Scenes >, lqi: 0xFF, rssi: -47, body_length: 0x0009, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x05, mfg_code: 0x117C, seqno: 0x3D, ZCLCommandId: 0x07 >, GenericBody: 02 00 00 00 > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: Scenes, command: 0x07
DEBUG Ikea Styrbar Remote Handling Tradfri left/right button PUSHED, value: 2
DEBUG Ikea Styrbar Remote Button Number: 3
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“button3”}
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx [0x4CE0] (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“main”}
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee health poll
listening for logs… /
==============================================================================
button 4 (RIGHT) held
Driver Id:07b6ece0-664e-4bda-8933-078cb1bc3326 Ikea Styrbar Remote
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: Scenes >, lqi: 0xFF, rssi: -48, body_length: 0x0007, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x05, mfg_code: 0x117C, seqno: 0x56, ZCLCommandId: 0x09 >, GenericBody: 00 00 > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: Scenes, command: 0x09
DEBUG Ikea Styrbar Remote Handling Tradfri not held. Nothing to do.
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: OnOff >, lqi: 0xFF, rssi: -48, body_length: 0x0003, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x01, seqno: 0x57, ZCLCommandId: 0x01 >, < On || > > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: OnOff, command: On
DEBUG Ikea Styrbar Remote Handling Tradfri TOGGLE - UP
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“button1”}
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“main”}
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee health poll
==============================================================================
BUTTON 4 (RIGHT) held for a long time
Driver Id:07b6ece0-664e-4bda-8933-078cb1bc3326 Ikea Styrbar Remote
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: Scenes >, lqi: 0xFF, rssi: -58, body_length: 0x0007, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x05, mfg_code: 0x117C, seqno: 0x58, ZCLCommandId: 0x09 >, GenericBody: 00 00 > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: Scenes, command: 0x09
DEBUG Ikea Styrbar Remote Handling Tradfri not held. Nothing to do.
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: OnOff >, lqi: 0xFF, rssi: -58, body_length: 0x0003, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x01, seqno: 0x59, ZCLCommandId: 0x01 >, < On || > > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: OnOff, command: On
DEBUG Ikea Styrbar Remote Handling Tradfri TOGGLE - UP
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“button1”}
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“main”}
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x4CE0, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: Scenes >, lqi: 0xFF, rssi: -58, body_length: 0x0009, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x05, mfg_code: 0x117C, seqno: 0x5A, ZCLCommandId: 0x07 >, GenericBody: 02 00 00 00 > >
TRACE Ikea Styrbar Remote Found ZigbeeMessageDispatcher handler in zigbee-button
INFO Ikea Styrbar Remote Executing ZclClusterCommandHandler: cluster: Scenes, command: 0x07
DEBUG Ikea Styrbar Remote Handling Tradfri left/right button PUSHED, value: 2
DEBUG Ikea Styrbar Remote Button Number: 3
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“button3”}
INFO Ikea Styrbar Remote <ZigbeeDevice: xxxx (Styrbar Remote)> emitting event: {“state_change”:true,“attribute_id”:“button”,“state”:{“value”:“pushed”},“capability_id”:“button”,“component_id”:“main”}
DEBUG Ikea Styrbar Remote Styrbar Remote device thread event handled
TRACE Ikea Styrbar Remote Received event with handler zigbee health poll
I think this is a feature, Its the sequence that Ikea is using for changing color of their lamps.
Make sure the light is on → skip push left or right → go and change color on hold
A normal left and right will give us a response with bytes 00 or 01 but a hold will give a 02
Push button Right
ZCLCommandId: 0x07 >, GenericBody: 00 01 0D 00
Push button Left
ZCLCommandId: 0x07 >, GenericBody: 01 01 0D 00
Holding the left or right button gives us now a value 2 so skip this action
ZCLCommandId: 0x07 >, GenericBody: 02 00 00 00
I will dive a bit more in the code and see what I can find.
UPDATE:
The actions on and hold sequence on are the same command with the same Zigbee Message.
#Push On
<ZigbeeDevice: a68b4df4-9c5a-4bdf-943a-f2bb1b20e9f1 [0xABE1] (Styrbar Remote)> received Zigbee message:
< ZigbeeMessageRx ||
type: 0x00,
< AddressHeader ||
src_addr: 0xABE1,
src_endpoint: 0x01,
dest_addr: 0x0000,
dest_endpoint: 0x01,
profile: 0x0104,
cluster: OnOff >,
lqi: 0xE8,
rssi: -42,
body_length: 0x0003,
< ZCLMessageBody ||
< ZCLHeader ||
frame_ctrl: 0x01,
seqno: 0x40,
ZCLCommandId: 0x01 >,
< On || >
>
>
#Hold Left of Right
<ZigbeeDevice: a68b4df4-9c5a-4bdf-943a-f2bb1b20e9f1 [0xABE1] (Styrbar Remote)> received Zigbee message:
< ZigbeeMessageRx ||
type: 0x00,
< AddressHeader ||
src_addr: 0xABE1,
src_endpoint: 0x01,
dest_addr: 0x0000,
dest_endpoint: 0x01,
profile: 0x0104,
cluster: OnOff >,
lqi: 0xFF,
rssi: -19,
body_length: 0x0003,
< ZCLMessageBody ||
< ZCLHeader ||
frame_ctrl: 0x01,
seqno: 0x70,
ZCLCommandId: 0x01 >,
< On || >
>
>
This is why I think that the DTH has no hold developed in the driver. Because this is not possible with this sequence (scene) that Ikea has build in the device.
Thanks so much for this, I looked at the dth earlier and was wondering why they didn’t have hold on the left & right buttons. This makes sense now
It’s looking like I’ll have to remove the held for buttons 3 and 4.
I wonder whether the left and right buttons on the 5 button IKEA tradfri remote do the same as Samsung have released an official edge driver for that since I released this and it appears to support press and hold ( I’ve not tested it though I’ve just had a quick scan of the code on GitHub - SmartThingsEdgeDrivers/TRADFRI_remote_control.lua at main · SmartThingsCommunity/SmartThingsEdgeDrivers · GitHub)
I’ll take a proper look when I’m back at the computer in the week and take it from there. But as you say, it doesn’t look like it’s going to be possible
I have just published a new version that removes the hold capability on buttons 3 and 4
If you still go ahead and hold, you will still get the incorrect presses unfortunately. I have updated the github too.
It can take up to 12 hours for the driver to update on your hub.
I’ve just successfully upgraded to the new driver. Many thanks for the quick response @lmullineux. I’m not sure if I’m missing something but even now, with no actions set on the left/right buttons a single press shows two buttons having been pressed in the app but the left and right buttons seem to be performing the actions assigned to them.
@lmullineux Good to hear that you removed the hold capability, I will close my pull request I put out on your repository.
Ah sorry, thanks for that. For some reason I didn’t get notified of your pull request so I didn’t realise you had done one. So thank you.
Fyi, I haven’t been able to do the name changes yet because of the way the button number is mapped back to the component relies on them being in the format buttonX
I need to look at the component_to_endpoint and endpoint_to_component mapping functions and re-write them, I just haven’t had chance yet.
Will see and update coming up, with a nice name above every button
I was thinking about building a driver that implements the functionality how Ikea has intended it.
What does the community think about this and is there any interest in such a driver?
Do you mean with a dimmer and a scene selector?
Isn’t making a bulb track the remotes dimmer going to be difficult/impossible?
I use a lot of my ikea remotes paired directly with the bulbs using touchlink, because they just work brilliantly that way. I wish there was a way to emulate that stock style behaviour you get when you use the IKEA tradfri hub but I’m not sure it’s possible
There is with ZigBee lights using Mariano’s driver. I am using different remotes/Scene Controller to dim and and change Temperature Level. It’s easy.
I was more meaning the way the bulbs work as a group
But I’ll check out @Mariano_Colmenarejo 's driver
I can provide the code and instructions to control a Zigbee group , it will allow to link the remote to the Mariano driver. Recently he has added this option in the beta channel.
Please let me know if you are interested
Yes please share it - I’m not sure how much time I’m going to have for working on this ( and I’m not sure if we are talking at cross purposes)
But let’s take a look I know @k.v.riel is interested in this too
@veonua,
I publish the driver in the shared channel in case I need it?
If you have improved it, post yours
Driver Publised in shared channel
Zigbee Light Multifunction Group
all you need to do is to add a number section to the preferences and handle it like
this is the code for remotes I own: Styrbar and UpDown button from Ikea.
don’t forget to include utils from
However, it might be enough to display the group number to the user
Thanks @Mariano_Colmenarejo
I’ll have a go at getting this working tomorrow.
Is the driver that supports the group available in your GitHub anywhere? I wanted to check what devices it supports to make sure I have some that are compatible.
Thank you
in this post is the list of devices
I have now added support for zigbee groups - this should be considered experimental
Only on,off and dimming seems to be working - but it does work
Steps
Thanks to @veonua and @Mariano_Colmenarejo for coaching me through this