Saltar para o conteúdo
Elausys

HyperVisu / Integrações

O Broker MQTT Integrado

Execute um broker MQTT no próprio servidor — contas, regras de tópicos, limites, publicação de estados de widgets e navegador de tópicos em tempo real.

elausys · 08 setembro 2026
Nesta página

O broker MQTT integrado

O HyperVisu pode executar o seu próprio broker MQTT no servidor. Os dispositivos ligam-se diretamente ao HyperVisu em vez de a uma máquina broker separada que seja necessário instalar, proteger e manter atualizada, associando os respetivos tópicos exatamente como em qualquer outro broker (consulte "Integração MQTT"). O mesmo broker também pode transmitir os valores da própria instalação para o exterior, permitindo que um painel, um sistema de gestão de energia ou outro controlador leia o estado do edifício.

Utilize-o quando tiver dispositivos MQTT e ainda não dispuser de um broker. Se já utiliza um broker — o integrado numa instalação Zigbee2MQTT, um Mosquitto num servidor ou um EMQX — mantenha-o: o HyperVisu funciona perfeitamente como cliente e o broker integrado pode permanecer desativado.

O que é necessário: o protocolo MQTT ativado (consulte "Serviços e Protocolos") para que os dispositivos possam ser associados, e uma conta para cada dispositivo que se irá ligar.

Como ativar. O broker é um serviço opcional, pelo que requer um reinício para ficar disponível, sendo configurado em seguida:

  1. Aceda a Serviços e ative o Broker MQTT na lista de serviços opcionais.
  2. Clique em Reiniciar Servidor e aguarde que a página restabeleça a ligação.
  3. Novamente em Serviços, clique em Configurar na linha do Broker MQTT. A página Broker MQTT abre-se.

ℹ️ Nota: O interruptor na página Serviços inicia e para o broker; todas as opções na página Broker MQTT definem o seu comportamento. Uma alteração na página Serviços requer o reinício do servidor; uma alteração na página Broker MQTT apenas reinicia o próprio broker.

Guardar alterações. As edições são acumuladas até serem aplicadas: surge uma barra no fundo da página com as opções Aplicar e Rejeitar. Aplicar grava as configurações e reinicia o broker — os dispositivos ligados restabelecem a ligação autonomamente em poucos segundos. Reaplicar, no topo do painel Estado, regrava e reinicia mesmo sem alterações; utilize esta opção se o broker tiver sido parado manualmente ou se a página indicar que os ficheiros em disco diferem das definições guardadas.

Estado — funcionamento e acesso dos dispositivos

O painel Estado é o primeiro ponto de análise.

  • Um cartão por listener — MQTT e WebSockets — apresentando o respetivo endereço e se está a Escutar, Sem resposta ou Desligado.
  • Endereço a introduzir no dispositivo — o endereço a configurar num Shelly, num Tasmota ou numa configuração Zigbee2MQTT, acompanhado de um botão Copiar. Trata-se do endereço do próprio servidor e do porto do listener simples.
  • Ligação do próprio HyperVisu — a conta e a ligação que o próprio HyperVisu utiliza para comunicar com o broker. É criada automaticamente na primeira utilização do broker; Reparar recria-a se a ligação tiver sido editada ou eliminada.

Se o broker nunca tiver sido iniciado, o painel indica que o serviço não está em execução e remete para a página Serviços.

A página do Broker MQTT ao abrir: o indicador Em execução, ambos os listeners em Escuta, o endereço a introduzir no dispositivo e a ligação do próprio HyperVisu.

Listeners — portos de resposta do broker

Um listener é um porto no qual o broker aceita ligações. Estão disponíveis dois, cada um com um Porto e um Endereço de associação:

ListenerPredefiniçãoFinalidade
MQTTporto 1883, ligadoO listener normalmente utilizado pelos dispositivos. A autenticação mantém-se — este listener não é cifrado, mas não é aberto.
WebSocketsporto 9001, desligadoPara clientes MQTT em browsers e para painéis que comunicam via MQTT sobre websockets.

O Endereço de associação define quem pode aceder ao listener: 0.0.0.0 aceita ligações da rede, 127.0.0.1 restringe o acesso ao próprio servidor.

Pelo menos um listener tem de permanecer ativo — sem nenhum, nenhuma ligação seria possível e a página recusa a gravação. Dois listeners não podem partilhar o mesmo porto, e portos já em utilização no servidor (interface web, base de dados de histórico, painéis, Node-RED, transmissão de câmaras, Home Assistant, API do HyperVisu) são rejeitados nominalmente.

