Controllerx: Aqara WXKG11LM - compatibility for both variants

Created on 4 Jan 2021  路  6Comments  路  Source: xaviml/controllerx

First of all: thanks for your great work, Xavi!

Bug report

Description

The Aqara WXKG11LM exists in two variants - type "lumi.remote.b1acn01" (issuing the actions: single, double, hold, release) and type "lumi.sensor_switch.aq2" (issuing the actions: single, double, triple, quad). See also: https://zigbee.blakadder.com/Xiaomi_WXKG11LM.html

Currently, support for WXKG11LM by controllerx seems to be mixed up, somehow. When using z2m oder deconz crontrollerx listens to the action types single, double, hold, release whereas when using zha it listens to single, double, triple, quad. However, this does not depend on the integration used, but on the device variant (type "lumi.remote.b1acn01" vs. "lumi.sensor_switch.aq2").

Additional information

  • Devices involved:

    • Model: Aqara WXKG11LM (type "lumi.remote.b1acn01") as Light Controller

  • Integration: zha
  • AppDaemon version: v4.0.5
  • ControllerX version: v4.3.0
  • HACS version: v1.9.0
  • Home Assistant Core version: v2020.12.2

AppDaemon app configuration

licht_arbeitszimmer_regeln:
  module: controllerx
  class: WXKG11LMLightController
  controller: 00:15:8d:00:04:01:97:3d
  integration: zha
  light: light.arbeitszimmer

Works well for single and double, but not for triple or quad (cause not issued by button) nor for hold or release (cause not supported by controllerx when using zha)

Additional Context

Zigbee signature of WXKG11LM type "lumi.remote.b1acn01":

{
  "node_descriptor": "NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4151, maximum_buffer_size=127, maximum_incoming_transfer_size=100, server_mask=0, maximum_outgoing_transfer_size=100, descriptor_capability_field=0)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0006",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0012"
      ],
      "out_clusters": [
        "0x0000"
      ]
    }
  },
  "manufacturer": "LUMI",
  "model": "lumi.remote.b1acn01",
  "class": "zhaquirks.xiaomi.aqara.sensor_switch_aq3.SwitchAQ3B"
}

Event for single click

{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "00:15:8d:00:04:01:97:3d",
        "unique_id": "00:15:8d:00:04:01:97:3d:1:0x0012",
        "device_id": "928dc4dd0d0e2fecd23751873ea07914",
        "endpoint_id": 1,
        "cluster_id": 18,
        "command": "single",
        "args": {
            "value": 1
        }
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-04T11:24:51.008939+00:00",
    "context": {
        "id": "a4fa77dc2cae7bcfa464df07b226e510",
        "parent_id": null,
        "user_id": null
    }
}

Event for double click

{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "00:15:8d:00:04:01:97:3d",
        "unique_id": "00:15:8d:00:04:01:97:3d:1:0x0012",
        "device_id": "928dc4dd0d0e2fecd23751873ea07914",
        "endpoint_id": 1,
        "cluster_id": 18,
        "command": "double",
        "args": {
            "value": 2
        }
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-04T11:26:09.726382+00:00",
    "context": {
        "id": "a4a049f6459d27a49a64313b7d372f1f",
        "parent_id": null,
        "user_id": null
    }
}

Event for hold

{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "00:15:8d:00:04:01:97:3d",
        "unique_id": "00:15:8d:00:04:01:97:3d:1:0x0012",
        "device_id": "928dc4dd0d0e2fecd23751873ea07914",
        "endpoint_id": 1,
        "cluster_id": 18,
        "command": "hold",
        "args": {
            "value": 0
        }
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-04T11:26:35.007756+00:00",
    "context": {
        "id": "fb4e851e2d32ea5d98df29abc2d9a0cd",
        "parent_id": null,
        "user_id": null
    }
}

Event for release

{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "00:15:8d:00:04:01:97:3d",
        "unique_id": "00:15:8d:00:04:01:97:3d:1:0x0012",
        "device_id": "928dc4dd0d0e2fecd23751873ea07914",
        "endpoint_id": 1,
        "cluster_id": 18,
        "command": "release",
        "args": {
            "value": 255
        }
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-04T11:26:36.045329+00:00",
    "context": {
        "id": "ff1df1b5926e2761cd09cb22280ce502",
        "parent_id": null,
        "user_id": null
    }
}
bug

All 6 comments

Hi @D-ominik,

Thank you for the detailed explanation. I was not aware of these 2 models for this controller. I will change the name of the controller and add another one for lumi.sensor_switch.aq2. This way we will have 2 separate controllers for the same device.

Regards,
Xavi M.

Thanks Xavi, sounds great to me

I have fixed this in the dev branch. I removed the WXKG11LMLightController class and I split it into 2 classes:

  • WXKG11LMRemoteLightController
  • WXKG11LMSensorSwitchLightController

Then, I added support to the ZHA for WXKG11LMRemoteLightController (the model with hold and release).

I will release this later in the day.

Regards,
Xavi M.

Hi @D-ominik,

I released v4.4.0b0, could you try out the WXKG11LMRemoteLightController with your controller and report back if you find any problems?

Regards,
Xavi M.

Hi Xavi,

works perfect, thanks a lot

Best wishes,
Dominik

This is now available on ControllerX v4.4.0.

Was this page helpful?
0 / 5 - 0 ratings