IKEA Tradfri Button -- help needed (DTH in post 36)

So 1 button press gives you 4 lines - then subsequent button presses don’t respond with anything?

Its 3 lines
This is one button press (Middle)

e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:18:27: debug Parse returned Ikea Button received 'catchall: 0104 0001 01 01 0140 00 F180 00 00 0000 07 01 00'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:18:27: debug Parse returned Ikea Button received 'catchall: 0104 0001 01 01 0140 00 F180 00 00 0000 07 01 00'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:18:27: debug Parsing: catchall: 0104 0001 01 01 0140 00 F180 00 00 0000 07 01 00
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:18:26: debug Parse returned Ikea Button received 'catchall: 0000 8021 00 00 0040 00 F180 00 00 0000 00 00 0300'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:18:26: debug Parse returned Ikea Button received 'catchall: 0000 8021 00 00 0040 00 F180 00 00 0000 00 00 0300'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:18:26: debug Parsing: catchall: 0000 8021 00 00 0040 00 F180 00 00 0000 00 00 0300
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:18:25: debug Parse returned Ikea Button received 'catchall: 0104 0500 01 01 0140 00 F180 00 00 0000 04 01 861000'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:18:25: debug Parse returned Ikea Button received 'catchall: 0104 0500 01 01 0140 00 F180 00 00 0000 04 01 861000'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:18:25: debug Parsing: catchall: 0104 0500 01 01 0140 00 F180 00 00 0000 04 01 861000

Then nothing till I press configure then middle button again

e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:20:37: debug Parse returned Ikea Button received 'catchall: 0104 0001 01 01 0140 00 F180 00 00 0000 07 01 00'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:20:37: debug Parse returned Ikea Button received 'catchall: 0104 0001 01 01 0140 00 F180 00 00 0000 07 01 00'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:20:37: debug Parsing: catchall: 0104 0001 01 01 0140 00 F180 00 00 0000 07 01 00
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:20:37: debug Parse returned Ikea Button received 'catchall: 0000 8021 00 00 0040 00 F180 00 00 0000 00 00 0400'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:20:37: debug Parse returned Ikea Button received 'catchall: 0000 8021 00 00 0040 00 F180 00 00 0000 00 00 0400'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:20:37: debug Parsing: catchall: 0000 8021 00 00 0040 00 F180 00 00 0000 00 00 0400
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:20:36: debug Parse returned Ikea Button received 'catchall: 0104 0500 01 01 0140 00 F180 00 00 0000 04 01 861000'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:20:36: debug Parse returned Ikea Button received 'catchall: 0104 0500 01 01 0140 00 F180 00 00 0000 04 01 861000'
e037dbdf-f319-4cd0-a1d0-b86b1512c1a5  19:20:36: debug Parsing: catchall: 0104 0500 01 01 0140 00 F180 00 00 0000 04 01 861000

@tmleafs
Still working on this too, haven;t had any time lately though. I am seeing the same thing as you in my logs.

I have bought one of these remotes in the hope that someone will be able to figure it all out, too!

Since I tried pairing it with my system and couldn’t do anything with it, I reset one of the lights and had a mess with the remote using that.

I noticed that pressing left and right always ends up doing one of the ‘scenes’ (like in hue, where it changes the warmth of the light) in a set order. Also, pressing up and down would do nothing if the light was already at the brightest or dimmest. I’m wondering if the remote has some communication with the light to pre-determine the brightness level, or current scene, which is why we can’t get much to happen with the remote when you’re looking at the logs?

Anyway, thanks for the hard work thus far, and here’s hoping we can get it working over time.

Looking at the code - I was trying to get it do the check that I’ve read elsewhere to do the check of the endpoints that it supports. So far, I’m failing miserably - the joys of a very steep learning curve!

So, taking the device handler that JamieTheGoalie had posted, I tried using one of the other buttons rather than the middle one.

I pressed configure, then the left arrow button on the remote - then repeated the procedure to see what I got.
I found I got two commands, the same as others had said…

'catchall: 0000 8021 00 00 0040 00 AF37 00 00 0000 00 00 1500'
This type of line looks the same, but with an escalating number at the end - 1500, 1600, 1700, 1800, 1900, 1a00, etc.

'catchall: 0104 0000 01 01 0140 00 AF37 00 00 0000 07 01 8D000000'
This type of line stays the same every time.

I then repeated with the right arrow button and got the same - escalating numbers and the same second line.

