Automações e Scripts
Automações são regras com gatilho + condições + ações. Scripts são sequências de ações reutilizáveis. Os dois podem ser disparados pela API.
Listar automações
curl https://portal.unicontrol.me/v1/automations \
-H "Authorization: Bearer pat_seu_token"
Resposta:
[
{
"id": 1,
"name": "Ligar aquecedor ao anoitecer",
"trigger": { "platform": "sun", "event": "sunset" },
"conditions": [],
"actions": [
{ "type": "call_service", "entity_id": "switch.aquecedor", "service": "turn_on" }
],
"enabled": true
}
]
Disparar uma automação manualmente
curl -X POST https://portal.unicontrol.me/v1/automations/{id}/trigger \
-H "Authorization: Bearer pat_seu_token"
Isso executa as ações da automação ignorando o gatilho. Útil para botões “Executar agora” em integrações.
Disparar via webhook
Automações podem ter o gatilho Webhook. Quando configuradas assim, recebem um webhook_id próprio:
curl -X POST https://portal.unicontrol.me/v1/automations/webhook/{webhook_id} \
-H "Content-Type: application/json" \
-d '{ "valor": 42, "origem": "meu-sistema" }'
Webhooks de automação não exigem autenticação — o webhook_id em si e o segredo. Trate-o como uma chave secreta e não o exponha publicamente.
O payload do body fica disponível para as ações da automação (templates {{ trigger.json.valor }}).
Veja mais em Webhooks.
Habilitar / desabilitar automação
# Ativar
curl -X POST https://portal.unicontrol.me/v1/automations/{id}/enable \
-H "Authorization: Bearer pat_seu_token"
# Desativar
curl -X POST https://portal.unicontrol.me/v1/automations/{id}/disable \
-H "Authorization: Bearer pat_seu_token"
Histórico de execuções
curl https://portal.unicontrol.me/v1/automations/{id}/executions \
-H "Authorization: Bearer pat_seu_token"
Retorna as últimas execuções com status, duração e (opcionalmente) o trace passo-a-passo.
Scripts
Scripts seguem o mesmo padrão de listagem e disparo:
# Listar
curl https://portal.unicontrol.me/v1/scripts \
-H "Authorization: Bearer pat_seu_token"
# Disparar
curl -X POST https://portal.unicontrol.me/v1/scripts/{id}/trigger \
-H "Authorization: Bearer pat_seu_token"
Scripts também podem ser chamados como serviço, útil quando você já tem o entity_id:
curl -X POST https://portal.unicontrol.me/v1/service/script/press \
-H "Authorization: Bearer pat_seu_token" \
-H "Content-Type: application/json" \
-d '{ "entity_id": "script.script.123" }'
Quando usar cada um?
| Cenário | Recomendacao |
|---|
| Acionar uma entidade | Chame /v1/service/{domain}/{service} diretamente |
| Sequência de ações reutilizável | Crie um script e dispare por API |
| Reagir a evento externo (webhook) | Crie uma automação com gatilho Webhook |
| Lógica condicional (“se temperatura > X então…”) | Crie uma automação com condições |
Em integrações multi-usuário, evite criar/editar automações pela API sem autorização explicita do usuário — automações mudam comportamento do ambiente físico dele.