W100 as Matter (with M3 Hub) in Homey, HomeKit and HA

W100 and Matter: My Experience Across HomeKit, Home Assistant and Homey Pro

The real cornerstone of the Aqara ecosystem is the Hub M3. Whenever someone asks me how to get started with Aqara, I always recommend buying an M3 first. Unless you are fully committed to Home Assistant or Homey Pro, this small hub unlocks a surprising amount of functionality, especially if you use HomeKit.

For my new W100 thermostat, I chose to switch its firmware to Zigbee for the reasons explained in another post. From there, I let the M3 expose the W100 as a Matter device to the rest of my setup. This gives me the flexibility to use it across several platforms.

Below is what the W100 looks like when shared via the M3 Hub.

1 — HomeKit

The W100 appears automatically in the Home app once the M3 is added. No additional pairing is required. You may need to look in the “Default Room” and move the thermostat to the correct room manually.

HomeKit splits the W100 into two elements:

• A climate tile at the top of the Home app window, showing temperature and humidity.


• A set of switches visible in the room, which can be used for automations or scenes.

HomeKit exposes nine switches (or buttons). They can trigger scenes or basic automation rules involving other HomeKit devices.

But you can’t use them to launch an automation with Apple Shortcuts by exemple.

2 — Home Assistant

The behavior is similar: after integrating the M3, the W100 appears automatically in the Matter section.

In my setup, Home Assistant exposes only three buttons instead of nine. I do not know why this difference exists. Home Assistant also displays the temperature, humidity, battery level and even the battery type.

One useful feature that appears to be missing is the trend indicator. Some thermostats provide it in Home Assistant, and it is convenient for quick diagnostics.

W100 exposes the following triggers in Home Assistant:

• 1 temperature trigger
• 1 humidity trigger
• 6 “Identify pressed” triggers
• 1 battery level trigger
• 1 battery voltage trigger
• 3 “switch position” triggers

That gives a total of 12 triggers, with several clear duplicates due to how Matter endpoints are exposed in Home Assistant.

The available actions feel more limited than expected. Identifying which button maps to which function can be difficult, and only four buttons appear operational. This may be related to the current ZHA/Matter implementation and how it interprets the device’s capabilities. I cannot confirm.

3 — Homey Pro

Homey does not recognize the W100 natively at the moment. With the Matter integration provided by the M3 Hub, Homey detects it as a generic “remote”-type device but still reports accurate temperature and humidity.

The good news is that Homey offers more automation options than HomeKit, with a wide set of triggers and actions available in Advanced Flows.

This action let you automate the first 3 buttons.

The one let you use 3 times (press) the same button.

List of all actions in Homey:

Temperature (triggers)

• Temperature has changed
• Temperature becomes higher than X °C
• Temperature becomes lower than X °C
• Temperature stays higher than X °C for a duration
• Temperature stays lower than X °C for a duration


Humidity (triggers)

• Humidity has changed
• Humidity becomes higher than X %
• Humidity becomes lower than X %
• Humidity stays higher than X % for a duration
• Humidity stays lower than X % for a duration


Battery (triggers)

• Battery becomes higher than X %
• Battery becomes lower than X %
• Battery level has changed
• Battery stays higher than X % for a duration
• Battery stays lower than X % for a duration


Buttons (triggers)

(The W100 exposes multiple “virtual buttons” to Homey through Matter via the M3 Hub.)

• Button was pressed
• Button was long-pressed
• Button was held and then released
• Click on Button
• Button was pressed X times

If you’re juggling several platforms, using the M3 Hub as a Matter bridge is currently the most reliable way to make the W100 usable everywhere. It’s not perfect, but it works consistently enough to build automations across your preferred ecosystem.

Hope this helps :wink:

1 Like

Hi, thank you for such a creative, extensive description.
It will be useful for users before purchasing to convince them of the feasibility of having the W100 in their smart home.

Correct, there are just three buttons that can be pressed in different ways.
You must consider the “event types” (on the right side of the image / Rightmost column “Attributes”).

  • multi_press_1: Button pressed once.
  • multi_press_2: button pressed twice.
  • long_press: the button is pressed and held.
  • long_release = button released after being pressed and held.

How it works with automations:

And here is the YAML for pressing the button once to turn a lamp on and off:

alias: Lights on/off
description: ""
triggers:
  - trigger: state
    entity_id:
      - event.aqara_climate_sensor_w100_button_2
conditions:
  - condition: state
    entity_id: event.aqara_climate_sensor_w100_button_2
    attribute: event_type
    state: multi_press_1
actions:
  - type: toggle
    device_id: ...
    entity_id: ...
    domain: light
mode: single

You forgot the battery type. And for me, there are 5 “Identify” Entities. That makes a total of 13 Entities. Only the “Identify” Entities are duplicates. However, you can also hide or disable them.

3 Likes

Thanks for the update; it’s very interesting.

2 Likes