Existem tópicos padronizados do MQTT?

7

Eu sou novo no MQTT (e em automação residencial em geral, sou muito mais nos sistemas e no lado do desenvolvedor), usei um switch WiFi (Sonoff Basic), conectei-o a uma instância do Mosquitto e do Home Assistant e até agora tudo funciona bem.

Ao monitorar o barramento Mosquitto, vejo todos os tipos de mensagens, como

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

Reconheço o home/room1/switch1que defini no meu switch WiFi e o switch enviou alguns tópicos prefixados por cmnd(comando? Isso seria surpreendente, pois ninguém manipulava o switch) e tele(telemetria?). tele/hass1/...é gerado pelo Home Assistant.

Existem padrões ou práticas comumente aceitas para os prefixos?

A documentação do MQTT explica como os tópicos são formatados, mas não apresenta nenhuma estrutura (exceto os tópicos iniciados por $), portanto, acho que, na melhor das hipóteses, seria uma prática recomendada (ou pratique ponto final).

WoJ
fonte
11
Você ganha pontos por não iniciar seus tópicos com uma liderança /, isso é errado, pois adiciona um segmento nulo extra à árvore de tópicos, o que não é necessário e torna um pouco mais difícil o uso de curingas corretamente.
hardillb

Respostas:

7

Em geral, não - não existem padrões para a nomeação de tópicos além das especificações do MQTT .

muitas opiniões sobre como você deve construir seus tópicos do MQTT, e não muitas regras fixas . Embora isso seja um pouco perturbador quando você deseja saber exatamente qual é a melhor prática, a falta de regras rígidas significa que você obtém muita flexibilidade com um broker MQTT.

Como você usa o Assistente Doméstico, isso reduz um pouco as coisas, mas mais especificamente, os tópicos que você está analisando são específicos para o seu interruptor Sonoff. A API é descrita neste wiki :

  • Mensagem : cmnd

    • Emitido por : dispositivos mostrados no lado direito

    • Intenção : controlar o Sonoff; definir configuração; pedir status

  • Mensagem : stat

    • Emitido por : os Sonoffs no lado esquerdo

    • Intenção : relatar status ou mensagem de configuração

  • Mensagem : tele

    • Emitido por : alguns Sonoffs (como dispositivos de medição de temperatura)

    • Intenção : relatar informações de telemetria não solicitadas em intervalos periódicos

O diagrama mencionado está aqui , embora seja melhor visualizado na página wiki vinculada acima.

Em geral , qualquer hierarquia usada será específica do fabricante ou do sistema; Os dispositivos Sonoff geralmente seguem uma estrutura de tópicos documentada do MQTT e outros fabricantes podem usar algo diferente. Nem todos os fabricantes documentam bem seus produtos (ou de todo!) - portanto, tenha cuidado ao comprar produtos.

Aurora0001
fonte