Looking at 0x8021 in the Zigbee specs, it looks like a Bind Command has been issued by the Device Handler, and then the button being pressed is the response from the device.

Here’s the link to the spec I found the info in, and then follows a copy/paste of the info:
Zigbee Specifications Link (external)

2.4.4.2.2 Bind_rsp

The Bind_rsp command (ClusterID=0x8021) shall be formatted as illustrated in Figure 2.84.

Octets: 1
Status

Figure 2.84 Format of the Bind_rsp Command Frame

Table 2.112 specifies the fields of the Bind_rsp command frame.

Table 2.112 Fields of the Bind_rsp Command

Name
Status

Type
Integer

Valid Range
SUCCESS,
NOT_SUPPORTED,
INVALID_EP,
TABLE_FULL or
NOT_AUTHORIZED

Description
The status of the Bind_req command.

2.4.4.2.2.1 When Generated

The Bind_rsp is generated in response to a Bind_req. If the Bind_req is processed
and the Binding Table entry committed on the Remote Device, a Status of
SUCCESS is returned. If the Remote Device is not a Primary binding table cache
or the SrcAddress, a Status of NOT_SUPPORTED is returned. The supplied
endpoint shall be checked to determine whether it falls within the specified range.
If it does not, a Status of INVALID_EP shall be returned. If the Remote Device is
the Primary binding table cache or SrcAddress but does not have Binding Table
resources for the request, a Status of TABLE_FULL is returned.

2.4.4.2.2.2 Effect on Receipt

Upon receipt, error checking is performed on the request as described in the
previous section. Assuming the Status is SUCCESS, the parameters from the
Bind_req are entered into the Binding Table at the Remote Device via the
APSME-BIND.request primitive.

----------- END OF COPY -----------

So, what I think is happening is that the device is trying to run the binding process, then failing, and not sending any further data over the network because it’s not successfully binding.

I read something about this the other day, and I thought I’d saved some pages about that, but can’t seem to find them today - will keep a good eye out for them as I trawl through my findings again.

Hope this stuff helps you guys too.

Over on the Light Device handler information page, a fantastic primer has been posted by @SmartHomePrimer:

From what I’ve been reading, that suggests that the device is joining the same Zigbee network, and then being used as a secondary controller (I think that’s the right Zigbee terminology). At the moment, I am waiting for the electrics in the bathroom to be sorted out (they’re MR16 not GU10), so can’t test what happens after - but I am wondering if the hub will see the commands that are sent to the lights or not, seeing as it would now be bound to the lights directly. If the hub can see the commands, you might get a much better idea of what’s going on!

2 Likes

Indeed you can. I didn’t mention in that post, but if you have the SmartThings app open, you can see the dimming slider moving as you rotate the dimmer or adjust dimming with the remote. You can also see the state change to OFF when you turn the dimmer all the way down, toggle with the remote or the motion sensor turns off the bulb(s).

However, the UI does not seem to be accurate where multiple bulbs are concerned, but if one were linked to the other(s) that might not matter.

1 Like

I also bought one of these last weekend and I’m attempting to get this working with ST. Here are my finding so far.

I have repurposed some ST code from Github for a dimmer but it doesn’t seem to be sending button presses. Each time I press a button, it sends the read attr command with the battery level. It will do this the first button press, but then not on any other for about a minute. Then the next button press, it will send it’s battery level again. I doesn’t seem to actually send any data for the actual button press.

Below is the code I am using if anyone else wants to experiment. I’m new to ZigBee/ST development, but I don’t see a device even sending a command for ST to interpret when pressing buttons, so don’t know what I could possibly do to handle it.

Some thoughts on where to look next in case it jogs someone else memory:

  1. Is it not sending/receiving button presses because of a missing capability being declared?
  2. Has it been paired full with the base station?

Log entry when pressing button:
cd078d87-5704-4c1a-b073-5ec2dcbd3390 09:00:15: debug Parse returned [name:battery, value:100, descriptionText:5 Button Remote battery was 100%]
cd078d87-5704-4c1a-b073-5ec2dcbd3390 09:00:15: debug Battery
cd078d87-5704-4c1a-b073-5ec2dcbd3390 09:00:15: debug description is read attr - raw: 6BF0010001082000201E, dni: 6BF0, endpoint: 01, cluster: 0001, size: 08, attrId: 0020, encoding: 20, value: 1e
cd078d87-5704-4c1a-b073-5ec2dcbd3390 08:58:58: debug Parse returned [name:battery, value:100, descriptionText:5 Button Remote battery was 100%]
cd078d87-5704-4c1a-b073-5ec2dcbd3390 08:58:58: debug Battery
cd078d87-5704-4c1a-b073-5ec2dcbd3390 08:58:58: debug description is read attr - raw: 6BF0010001082000201E, dni: 6BF0, endpoint: 01, cluster: 0001, size: 08, attrId: 0020, encoding: 20, value: 1e

