Sensor / termostato Aqara W100 Sensor de temperatura y humedad Zigbee Matter Thread

Para probar el código del botón, crearé una nueva escena sin activador.
Luego pones un Obtener estado del botón +.
Y envías el resultado a Telegram.

Antes de ejecutar manualmente la escena, haces clic en tu botón +, lo lanzas, y miras lo que Telegram te da, eso podría ayudar a encontrar el código/presión correcto.

No funciona.

Los valores los tengo en zigbee2MQTT
Clic simple
Captura de pantalla del 2025-05-23 23-03-59
Captura de pantalla del 2025-05-23 23-04-35
Captura de pantalla del 2025-05-23 23-05-18

Doble clic
Captura de pantalla del 2025-05-23 23-05-47
Captura de pantalla del 2025-05-23 23-06-15
Captura de pantalla del 2025-05-23 23-06-44

Presionar clic largo
Captura de pantalla del 2025-05-23 23-18-48
Captura de pantalla del 2025-05-23 23-19-51
Captura de pantalla del 2025-05-23 23-08-34

Soltar clic largo
Captura de pantalla del 2025-05-23 23-09-05
Captura de pantalla del 2025-05-23 23-09-59
Captura de pantalla del 2025-05-23 23-10-32

Aunque los botones del W100 no funcionen, intento avanzar y hacer que muestre el valor de mi termostato ficticio en él.

Según www.domo-blog.fr debería poner este código

- action: mqtt.publish
    metadata: {}
    data:
      payload: >-
        {

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

Pero no veo dónde ni cómo ponerlo.
También se menciona en Jeedom, una vez más, no veo cómo hacerlo con Gladys.

Este código es para Home Assistant, si no me equivoco, por lo que no es útil para Gladys.

He recuperado esto de la documentación del W100 en 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`.

En mi opinión, debería usar la acción Enviar un mensaje ZIGBEE2MQTT, poner el tema adecuado y el valor que desees.
El tema sería algo como: zigbee2mqtt/ref-temperature-sb-chambre-6/set
y el valor: {"external_temperature": 26}
o bien: zigbee2mqtt/ref-temperature-sb-chambre-6/set/external_temperature
y valor: 26
Pero ahí me quedo sin ideas porque no soy desarrollador :frowning:

O bien hacer una Solicitud HTTP, con un POST (imagino, pero no estoy seguro) y el comando http adecuado (y lo mismo, ahí me quedo sin ideas).

Para verificar que el comando/valor MQTT es correcto, uso MQTT Explorer para macOS.

Y si pasa por aquí algún desarrollador para ayudar, sería genial.

¡Sí, es eso! Hay que usar la acción « Enviar un mensaje Zigbee2mqtt »:

2 Me gusta

Gracias por el vídeo @bjm, es mucho más concreto en vídeo :smiley:

Veo que los botones funcionan con la 4.59, es genial.

No dudes en preguntar si tienes más preguntas

¡la mejor vídeo! Pensé hasta el final que íbamos a ver el 24 en el W100 :sweat_smile:

@pierre-gilles veo en el vídeo de @bjm que la temperatura del módulo es de 81.2, por lo que en Fahrenheit y sin unidad.

Sí, lo hablamos en otro tema: Valeur Fahrenheit parfois affichée sur le tableau de bord sans conversion :slight_smile:

sí, lo sé, por eso lo mencioné :wink: pero se me olvidó que también era @bjm :stuck_out_tongue_winking_eye:

No se muestra el 24 porque aún no funciona, pero creo que estamos cerca.
Aquí está mi escena:

Enviar valor de temperatura de referencia a W100

Disparador cuando el valor de referencia se modifica después de presionar el botón PLUS del W100 (modificación realizada por la escena posterior 38)

Recupero el nuevo valor de referencia

Verificación, me lo envío por Telegram

Y envío este valor al thermo-radiateur-sb-chambre-6, que es el nombre que le he dado al W100 en Zigbee2MQTT

Hacia > Tema

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

Valor enviado para external_temperature

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

Pero no se muestra nada en el W100

Empieza a ser una lista bastante larga, incluso estuve a punto de preguntarte cómo lo habías llamado, no lo encontraba, quizá deberíamos encontrar una manera de facilitar la búsqueda.

¡No estás usando la acción correcta! Debes usar « Enviar mensaje Zigbee2mqtt » :slight_smile:

Lo más sencillo es mostrar en el panel de control la funcionalidad, y ver el nombre que muestra cuando se pulsa :slight_smile:

Modificado pero sigue sin funcionar

¡Fue mi culpa en este caso (no lo sabía)!
Modifico mi mensaje por si alguien pasa por aquí :wink:

Por cierto, puedes probar primero:
Enviar un mensaje zigbee2mqtt
Tema: zigbee2mqtt/thermo-radiateur-sb-chambre-6/set/external-temperature
Mensaje: 38

y luego, si ha funcionado:
Enviar un mensaje zigbee2mqtt
Tema: zigbee2mqtt/thermo-radiateur-sb-chambre-6/set/external-temperature
Mensaje: {{ 1.1 ref-temperature........-6 }}

@pierre-gilles, ¿funciona la evaluación de variables en Enviar un mensaje Zigbee2mqtt?

Aquí está el mensaje de error recuperado del registro de zigbee2MQTT

2025-05-26 21:08:10z2m: No hay conversor disponible para 'external-temperature' en 'thermo-radiateur-sb-chambre-6': (38)

prueba con "38"
y luego con { 38 }
y finalmente con { "38" }

Uno de ellos debería funcionar :crossed_fingers:

Lo había escrito mal
era

external_temperature

ahora ya no da error.
He probado tus 3 propuestas, pero en el W100 sigue sin funcionar

¿Lo has vuelto a probar con solo 38?

sí
Incluso lo intenté

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

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

Encontré esto, no sé si puede ayudar.