Skip to main content

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árioRecomendacao
Acionar uma entidadeChame /v1/service/{domain}/{service} diretamente
Sequência de ações reutilizávelCrie 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.