2 Likes

I believe we need to send a command to it to make it believe a bulb is connected to it or complete the join

1 Like

This might help someone

http://www.zigbee.org/zigbee-products-2/#zigbeecertifiedproducts/?view_30_search=IKEA&view_30_page=1

I just bought a 5 button remote and was able to pair it, and used your DH code. It reads the battery level, but that’s about it. Looking forward to updates from all of you people who are much smarter than I!

I’m just curious if anyone has gotten any further with this? These little remotes look perfect for a number of uses, and it would be awesome to be able to read the button presses like any other remote.

I can’t find where I read it but I read about a week ago a guy who has it working.
I remember him saying the only way he could get it to work is by adding it as I thing but then leaving it like that and said as soon as he adds it as a device with a handler it wouldn’t work but would if left as a thing.
Sorry can’t confirm it though just remember reading it.

Hi there, almost the same for me :

  • I managed to pair the remote (5 buttons)
  • ST app only gives the battery level
  • On/Off button works
  • Dimmer buttons (with the :sun_with_face: icons) work
  • but temperature buttons (with > and < signs) won’t work

@RichMercer wold you be willing to help finishing your DH ?
Thanks a lot

Hi people,
a lot of us have buyed Tradfri Ikea kit (RGB bulb & Remote) for 29.90€: it is VERY easy to pair (and use) ikea bulbs with ST but at the moment there is no Device Handler for remote.
If you have buyed 5 ikea Tradfri RGB bulbs … you have 5 not working remotes :frowning:
These links could help to develop a working DH for remote:


Good luck!

1 Like

Who needs a remote sent to them to get this DH working? Willing to part with one of mine for the cause!

The problem is that the device connects directly to the lights, and considers the connection to the SmartThings hub as a secondary controller that it is aware of, but that it doesn’t talk to. There’s not a lot you can do about the architecture of the device - even when it’s connected via the Tradfri hub, it doesn’t control anything via the hub - it just talks directly to the lights.

The only question I’m left with is why the puck can’t control the temperature of the lights when you feel like it aught to be able to?

1 Like

hi all , ok this is my first post into the world of smartthings, I have been looking at a lot of the trends regarding connecting smart devices together. I have a lot of the Ikea bulbs, 5 remotes and a motion sensor, as well as the smartthings starter kit, the reason for this post is all to do with the ikea remote, the key statment smartthings makes things easier, so what is the purpose of the remote, to control a bulb or a series of bulbs, if you have your house fitted with Ikea bulbs this is great, this is what you need to do (or what i have done). I have 3 hubs, Amazon Echo plus (voice activation), Ikea gateway (only purpose is to update your ikea bulbs useless for anything else) and the brains Samsung SmartThings Hub. You can connect the remote to the ST Hub as a thing as there isn’t a viable DH yet it is pretty useless, however the question is why do you need to connect the remote to ST hub, its a remote, it turns things on and off, brighten and dims, why does your ST hub need to see it, answer it doesnt unless you want to attach other brands of Zigbee bulbs to it. So this is how it works, connect all your bulbs from Ikea to the ST hub, then attach them to the Echo plus, no you have control. Reset your remote 4 press on the sync button. then simple sync it to each bulb you want to control. This doesn’t reset the bulbs connection with the ST Hub, so now you have 3 methods of controlling your smart lighting, voice from your echo devices, from your phone, tablet etc and remote.

Good news for those of you who have a Hue bridge-- as long as the remotes have the most current firmware, they now meet the ZLL standard and can be added to the hue bridge! :sunglasses: :level_slider::bulb: This is new as of early November 2017. The following video shows you exactly how to do this.

This should also mean that if you start from scratch and now try to write a device type handler for a remote that has the updated firmware, everything should go much more smoothly as it now issues standard command responses. But again, you will have to first update the remote’s firmware to the most current version, which you can only do with the IKEA Gateway.

The reason you were having so many problems before is that these devices were not using the ZLL standard, they had some proprietary stuff which was throwing everything off. That was corrected in order to get them to work with the hue bridge, but it benefits any third party integration. :sunglasses:

That’s nice, but can it be used properly with smartthings?