⚠️ Aviso: Nenhum dos listeners cifra os dados transmitidos, pelo que deve manter o broker na rede local. Associe-o a 127.0.0.1 se apenas o próprio servidor necessitar de acesso e nunca faça o reencaminhamento do respetivo porto a partir da Internet.

Contas e acessos — permissões de ligação

⚠️ Aviso: Um broker sem restrições representa um ponto de entrada na instalação. Atribua uma conta própria a cada dispositivo e mantenha o acesso anónimo desativado.

Contas. Cada dispositivo que estabelece ligação necessita de um nome de utilizador e de uma palavra-passe. Clique em Adicionar conta, introduza um Nome de utilizador (letras, dígitos e . _ @ -) e uma Palavra-passe, aplicando em seguida. A palavra-passe é processada por hash no momento da gravação e nunca mais pode ser lida — apenas substituída através do botão Palavra-passe na linha da respetiva conta. O HyperVisu dispõe de uma conta própria, identificada como tal; é gerida automaticamente e não pode ser removida.

A página recusa gravar configurações com o acesso anónimo desativado caso não exista qualquer conta criada — nada conseguiria ligar-se, nem mesmo o HyperVisu.

Ligações anónimas. A opção Permitir ligações anónimas autoriza a ligação de qualquer cliente sem nome de utilizador. Encontra-se desativada por predefinição. Se a ativar enquanto um listener estiver acessível pela rede, a página emite um aviso — Este broker ficaria acessível a toda a rede — e recusa a gravação até que confirme Compreendo e pretendo permitir. Caso contrário, qualquer utilizador na rede poderia ler e controlar os dados da instalação.

Restrições de tópicos. Sem regras definidas, qualquer conta autenticada pode publicar e subscrever todos os tópicos. Ative a opção Restringir tópicos por conta e clique em Adicionar regra. Cada regra é composta por uma Conta (introduza o nome de utilizador; se ficar vazio, aplica-se a clientes anónimos), uma Permissão (read, write, readwrite ou deny) e um Filtro de tópico, onde + corresponde a um nível e # aos restantes.

Exemplo típico: o gateway Zigbee obtém permissão readwrite em zigbee2mqtt/#, um painel obtém read em hypervisu/# e todo o restante tráfego é bloqueado.

ℹ️ Nota: As regras constituem uma lista estrita — uma conta sem regra correspondente a determinado tópico é rejeitada no mesmo. A conta do próprio HyperVisu é a exceção: mantém sempre acesso total, pelo que a ativação de restrições nunca corta o acesso do servidor aos tópicos dos dispositivos associados. Qualquer regra que mencione essa conta é ignorada.

Contas e acessos: três contas, acesso anónimo desativado, restrições de tópicos ativadas com duas regras.

Armazenamento e limites

Estas definições protegem o servidor contra comportamentos anómalos de dispositivos e definem o que é preservado após um reinício.

DefiniçãoPredefiniçãoEfeito
Manter mensagens retidas entre reiníciosligadoGrava o estado do broker no disco, mantendo os tópicos retidos após um reinício. Sem esta opção, todos os valores retidos perdem-se ao parar o broker e os widgets aguardam pela próxima publicação do dispositivo.
Intervalo de gravação (s)1800Frequência de gravação do estado. Um valor mais elevado reduz o número de escritas no cartão de memória do servidor.
Ligações máximas200Número máximo de clientes ligados em simultâneo. -1 para ilimitado.
Tamanho máximo do pacote (bytes)0Tamanho máximo da mensagem aceite pelo broker. 0 significa ilimitado.
Permitir mensagens retidasligadoPermite que os dispositivos solicitem ao broker a retenção do seu último valor para novos subscritores. Ao desativar, cada widget terá de aguardar por uma nova publicação após restabelecer a ligação.

💡 Sugestão: Mantenha as mensagens retidas ativadas. É esta funcionalidade que permite à aplicação apresentar valores reais no arranque do servidor, evitando widgets vazios.

Publicação de estados dos widgets via MQTT

O HyperVisu pode publicar os valores dos seus próprios dispositivos no broker, permitindo que outros sistemas leiam a instalação sem interagir diretamente com o HyperVisu: painéis Grafana, gestores de energia, controladores de terceiros ou outros sistemas do edifício.

Esta função está desativada por predefinição e, enquanto permanecer inativa, nada é publicado. Ative a opção Publicar estados dos widgets via MQTT para aceder às configurações:

DefiniçãoPredefiniçãoEfeito
Prefixo do tópicohypervisuPrimeiro segmento de cada tópico. Apenas segmentos de texto simples — sem + ou #.
Incluir o número de série do aparelho no tópicoligadoAdiciona o número de série do servidor após o prefixo, permitindo partilhar um broker entre duas instalações sem sobreposição.
Estilo do tópicoIdentificadoresIdentificadores (estável) utiliza a numeração interna dos dispositivos; Nomes (legível) utiliza os nomes das divisões e dos dispositivos. Nomes são mais legíveis, mas renomear uma divisão altera todos os tópicos associados e invalida as subscrições existentes.
PayloadApenas valorApenas valor publica o valor simples; JSON com contexto publica o valor com o nome e a divisão do dispositivo, a respetiva unidade, identidade e timestamp — permitindo identificar o conteúdo sem necessidade de conhecer a referência widget/42/1.
Intervalo mínimo (ms)1000Limite de frequência por objeto. O valor mais recente é sempre entregue; 0 publica todas as alterações.
Reter o último valorligadoClientes que estabeleçam ligação posteriormente recebem o estado atual de imediato, sem aguardar pela alteração seguinte.
Publicar tópico de disponibilidadeligadoPublica online / offline, de forma retida, em <prefixo>/<série>/status, informando se os dados lidos correspondem ao estado atual ou ao último registo antes de uma perda de ligação. Desativar a publicação remove o tópico.
Apenas estes widgetsdesligadoDesligado publica todos os dispositivos. Ligado permite selecionar pontualmente quais publicar.
Aceitar comandos via MQTTdesligadoPermite a um subscritor enviar valores de escrita. Consulte o aviso abaixo.

A página apresenta a pré-visualização Aspeto do tópico em tempo real conforme as alterações efetuadas. Com as predefinições, o valor de um dispositivo é enviado para:

hypervisu/<série>/widget/42/1/state

e com a opção Nomes (legível):

hypervisu/<série>/living-room/ceiling-lamp/1/state

O último segmento antes de state corresponde ao número de objeto do dispositivo — um tópico por objeto de comunicação, não por dispositivo.

Com a opção JSON com contexto, a própria mensagem inclui a respetiva identificação:

{"value":21.5,"unit":"°C","name":"Hall thermostat","room":"Bathroom","widget":46,"object":2,"type":"FLOAT","ts":"2026-09-09T07:51:22.436Z"}

O nome e a divisão são lidos no momento da publicação; assim, renomear um dispositivo altera apenas a mensagem seguinte sem alterar a estrutura do tópico. Esta é a diferença face a Nomes (legível): tópicos legíveis mudam de endereço ao renomear, enquanto um payload com contexto mantém o endereço inalterado.

Aceitar comandos. Com a opção Aceitar comandos via MQTT ativa, a publicação de um valor no tópico correspondente …/set atua sobre o dispositivo, exatamente como através da aplicação.

⚠️ Aviso: Isto permite que qualquer entidade com capacidade de publicação no broker controle o edifício. Ative esta opção exclusivamente com o acesso anónimo desativado e restrições de tópicos configuradas — a página recusa liminarmente a combinação de comandos com acesso anónimo.

Os comandos são recusados, e contabilizados como tal, se o tópico pertencer a um objeto de apenas leitura ou se o payload for incompatível com o tipo de dados do objeto. O painel contabiliza o número de mensagens publicadas e rejeitadas, apresentando também o total de objetos publicados.

ℹ️ Nota: A publicação requer o protocolo MQTT ativo e uma ligação estabelecida a um broker. Se ativada sem ligação, o painel indica essa condição em vez de simular a publicação.

Publicação de estados de widgets ativada: o indicador de objetos publicados, os contadores em tempo real e a pré-visualização do tópico.

Consulta de tópicos no broker

