¿Hay temas estandarizados de MQTT?

7

Soy nuevo en MQTT (y la automatización del hogar en general, estoy mucho más en los sistemas y el lado del desarrollador), flasheé un interruptor WiFi (Sonoff Basic), lo conecté a una instancia de Mosquitto y Home Assistant y hasta ahora todo funciona bien.

Al monitorear el autobús de Mosquitto, veo todo tipo de mensajes, como

tele/hass1/LWT Online
tele/home/room1/switch1/LWT Online
cmnd/home/room1/switch1/POWER OFF

Reconozco home/room1/switch1cuál definí en mi conmutador WiFi, y el conmutador luego envió algunos temas con el prefijo cmnd(¿comando? Eso sería sorprendente ya que nadie manipuló el conmutador) y tele(¿telemetría?). tele/hass1/...es generado por Home Assistant.

¿Existen estándares o prácticas comúnmente aceptadas para los prefijos?

La documentación de MQTT explica cómo se formatean los temas, pero no introduce ninguna estructura (excepto los temas que comienzan con $), por lo que supongo que, en el mejor de los casos, sería una mejor práctica (o práctica).

WoJ
fuente
1
Usted obtiene puntos por no comenzar sus temas con un encabezado /, esto es simplemente incorrecto, ya que agrega un segmento nulo adicional al árbol de temas que no es necesario y hace que sea un poco más difícil usar comodines correctamente.
hardillb

Respuestas:

7

En general, no, no hay estándares para la denominación de temas más allá de las especificaciones MQTT .

Hay muchas opiniones sobre cómo debe construir sus temas MQTT, y no muchas reglas fijas . Si bien esto es un poco inquietante cuando desea saber exactamente cuál es la mejor práctica, la falta de reglas estrictas significa que obtiene mucha flexibilidad con un corredor de MQTT.

A medida que usa Home Assistant, esto reduce un poco las cosas, pero más específicamente, los temas que está viendo son específicos de su conmutador Sonoff. La API se describe en este wiki :

  • Mensaje : cmnd

    • Emitido por : dispositivos que se muestran en el lado derecho

    • Intención : controlar el Sonoff; establecer configuración; pedir estado

  • Mensaje : stat

    • Emitido por : los Sonoffs en el lado izquierdo

    • Intención : informar sobre el estado o el mensaje de configuración

  • Mensaje : tele

    • Emitido por : algunos Sonoffs (como dispositivos de medición de temperatura)

    • Intención : informar información de telemetría no solicitada a intervalos periódicos

El diagrama mencionado está aquí , aunque se ve mejor en la página wiki vinculada anteriormente.

En general , cualquier jerarquía utilizada será específica del fabricante o del sistema; Los dispositivos Sonoff generalmente seguirán una estructura de tema MQTT documentada, y otros fabricantes podrían usar algo diferente. No todos los fabricantes documentarán bien sus productos (¡o en absoluto!), Así que tenga cuidado al comprar productos.

Aurora0001
fuente