> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unicontrol.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Eventos

> Referência do barramento de eventos do Portal

# Referência: Eventos

O Portal utiliza um barramento de eventos (event bus) para comunicação assincrona entre componentes do sistema.

## Eventos do Sistema

| Evento                 | Descrição                         | Dados                              |
| ---------------------- | --------------------------------- | ---------------------------------- |
| `state_changed`        | Estado de uma entidade mudou      | entity\_id, old\_state, new\_state |
| `automation.trigger`   | Automação foi disparada           | automation\_id                     |
| `automation.lifecycle` | Automação criada/editada/excluida | automation\_id, action             |
| `script.trigger`       | Script foi executado              | script\_id                         |
| `tag.scanned`          | Tag foi escaneada                 | tag\_id, device\_id                |
| `webhook.received`     | Webhook foi recebido              | webhook\_id, data                  |
| `config_entry.added`   | Integração adicionada             | config\_entry\_id, domain          |
| `config_entry.deleted` | Integração removida               | config\_entry\_id, domain          |

## Tópicos MQTT Internos

| Tópico                             | Descrição                              |
| ---------------------------------- | -------------------------------------- |
| `portal/automation/manual_trigger` | Disparo manual de automação            |
| `portal/automation/lifecycle`      | Eventos de ciclo de vida de automações |
| `portal/script/trigger`            | Execução de script                     |
| `portal/events/webhook`            | Evento de webhook recebido             |
| `portal/core/config-entry/add`     | Integração adicionada                  |
| `portal/core/config-entry/delete`  | Integração removida                    |

## Usando Eventos em Automações

Use o gatilho **Evento** para reagir a eventos do sistema:

```
Gatilho: Evento
Tipo: tag.scanned
Dados: { "tag_id": "minha-tag" }
```

Use a ação **Disparar Evento** para emitir eventos personalizados:

```
Acao: Disparar Evento
Tipo: custom.meu_evento
Dados: { "valor": 123 }
```
