Tópicos de Sistema de um Conector

Para cada Conector MQTT cadastrado no Portal e para seus Dados(tópicos), o BROKER MQTT do Portal realiza publicações em tópicos específicos de sistema com algumas informações úteis sobre os recursos.

Atualmente, os seguintes tópicos de sistema são disponibilizados:

Estado de um conector(connector_state)

No tópico connector_state de um conector, o BROKER MQTT do Portal publica as alterações de alguns estados associados ao conector, tais como:

  • Estado de conexão/desconexão;

  • Estado de alarmes ativos(ou não);

  • Estado de habilitação no sistema.

Um exemplo do conteúdo de um tópico de connector_state pode ser observado abaixo:

{"connected": true, "has_active_alarms": false, "enabled": true}

Onde:

  • connected: Indica se o Conector está online no Portal de Telemetria ou desconectado;

  • has_active_alarms: Indica se o Conector possui algum alarme ativo ou não;

  • enabled: Indica se o Conector está habilitado no sistema ou não.

Estado de alarme de um tópico(alarm_state)

No tópico alarm_state associado a um Dado de um Conector, o BROKER MQTT do Portal publica as alterações do estado de qualquer alarme associado ao Dado(tópico).

Um exemplo do conteúdo de um tópico de alarm_state pode ser observado abaixo:

{"id": 7346, "is_active": true, "alarm_state_id": 2, "data_value": 230, "last_transition_at": 1634213375648}

Onde:

  • id: Identificação única do Alarme no Portal de Telemetria;

  • is_active: Indica se o Alarme está ativo(alarmado);

  • alarm_state_id: Indica o estado do Alarme;

  • data_value: Informa o valor do Dado que gerou a condição de alarme;

  • last_transition_at: Data/hora da última transição do Alarme em UTC(normal para alarmado ou alarmado para normal).

Eventos de um Conector(connector_events)

No tópico connector_events de um Conector, o BROKER MQTT do Portal publica alguns eventos identificados para o Conector para as seguintes categorias:

Autenticação

Nessa categoria de eventos, o BROKER MQTT do Portal realiza publicações informando eventuais falhas ou sucesso na autenticação de clientes MQTT.

Os eventos possíveis são listados a seguir:

Mensagem do Evento

Significado

Sugestões

Authentication failure: User/access key not informed

O BROKER do Portal negou a conexão pois não foi informada a chave de acesso(user) na conexão

Verificar se a chave de acesso está sendo definida como o usuário da conexão

Authentication failure: User/access key (chave_de_acesso) not registered

O BROKER do Portal negou a conexão pois a chave de acesso informada na conexão não está registrada(cadastrada) no portal

Verificar se a chave de acesso foi informada de maneira correta na conexão e se a mesma está cadastrada de fato no Portal

Authentication failure: User/access key (chave_de_acesso) disabled

O BROKER do Portal negou a conexão pois a chave de acesso informada na conexão não está habilitada no portal

Verificar se a chave de acesso está desabilitada em seu cadastro no Portal

Authentication failure: Client without associated connector

O BROKER do Portal negou a conexão pois o ID de cliente informado na conexão não possui acesso ao conector

Verificar se o ID de cliente informado na conexão está associado à algum Conector do Portal(Identificador de Tópico e ID de Cliente MQTT do Conector)

Authentication failure: User/access key (chave_de_acesso) without connector access

O BROKER do Portal negou a conexão pois a chave de acesso informada na conexão não possui acesso ao conector

Verificar no cadastro da chave de acesso no Portal, se a mesma possui acesso ao Conector informado na conexão(através do ID de cliente)

Authentication failure: Client (id_do_cliente) can only connect to: 202Y-MM-AAAA HH:MM:SSZ

O BROKER do Portal negou a conexão pois o cliente MQTT só poderá se conectar ao broker a partir da data/hora informada

Verificar a frequência de publicações do cliente MQTT. Possivelmente deve estar ultrapassando os limites de mensagens

