IKEA Bilresa 2 Button Remote pairs with ZHA

ok, so most likely there isn’t more information sent over Zigbee.

That’s sadly a little bit limitating, as you get an value update on each rotation “click” as long as you’re within the the limits.
But if you’re at the end of the value scala, you will only get a repeated end-value ever second or so (regardless how fast you rotate the wheel).

So even if you use some tricky logic to detect rotations after hitting the end of the value range, it will feel different to the user.

As long as you’re ok to map your end device directly to the selected value that might be fine.
But I wanted to use it for music volume.
If someone lowers the volume to let’s say 10% using the mobile phone and later turns louder on the the ikea device that was set to 70% the last time it was used:
Might be shocking to go from 10% to something around 80% in a single click. :wink:

So I might have to use the trick described above, which will lead to very fast volume chances while the device is within the value range, but very slow changes ones you reached the end (which the end user isn’t aware of, as he won’t see this value anywhere).

Not sure if this also happens on Matter, or if this is caused by the not-so-polished (as not advertised) Zigbee implementation.

The Lutron Aurora dial also stores the value on the device. Tracking the events and using templates can work around the limitation.

A quirk could also do this, by tracking consecutive values of the dial rotation. This is similar to what I did for the hold up and hold down events on the 2 button remote quirk.

High value to low value would be down. Min value to min value would also be down. Low value to high value and max value to max value would be up. Importantly, I don’t think this is how the quirk would be implemented, since it is not how the device was intended to be used. A template sensor could probably do this, as long as it tracks consecutive move values.

The dial remotes are not available in the US yet, so I can’t try it out.

1 Like

As far as i can see events, it only triggers when you stop rotating, and report final value. It is designed to map the value directly to final device, but of corse programming can do anything.

1 Like

Yes, this is what I’ve done as a first try in Node-Red with the HA events to get it working now.
But like I said above, you get an event for each small rotate step while you’re in the range between the limits. But after that (at the end or the beginning, when rotating further) it looks more like you only get one event about each second.

So this isn’t perfect from the user experience.
But most likely the only way to use it if you don’t want to map it 1 to 1 to the value range.

Can’t speak for ZHA, but the device itself seem to emit further events, but not as fast anymore. At least with Z2M they are visible.

Hello everyone
I am in the same situation as others. I am using Bilresa 2 buttons, ZHA with Sonoff Dongle E with latest firmware.
I am able to pair the button with ZHA

Device 0x77fb (10:35:97:00:00:11:43:68) joined the network
[0x77fb] Requesting 'Node Descriptor'
[0x77fb] Got Node Descriptor: NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4476, maximum_buffer_size=127, maximum_incoming_transfer_size=242, server_mask=11776, maximum_outgoing_transfer_size=242, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)
[0x77fb] Discovering endpoints
[0x77fb] Discovered endpoints: [1]
[0x77fb] Initializing endpoints [<Endpoint id=1 in=[] out=[] status=<Status.NEW: 0>>]
[0x77fb:1] Discovering endpoint information
[0x77fb:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=6, device_version=1, input_clusters=[0, 1, 3, 32], output_clusters=[3, 4, 5, 6, 8, 4096])
[0x77fb] Read model '09B9' and manufacturer 'IKEA of Sweden' from <Endpoint id=1 in=[basic:0x0000, power:0x0001, identify:0x0003, poll_control:0x0020] out=[identify:0x0003, groups:0x0004, scenes:0x0005, on_off:0x0006, level:0x0008, lightlink:0x1000] status=<Status.ZDO_INIT: 1>>
[0x77fb] Discovered basic device information for <Device model='09B9' manuf='IKEA of Sweden' nwk=0x77FB ieee=10:35:97:00:00:11:43:68 is_initialized=True>

But, no event is fired when I pressed buttons. I have also tried with the quirk V2…

Any idea, or any test I could do in order to find why no event can be seen ??

Many thanks
Thibault

EDIT : I have a sonoff dongle E (not P)

Can you share your device signature? I think this is the first zigpy-znp coordinator (and the same one that I use) in this thread that is not seeing events.

You can try the solution in this thread to manually create the group that the Bilresa is using.

Hello

Here is the device signature (I think it’s the same as already posted)

{
  "node_descriptor": {
    "logical_type": 2,
    "complex_descriptor_available": 0,
    "user_descriptor_available": 0,
    "reserved": 0,
    "aps_flags": 0,
    "frequency_band": 8,
    "mac_capability_flags": 128,
    "manufacturer_code": 4476,
    "maximum_buffer_size": 127,
    "maximum_incoming_transfer_size": 242,
    "server_mask": 11776,
    "maximum_outgoing_transfer_size": 242,
    "descriptor_capability_field": 0
  },
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0006",
      "input_clusters": [
        "0x0000",
        "0x0001",
        "0x0003",
        "0x0020"
      ],
      "output_clusters": [
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x1000"
      ]
    }
  },
  "manufacturer": "IKEA of Sweden",
  "model": "09B9",
  "class": "zigpy.quirks.v2.CustomDeviceV2"
}

I made a blueprint for the remote in Z2M.
Link

1 Like

Did you try manually adding the group and adding devices to it?

I have created a group with ID 0x549a, but I don’t know how to add devices in the group (the add device button is disabled, probably because I only have one bilresa button). Any idea ?

I also wanted to try with Z2M, but I’m running HA on a Raspberry Pi 3 only, and Z2M is deprecated on RPi3 (Home Assistant addon | Zigbee2MQTT)

Thanks

I don’t know if you need to specifically add IKEA devices to the group, you could try adding any two devices that are on the list. And then I think you’ll need to restart HA. And possibly repair the remote. It’s a little hazy since there isn’t a definitive answer in that thread.

1 Like

add EFR32MG26 (SLZB-MR4U) to the dataset
ZHA paired, no events

Looks like it is also related to the firmware version on the coordinator:

Same setup, same devices … did you manage to fix it ? I’m on latest firmware on sonoff dongle E, and latest zha in HA.