Two Identical Third Reality 3RSB22BZ Smart Buttons. Only one gets the correct Quirk

Hey there folks. I purchased two identical Third Reality 3RSB22BZ Smart Buttons. Both seemingly pair up to my Zigbee Coordinator without issue. However one (lets call it Smart Button 1) isn’t being detected properly and seems to have an “opening” and “closed” state, like it was a door sensor. Here is the Zigbee Signature

{
  "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": 4659,
    "maximum_buffer_size": 66,
    "maximum_incoming_transfer_size": 66,
    "server_mask": 10752,
    "maximum_outgoing_transfer_size": 66,
    "descriptor_capability_field": 0
  },
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0402",
      "input_clusters": [
        "0x0000",
        "0x0001",
        "0x0500"
      ],
      "output_clusters": [
        "0x0019"
      ]
    }
  },
  "manufacturer": "Third Reality, Inc",
  "model": "3RSB22BZ",
  "class": "zigpy.device.Device"
}

The second one, lets call it Smart Button 2, is responding correctly with the expected events being sent. Here is it’s Zigbee Signature

{
  "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": 4659,
    "maximum_buffer_size": 66,
    "maximum_incoming_transfer_size": 66,
    "server_mask": 10752,
    "maximum_outgoing_transfer_size": 66,
    "descriptor_capability_field": 0
  },
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0006",
      "input_clusters": [
        "0x0000",
        "0x0001",
        "0x0012"
      ],
      "output_clusters": [
        "0x0006",
        "0x0008",
        "0x0019"
      ]
    }
  },
  "manufacturer": "Third Reality, Inc",
  "model": "3RSB22BZ",
  "class": "zhaquirks.thirdreality.button.Button"
}

As you can see, the second one is getting the class “zhaquirks.thirdreality.button.Button”. I’ve tried overriding the first one’s device type in my configuration.yaml like so

zha:
  device_config:
    IEEE-1:
      type: "button"

but that doesn’t work. I’ve also tried deleting it and readding it, updating the firmware, reconfiguring it. Nothing. So now I turn to you my friends. What I’m ultimately wondering how to do is to force/override ZHA into giving Button 1 the same Device Type and Class (and Quirk) as Button 2.

Thank you!

1 Like

Having the same problem.
Working button:

{
  "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": 4659,
    "maximum_buffer_size": 66,
    "maximum_incoming_transfer_size": 66,
    "server_mask": 10752,
    "maximum_outgoing_transfer_size": 66,
    "descriptor_capability_field": 0
  },
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0006",
      "input_clusters": [
        "0x0000",
        "0x0001",
        "0x0012"
      ],
      "output_clusters": [
        "0x0006",
        "0x0008",
        "0x0019"
      ]
    }
  },
  "manufacturer": "Third Reality, Inc",
  "model": "3RSB22BZ",
  "class": "zhaquirks.thirdreality.button.Button"
}

Not working button:

{
  "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": 4659,
    "maximum_buffer_size": 66,
    "maximum_incoming_transfer_size": 66,
    "server_mask": 10752,
    "maximum_outgoing_transfer_size": 66,
    "descriptor_capability_field": 0
  },
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0402",
      "input_clusters": [
        "0x0000",
        "0x0001",
        "0x0500"
      ],
      "output_clusters": [
        "0x0019"
      ]
    }
  },
  "manufacturer": "Third Reality, Inc",
  "model": "3RSB22BZ",
  "class": "zigpy.device.Device"
}

I tried re-adding the button to ZHA, I tried re-configuring a lot, also not working.

The firmware is the same: 0x00000023

So I’m not really helping, but just confirming you’re not alone.

1 Like

Out of curiosity, did you also buy them at the same time?

I bought them, as a 3-pack, on December 2nd, at Amazon NL and the red one is causing problems.
I bought them here: https://www.amazon.nl/dp/B09ZQQX3HC

So I haven’t found a solution, but I did figure out a work around for my use case. If you want to emulate the single button press, trigger on the transition to the “closed” state.