/aa/tcp: enviar mensagem TCP
A ação /aa/tcp faz o equipamento abrir uma conexão TCP com outro aparelho da rede e enviar uma mensagem. Use-a para acionar dispositivos externos, como projetores e controladores.
Parâmetros
Seção intitulada “Parâmetros”| Parâmetro | Conteúdo |
|---|---|
ip |
IP de destino. |
port |
Porta de destino, de 1 a 65535. |
payload |
Conteúdo da mensagem, em hexadecimal: 2 caracteres por byte (ex.: 0D = Enter), até 256 caracteres (128 bytes). Os separadores :, - e . são ignorados, mas contam no limite: 41:42-43 envia ABC. |
persistent |
on mantém a conexão aberta depois do envio, e o próximo envio ao mesmo destino usa a mesma conexão. off (padrão) fecha a conexão depois de cada envio. |
_su |
Identificador livre, de até 8 caracteres. Veja os parâmetros de controle. |
Com @0 e os parâmetros, o equipamento envia a mensagem na hora. Exemplo: enviar ligar para 192.168.0.50, na porta 5000.
$72B0>/aa/tcp@0?ip=192.168.0.50&port=5000&payload=6C69676172<48230# — Dispositivo: $72B0, Ação: >/aa/tcp, Protocolo: @0, Valores: ?ip=192.168.0.50&port=5000&payload=6C69676172, Sequência: <48230, Fim: #No exemplo, 6C69676172 é a palavra “ligar” em hexadecimal.
Parâmetro que não vai na mensagem fica com o último valor usado. Envie sempre ip, port e payload.
A resposta chega logo depois do pedido, antes da entrega:
$72B0>/aa/tcp@0?code=1111&ip=192.168.0.50&port=5000&payload=&persistent=off&_su=&bytes=5&err=0<3399526# — Dispositivo: $72B0, Ação: >/aa/tcp, Protocolo: @0, Valores: ?code=1111&ip=192.168.0.50&port=5000&payload=&persistent=off&_su=&bytes=5&err=0, Sequência: <3399526, Fim: #| Parâmetro da resposta | Conteúdo |
|---|---|
bytes |
Quantos bytes o equipamento colocou na fila de envio. |
err |
0 = mensagem aceita para envio. 1 = payload inválido (caractere que não é hexadecimal, número ímpar de caracteres ou mais de 128 bytes). 2 = sem ip. 3 = fila de envio cheia. 4 = sem memória. Com erro, nada é enviado. |
O payload vem sempre vazio na resposta. err=0 confirma que o equipamento aceitou a mensagem, mas não que o destino a recebeu.
Usar numa cena
Seção intitulada “Usar numa cena”Para o envio acontecer quando um botão é pressionado, grave a ação como item da cena do botão (/cs/btN). No item, path é /aa/tcp e query traz os parâmetros separados por ;. Exemplo: o item 1 da cena do botão 0 envia ligar para 192.168.1.50, na porta 8008.
$72B0>/cs/bt0@6?code=1001&_n=1&id=72B0&path=/aa/tcp&query=ip%3D192.168.1.50;payload%3D6C69676172;port%3D8008&invertToOff=off&offOnRelease=off&_ts=1792695679&version=0<3627451#Consultar
Seção intitulada “Consultar”$72B0>/aa/tcp@0?_to=192.168.0.10<99999# — Dispositivo: $72B0, Ação: >/aa/tcp, Protocolo: @0, Valores: ?, Destino: _to=192.168.0.10, Sequência: <99999, Fim: #Resposta
Seção intitulada “Resposta”A consulta não envia nada. Ela devolve code=1001 e os parâmetros da ação:
$72B0>/aa/tcp@0?code=1001&ip=192.168.0.50&port=5000&payload=&persistent=off&_su=&bytes=0&err=0&_to=192.168.0.10<3376988# — Dispositivo: $72B0, Ação: >/aa/tcp, Protocolo: @0, Valores: ?code=1001&ip=192.168.0.50&port=5000&payload=&persistent=off&_su=&bytes=0&err=0, Destino: &_to=192.168.0.10, Sequência: <3376988, Fim: #