Authentication failure. Connector (identificador_mqtt_conector) without registration in the Portal

O BROKER do Portal negou a conexão pois o ID de cliente informado na conexão não está associado a nenhum conector do Portal

Verificar o ID de cliente informado na conexão está correto(o mesmo deve estar associado à algum Conector cadastrado no Portal)

Authentication failure: Disabled connector (identificador_mqtt_conector) on the Portal

O BROKER do Portal negou a conexão pois o ID de cliente informado na conexão está associado a um conector que está desabilitado no Portal

Verificar se o Conector informado na conexão(através do ID de cliente) está habilitado em seu cadastro no Portal

Authentication failure: Keep alive not invalid or not provided

O BROKER do Portal negou a conexão pois o parâmetro de “keep alive” é inválido ou não foi fornecido na conexão

Verificar se o parâmetro de “keepalive” está sendo definido na conexão

Authentication failure: Keep alive value (valor_fornecido_keepalive) less than allowed (5 seconds)

O BROKER do Portal negou a conexão pois o valor do “keep alive” fornecido está abaixo do valor mínimo permitido

Verificar se o valor do parâmetro de “keepalive” é igual ou superior ao valor mínimo informado na mensagem de erro

Authentication failure: Keep alive value (valor_fornecido_keepalive) greater than allowed (3600 seconds)

O BROKER do Portal negou a conexão pois o valor do “keep alive” fornecido está acima do valor máximo permitido

Verificar se o valor do parâmetro de “keepalive” é igual ou superior ao valor máximo informado na mensagem de erro

Authentication failure: Will message QoS(valor_qos_fornecido) not supported on broker, try a lower QoS

O BROKER do Portal negou a conexão pois o valor do QoS da Will Message(quando definida) na conexão possui um valor inválido

Verificar se o valor de QoS definido para a Will Message da conexão é 0 ou 1(caso seja definida uma Will Message)

Authentication failure: Connector (identificador_mqtt_conector) contract expired

O BROKER do Portal negou a conexão pois o contrato associado ao Conector da conexão está vencido

Verificar o status do Contrato no Portal

Authentication success: User/access key: (chave_de_acesso)

Sucesso na autenticação do cliente MQTT com o BROKER do Portal de Telemetria

Controle de Acesso

O BROKER MQTT do Portal monitora as mensagens de publicações/assinaturas de clientes MQTT e caso detecte alguma anormalidade em relação ao controle de acesso aos tópicos associados as mensagens, publica os seguintes eventos:

Mensagem do Evento

Significado

Sugestões

Topic(definição_do_topico) access denied. Invalid topic structure

Estrutura inválida informada para um tópico na publicação/assinatura

Verificar a estrutura de tópico utilizada na operação de publicação/assinatura

Topic (definição_do_topico) access denied. Unprivileged user/access key (chave_de_acesso) for operation

Chave de acesso informada na conexão MQTT não tem privilégio para realizar a operação(publicação ou assinatura) solicitada no tópico

Verificar no cadastro do Token informado na conexão MQTT se o mesmo possui o privilégio necessário para operação desejada

Topic (definição_do_topico) access denied. Client (id_do_cliente) not authorized to publish on this connector (identificador_mqtt_conector)

O ID de cliente informado na conexão MQTT não está autorizado a publicar no conector

Verificar se na conexão MQTT foi informado o ID de cliente diretamente associado ao Conector do tópico

Topic (definição_do_topico) access denied. User/access key (chave_de_acesso) not registered. The connection will be closed by the Portal

A chave de acesso informada na conexão não está mais registrada(cadastrada) no portal. A conexão será fechada pelo BROKER

Verificar se a chave de acesso foi informada de maneira correta na conexão e se a mesma está cadastrada de fato no Portal

Topic (definição_do_topico) access denied. User/access key (chave_de_acesso) disabled. The connection will be closed by the Portal

a chave de acesso informada na conexão não está habilitada no portal. A conexão será fechada pelo BROKER