A secção Tópicos no broker, no fundo da página, apresenta a atividade em tempo real no broker — o método mais rápido para validar se um dispositivo recém-configurado está a comunicar.

  1. Opcionalmente, preencha Limitar a uma subárvore para filtrar o varrimento (zigbee2mqtt analisa apenas zigbee2mqtt/#).
  2. Escolha o tempo de Escuta — 3, 4, 10 ou 30 segundos.
  3. Clique em Varrer.

O resultado é estruturado em árvore, respeitando a hierarquia / dos próprios tópicos, mantendo a navegação clara mesmo com centenas de registos. Clique numa ramificação para a expandir — a linha indica o número de subtópicos existentes — e clique num tópico para ver o respetivo último payload. Em payloads JSON, os campos são listados com a tipologia correspondente; em payloads simples, é apresentado o tipo identificado. O botão de cópia na linha aberta copia o tópico completo. As opções Expandir tudo e Recolher tudo encontram-se no topo da árvore, e varrimentos de pequena dimensão abrem totalmente expandidos.

Um nível com apenas um ramo dependente é agregado ao nível superior (118/1/state numa única linha em vez de três), simplificando a navegação em prefixos longos. Os tópicos retidos surgem em primeiro lugar em cada nível.

Os tópicos publicados pelo próprio HyperVisu são identificados nominalmente sempre que possível: um tópico como hypervisu/<série>/widget/42/1/state apresenta o dispositivo correspondente ao lado, dispensando a consulta manual do identificador.

Os tópicos retidos são transmitidos pelo broker assim que a subscrição do varrimento é iniciada, pelo que mesmo uma análise curta revela toda a estrutura retida. Caso o varrimento não devolva resultados, tal significa que não existem dispositivos ligados ou que estes apenas publicam por alteração de estado — tente um intervalo de escuta maior.

ℹ️ Nota: O varrimento reflete o estado de execução atual do broker; alterações não gravadas na página não são consideradas no relatório. O painel assinala a existência de alterações pendentes.

O varrimento é apenas de leitura: analisa os dados presentes sem realizar publicações. Para associar um destes tópicos a um dispositivo, abra o objeto do dispositivo e selecione o tópico no editor de objetos (consulte "Integração MQTT") — a mesma ferramenta de varrimento está disponível nesse editor, preenchendo automaticamente o tipo de dados, o caminho JSON e os valores ON/OFF.

A árvore de tópicos após um varrimento, aberta a três níveis de profundidade, com os tópicos do HyperVisu anotados com o dispositivo correspondente.

Exemplo prático — tomada Shelly no broker integrado

Integração de uma tomada Shelly Plus no HyperVisu, sem recurso a outro broker na rede.

  1. Serviços → ative o Broker MQTT → Reiniciar Servidor. Confirme que o protocolo MQTT também se encontra ativo.
  2. Serviços → Configurar na linha do Broker MQTT. Em Contas e acessos, clique em Adicionar conta: utilizador shelly, defina uma palavra-passe e clique em Aplicar.
  3. Registe o Endereço a introduzir no dispositivo indicado no painel Estado — por exemplo 192.168.1.60:1883.
  4. Na interface web do Shelly, ative o MQTT, introduza esse endereço, o utilizador shelly e a respetiva palavra-passe, e guarde. A tomada reinicia e estabelece ligação.
  5. Aceda a Ligações. O painel sugere Utilizar o broker local; clique nessa opção para que o HyperVisu crie a sua própria ligação ao broker. Se este passo já tiver sido realizado anteriormente, a ligação estará presente — o navegador de tópicos necessita dela, pelo que deve garantir este passo antes do varrimento.
  6. De volta à página Broker MQTT, aceda a Tópicos no broker e clique em Varrer. Os tópicos da tomada são apresentados — shellyplus1pm-a8032ab1/status/switch:0 entre outros — com os respetivos últimos payloads.
  7. Em Dispositivos, adicione o widget Interruptor de iluminação com o nome "Tomada Cozinha", selecione o protocolo MQTT nessa ligação e associe os seus objetos aos tópicos da tomada através da opção Varrer broker no editor de objetos.
  8. Acione a tomada através da aplicação. O comando é transmitido através do broker integrado e confirmado pelo tópico de estado da própria tomada.

Perguntas frequentes

Como inicio o broker integrado?

Ative o Broker MQTT em Serviços e reinicie o servidor. De seguida, abra Configurar. Ative também o protocolo MQTT autónomo para a associação de dispositivos.

Que endereço e credenciais deve utilizar um dispositivo?

Copie o Endereço a introduzir no dispositivo no painel Estado e crie uma conta dedicada para esse dispositivo. O acesso anónimo está desativado por predefinição.

Porque é que um dispositivo deixou de funcionar após ativar as restrições de tópicos?

Uma conta requer uma regra de permissão correspondente para cada tópico utilizado. Com as restrições ativas, os tópicos sem correspondência são recusados.

Como mantenho os valores retidos após um reinício?

Mantenha ativas as opções Permitir mensagens retidas e Manter mensagens retidas entre reinícios.

Podem outros sistemas enviar comandos para o HyperVisu via MQTT?

Sim, quando a opção Aceitar comandos via MQTT está ativa. Utilize contas autenticadas e restrições de tópicos; os comandos são recusados com o acesso anónimo ativo, para objetos de apenas leitura ou payloads de tipo inválido.

Posso expor o broker integrado diretamente à Internet?

Não. Os seus listeners não são cifrados e destinam-se à rede local. Não reencaminhe os respetivos portos a partir da Internet.

Continuar a explorar

Encontre os outros guias deste produto na documentação.

Voltar a Integrações