Aqara W100 sensor/thermostat — temperature and humidity sensor Zigbee Matter Thread

To test the button code, I will create a new scene without a trigger.
Then you add a Get state of the + button.
And you send the result to Telegram.

Before manually running the scene, you click your + button,

That doesn’t do anything.

I have the values in zigbee2MQTT
Single Click
Capture d’écran du 2025-05-23 23-03-59
Capture d’écran du 2025-05-23 23-04-35
Capture d’écran du 2025-05-23 23-05-18

Double Click
Capture d’écran du 2025-05-23 23-05-47
Capture d’écran du 2025-05-23 23-06-15
Capture d’écran du 2025-05-23 23-06-44

Long Press
Capture d’écran du 2025-05-23 23-18-48
Capture d’écran du 2025-05-23 23-19-51
Capture d’écran du 2025-05-23 23-08-34

Long Press Release
Capture d’écran du 2025-05-23 23-09-05
Capture d’écran du 2025-05-23 23-09-59
Capture d’écran du 2025-05-23 23-10-32

Even though the W100’s buttons don’t work, I’m trying to move forward and get it to display the value of my fictitious thermostat on it.

D’après www.domo-blog.fr il faudrait que je mette se code

- action: mqtt.publish
    metadata: {}
    data:
      payload: \u003e-
        {

        "external_temperature": {{
        states('sensor.ref-temperature-sb-chambre-6') | float(0) }} }
      topic: zigbee2mqtt/w100/set

But I don’t see where or how to put it.
Il en est également question sur Jeedom encore une fois, je ne vois pas comment faire cela avec Gladys.

This code is for Home Assistant if I’m not mistaken, so it’s useless for Gladys.

I got this from the W100 docs on z2m:

External temperature (numeric)
Value for external temperature sensor.
Value can be found in the published state on the `external_temperature` property.
It's not possible to read (`/get`) this value.
To write (`/set`) a value publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{\"external_temperature\": NEW_VALUE}`. The minimal value is `-100` and the maximum value is `100`. The unit of this value is `°C`.

In my opinion, you should use the action Envoyer un message ZIGBEE2MQTT, set the appropriate topic and the value you want.
The topic would be something like: zigbee2mqtt/ref-temperature-sb-chambre-6/set
and the value: {\"external_temperature\": 26}
or: zigbee2mqtt/ref-temperature-sb-chambre-6/set/external_temperature
and value: 26
But here I’m out of my depth because I’m not a dev :frowning:

Or make an HTTP request, with a POST (I guess but I’m not sure) and the appropriate http command (and again, I’m stuck there).

To check that the MQTT command/value is correct, I use MQTT Explorer for macOS.

And if a dev happens to be around to help, that would be great.

That’s right, you need to use the « Send a Zigbee2mqtt message » action:

https://youtube.com/shorts/2XxX3n8PjYg?feature=share

2 Likes

Thanks for the video @bjm, it’s much clearer in the video :smiley:

I see that the buttons work with 4.59, that’s great.

Don’t hesitate if you have any other questions

Great video! I honestly thought until the end we’d see 24 show up on the

Yes we’re talking about it in another thread: Valeur Fahrenheit parfois affichée sur le tableau de bord sans conversion :slight_smile:

yes I know, that’s why I pointed it out :wink: but I’d forgotten it was @bjm too :stuck_out_tongue_winking_eye:

1 Like

No, we don’t see the 24 appear because it still doesn’t work; we must not be far off.
Here is my scene:

Sending reference temperature value to W100

Trigger when the reference value is changed after pressing the PLUS button on the W100 (change made by scene post 38)

I retrieve the new reference value

For verification I send it to myself via Telegram

And I send this value to thermo-radiateur-sb-chambre-6, which is the name I gave to the W100 in Zigbee2MQTT

To > Topic

zigbee2mqtt/thermo-radiateur-sb-chambre-6/set

Value sent for external_temperature

{"external_temperature": 
1.1. ref-temperature-sb-chambre-6 (ref-temperature-sb-chambre-6)
 }

But this doesn’t display anything on the W100

That’s starting to make quite a list, I even almost asked you what you had named it, I couldn’t find it, maybe we should find a way to make searching easier.

You aren’t using the right action! You need to use « Send a Zigbee2mqtt message » :slight_smile:

The simplest is to show the feature on the dashboard, and see the name it displays when it’s pressed :slight_smile:

Edited but still nothing

[quote=« mutmut, post:45, topic:9500 »]
In my opinion, you should

Here is the Error message retrieved from the zigbee2MQTT log

2025-05-26 21:08:10z2m: No converter available for 'external-temperature' on 'thermo-radiateur-sb-chambre-6': (38)

so test with \"38\"
and then with { 38 }
then with { \"38\" }

One of them should work :crossed_fingers:

I had written it wrong
it’s

external_temperature

now it no longer returns an error.
I tested your three proposals still nothing on the W100

Did you retest with just 38?

yes
I even tried

zigbee2mqtt/thermo-radiateur-sb-chambre-6/set/external_temperature/

zigbee2mqtt/thermo-radiateur-sb-chambre-6/set/{external_temperature}/

I found this, I don’t know if this can help.