Verificar se a chave de acesso está desabilitada em seu cadastro no Portal

Topic (definição_do_topico) access denied. Connector (connector_identifier) contract expired. The connection will be closed by the Portal

Contrato associado ao Conector associado ao tópico da publicação/assinatura está vencido. A conexão será fechada pelo BROKER

Verificar o status do Contrato no Portal

Topic (definição_do_topico) access denied. Disabled connector (identificador_mqtt_conector) on the Portal. The connection will be closed by the Portal

O Conector associado ao tópico da publicação/assinatura está desabilitado no Portal. A conexão será fechada pelo BROKER

Verificar se o Conector informado na conexão(através do ID de cliente) está habilitado em seu cadastro no Portal

Topic (definição_do_topico) access denied. Connector (identificador_mqtt_conector) not registered in the Portal

O Conector associado ao tópico da publicação/assinatura não está cadastrado no Portal

Verificar o ID de cliente informado na conexão está correto(o mesmo deve estar associado à algum Conector cadastrado no Portal)

Topic (definição_do_topico) access denied. Topic or Connector (identificador_mqtt_conector) not registered or user/access key (chave_de_acesso) without connector access

O tópico ou conector associados a publicação/assinatura não estão cadastrados no Portal ou a chave de acesso não possui acesso ao Conector

Verificar a definição do tópico informado na publicação/assinatura assim como se a chave de acesso utilizada como usuário da conexão possui acesso ao conector informado

Topic (definição_do_topico) access denied. Topic not registered on the Portal

O tópico associado a publicação/assinatura não está cadastrado no Portal

Verificar se o Dado associado ao tópico utilizado na publicação/assinatura está de fato cadastrado no Portal

Topic (definição_do_topico) access denied. Disabled topic on the Portal

O tópico associado a publicação/assinatura não está habilitado no Portal

Verificar se o Dado associado ao tópico utilizado na publicação/assinatura está de fato habilitado no Portal

Invalid QoS(qos) on topic: (definição_do_topico). The connection will be closed by the Portal

Valor de QoS informado na publicação/assinatura inválido

Verificar o valor de QoS utilizado para publicar/assinar o tópico(que deve ser 0 ou 1)

Publicações

O BROKER MQTT do Portal monitora as mensagens de publicações de clientes MQTT e caso detecte alguma anormalidade, publica os seguintes eventos:

Mensagem do Evento

Significado

Sugestões

Publish failed: Invalid timestamp (carga_util_mensagem) informed in payload for topic (definição_do_topico)

Valor do carimbo de data/hora(timestamp) inválido informado no conteúdo da carga útil da mensagem MQTT publicada

Verificar o valor informado no carimbo de data/hora(timestamp) da mensagem

Publish failed: Invalid payload (carga_util_mensagem) format for topic (definição_do_topico)

Formato inválido utilizado no conteúdo da carga útil(payload) da publicação no tópico informado

Avaliar se o formato utilizado na carga útil da mensagem está de acordo com os formatos suportados pelo BROKER

Publish failed: Invalid payload (carga_util_mensagem) type for topic (definição_do_topico)

Tipo de carga útil(payload) na mensagem MQTT publicada

Avaliar se o conteúdo informado na carga útil da mensagem está de acordo com os conteúdos suportados pelo BROKER

Publish failed: Non-numeric value(valor) for topic (definição_do_topico)

Valor não numérico(NaN) informado para o tópico no conteúdo da carga útil da mensagem MQTT publicada

Verificar o valor numérico informado para o tópico na carga útil da mensagem

Publish failed: Invalid type value for topic (definição_do_topico)

Tipo de valor inválido informado para o tópico no conteúdo da carga útil da mensagem MQTT publicada

Verificar o valor numérico informado para o tópico na carga útil da mensagem

Publish failed: Invalid numeric value (valor) for topic (definição_do_topico)

Valor numérico informado para o tópico não é válido

Verificar o valor numérico informado para o tópico na carga útil da mensagem

