For the complete documentation index, see llms.txt. This page is also available as Markdown.

Exemplo: Tomada Inteligente

Construa comandos de ligar e desligar para uma tomada inteligente de ponta a ponta — payload, codificador, verificação e execução a partir do separador Estados.

Este passo a passo cria dois comandos num único dispositivo e verifica se funcionaram. Usa uma tomada inteligente alimentada pela rede elétrica que indica se o seu relé está ligado ou desligado, mas a mesma sequência aplica-se a qualquer atuador: uma válvula, um luminário, um aquecedor.

Siga-o por ordem — cada secção produz algo de que a seguinte precisa.

Antes de começar

  • A tomada está registada e a transmitir. Classe C para LoRaWAN, ou um dispositivo MQTT.

  • Pode ver as suas leituras na Métricas separador (Mapeamento para MQTT).

1. Descubra como o dispositivo reporta o seu estado

Abra o dispositivo e vá para o Métricas separador. Procure na tabela de chaves do conector o campo que transporta o estado do relé e note duas coisas: o nome do campo e o valor que está a mostrar agora mesmo.

Para esta tomada:

Chave do conector
Valor atual

socket_status

desligado

Esse valor é o que uma verificação de validação irá comparar mais tarde, por isso anote-o exatamente como aparece — desligado, não DESLIGADO ou falso.

Se o campo ainda não estiver mapeado para uma métrica, mapeie-o agora: o editor de comandos seleciona sensores pelo nome da métrica, por isso um campo não mapeado não pode ser usado para verificar nada. Consulte Descodificação de payload e chaves do conector.

Neste exemplo socket_status está mapeado para uma métrica chamada Estado da tomada.

2. Crie o comando LIGAR

Abra Comandos e Estados → Comandos e clique em Adicionar novo comando.

The command editor with the identity, routing and payload sections of a device command

1. Identidade

  • Nome do comando — Ligar

2. Encaminhamento

  • Para LoRaWAN: defina o fPort que o dispositivo espera, e ligue Downlink confirmado o.

  • Para MQTT: introduza o tópico ao qual a tomada se subscreve para comandos.

3. Payload

Este comando não aceita parâmetros — envia sempre a mesma coisa — por isso não adicione nenhum, e defina a carga útil que o codificador deve construir. A tomada espera três bytes: canal 0x08, tipo 0x70, e o estado, 0x01 para ligado.

Use Experimentar codificador para verificar o resultado antes de guardar. Mostra a saída codificada em hex e base64, com o seu tamanho em bytes, para que possa confirmar que a carga útil é 08 70 01 antes de o comando alguma vez chegar ao dispositivo.

4. Verificação

Escolha Aguarde pelo próximo uplink — a tomada reporta o seu estado em cada mensagem de rotina, por isso não há necessidade de a consultar periodicamente.

Em Estados esperados dos sensores, clique Adicionar estado:

  • Métrica — Estado da tomada

  • Valor esperado — ligado

Escreva o valor tal como o dispositivo o reporta. Aqui, as maiúsculas/minúsculas não importam, por isso ligado também corresponde a um dispositivo que reporta LIGADO — mas texto e números não são intercambiáveis, por isso 1 não corresponderia. Consulte Confirmar Comandos.

Clique em Salvar.

3. Crie o comando DESLIGAR

Repita os passos acima com três alterações:

  • Nome do comando — Desligar

  • Carga útil — os mesmos três bytes, com o byte de estado definido para 0x00

  • Valor esperado — desligado

Todo o resto permanece igual.

4. Execute-os e verifique o resultado

Vá para a separador Estados separador, encontre Ligar na lista de comandos disponíveis e clique em Executar.

Veja a entrada aparecer em Execuções recentes:

  1. Começa como Pendente enquanto o downlink está a caminho.

  2. Quando chegar a próxima mensagem da tomada a reportar socket_status: on, a execução torna-se Confirmado — a plataforma viu o dispositivo no estado que pediu.

Execute Desligar e o mesmo acontece ao contrário.

Se a execução nunca confirmar

Uma execução que permanece por confirmar até a sua janela fechar é marcada como Aviso suave — entregue, mas não confirmada. Resolva-os por esta ordem:

  1. Verifique o valor. Abra o separador Métricas e leia o que socket_status reporta agora. Se a tomada mudou, mas reporta 1 em vez de ligado, o valor esperado tem de corresponder a esse formato — e um literal escrito é sempre texto, por isso use uma {{ parameterName }} referência para um parâmetro Booleano ou Inteiro, em vez disso.

  2. Verifique a métrica. Certifique-se de que a Métrica que selecionou é a alimentada por socket_status, e de que está mapeada e a receber leituras.

  3. Verifique a janela. A janela predefinida é 1,5 × o intervalo de envio de dados do dispositivo. Se esse intervalo não estiver definido no dispositivo, defina-o — consulte tempo limite de convergência.

  4. Verifique a carga útil. Execute Experimentar codificador novamente e compare os bytes com a documentação do fabricante.

Seguinte

Última atualização