Publish failed: Error in the execution of the calculation registered for the topic (definição_do_topico)

Falha ao aplicar o cálculo configurado para o dado associado ao tópico da publicação

Verificar parâmetros informados para o cálculo no cadastro do Dado associado ao tópico

Publish failed: Value(valor) below the minimum (data_hora_minima) for the topic (definição_do_topico)

Valor informado para o tópico inferior ao valor mínimo aceitável para o dado associado ao tópico

Alterar valor mínimo cadastrado para o Dado associado ao tópico ou avaliar o valor que está sendo publicado

Publish failed: Value(valor) above the maximum (data_hora_maxima) for the topic (definição_do_topico)

Valor informado para o tópico superior ao valor máximo aceitável para o dado associado ao tópico

Alterar valor máximo cadastrado para o Dado associado ao tópico ou avaliar o valor que está sendo publicado

Publish failed: Timestamp(data_hora) informed the topic(definição_do_topico) greater than the server datetime (data_hora_servidor)

Valor do carimbo de data/hora(timestamp) informado no conteúdo da carga útil da mensagem MQTT publicada é superior a data/hora do BROKER

Informar o valor do carimbo de data/hora(timestamp) com um valor igual ou inferior a data/hora atual do BROKER

Publish failed: Timestamp(data_hora) informed the topic(definição_do_topico) less than the minimum acceptable datetime (data_hora_minima_aceitavel_pelo_broker)

Valor do carimbo de data/hora(timestamp) informado no conteúdo da carga útil da mensagem MQTT publicada é anterior a 7 dias em relação a data/hora atual

Informar o valor do carimbo de data/hora(timestamp) não anterior a 7 dias atrás em relação a data/hora atual do BROKER

Publish failed: Timestamp(data_hora) informed the topic(definição_do_topico) equal to or less than the last record (data_hora_minima_ultimo_registro)

Valor do carimbo de data/hora(timestamp) informado no conteúdo da carga útil da mensagem MQTT publicada é igual a data/hora já registrada para o dado

Informar o valor do carimbo de data/hora(timestamp) com um valor superior ao que já foi utilizado para o tópico

Publish failed: Messages limit (numero_de_publicações) in time window(janela_de_tempo seconds) exceeded for (topico_ou_conector). Client (id_do_cliente) can only connect to: 202Y-MM-AAAA HH:MM:SSZ

O cliente MQTT da conexão ultrapassou o limite de mensagens para o Conector ou Tópico conforme os limites informados

Avaliar a frequência de publicações do cliente MQTT. Possivelmente deve estar ultrapassando os limites de mensagens

Publish failed: Invalid payload content (carga_util_mensagem) for topic (definição_do_topico)

Definição da carga útil da mensagem utilizada na publicação não pode ser tratada pelo BROKER

Verificar os tipos de formato e conteúdos válidos para a carga útil(payload) de uma mensagem suportados pelo BROKER

Publish failed: Invalid type of element (elemento_da_lista) in list informed in payload (carga_util_mensagem) for topic (definição_do_topico)

Tipo do elemento utilizado na carga útil para publicação em múltiplos tópicos inválido

Verificar o tipo de cada elemento informado no conteúdo da carga útil(payload) da publicação(em múltiplos tópicos)

Assinaturas

O BROKER MQTT do Portal monitora as requisições de assinaturas de clientes MQTT e caso detecte alguma anormalidade, publica os seguintes eventos:

Mensagem do Evento

Significado

Sugestões

Subscribe failed: Requests limit (numero_de_requisições_de_assinatura) in time window (janela_de_tempo seconds) exceeded for client. Client (id_do_cliente) can only connect to: 202Y-MM-AAAA HH:MM:SSZ

O cliente MQTT da conexão ultrapassou o limite de requisições de assinaturas para o Conector ou Tópico conforme os limites informados

Avaliar a frequência de assinaturas do cliente MQTT. Possivelmente deve estar ultrapassando o limite de requisições informados na mensagem de erro