> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-pt/kilo-iot-server/rules-engine/triggers/multiple-devices.md).

# Um Gatilho para Vários Dispositivos

Aplique um acionamento e uma regra Kilo a vários dispositivos, mantendo a condição e a contagem decrescente de cada dispositivo independentes.

Um acionador pode selecionar um dispositivo ou vários dispositivos. Isto permite que uma equipa de operações defina uma condição e mantenha uma regra para uma frota de ativos comparáveis, em vez de copiar a regra para cada ativo.

A seleção pertence a esse acionador. Não cria um grupo reutilizável noutro lugar no Kilo, e alterar outro acionador não altera esta lista de dispositivos.

## Como funciona a avaliação por dispositivo

A chave normalizada marcada **Os dispositivos que fornecem esta chave são os monitorizados** identifica o objeto da condição. Cada dispositivo selecionado que fornece essa chave é avaliado separadamente.

Para 50 portas de câmaras frigoríficas:

* cada porta tem o seu próprio estado de condição;
* cada porta tem a sua própria contagem decrescente de duração;
* uma porta ficar ativa não altera outra porta;
* a regra ligada recebe a identidade da porta que cumpriu a condição.

O mesmo acionador pode, portanto, iniciar a mesma regra para dispositivos diferentes em momentos diferentes.

## Selecione os dispositivos

1. Defina pelo menos uma chave normalizada na condição do acionador.
2. Abra o **Dispositivos** .
3. Use **Pesquisar dispositivos**, **Selecionar tudo**, **Selecionar todos os apresentados**, **Limpar seleção**, ou **Carregar mais dispositivos** para fazer a seleção.
4. Se um dispositivo tiver vários sensores mapeados para a mesma chave, escolha o sensor que o acionador deve usar.
5. Consulte **Como este gatilho será executado** antes de guardar.

Um acionador precisa de pelo menos um participante e aceita até 500. O limite inclui os dispositivos observados e qualquer dispositivo selecionado apenas para fornecer uma leitura partilhada.

<figure><img src="https://585438662-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-0602bd68bb6152184acc6908acffb24f21d249ad%2Ftrigger-device-group.jpg?alt=media" alt="The Kilo trigger device selector and one preview row for each watched device"><figcaption></figcaption></figure>

Se um dispositivo esperado estiver ausente, abra o seu **Mapeamento** separador e mapeie um valor de sensor recebido para uma chave normalizada usada no acionador. Um sensor sem mapeamento de origem não pode participar.

## Use várias leituras por dispositivo

Quando todos os dispositivos observados fornecem todas as chaves normalizadas necessárias, o Kilo avalia essas leituras dentro de cada dispositivo.

Por exemplo, um acionador da bomba pode exigir `vibração > 12` E `pump_running = true`. Se cada bomba fornecer ambas as métricas, cada bomba é avaliada inteiramente com base nas suas próprias leituras.

## Use uma leitura partilhada

Uma chave normalizada adicional pode, em vez disso, ser fornecida por exatamente um dispositivo selecionado para todos os dispositivos observados.

Por exemplo:

* cada porta corta-fogo fornece o seu próprio `door_open` valor;
* um controlador do edifício fornece `heating_on`;
* o acionador verifica cada porta separadamente enquanto usa o mesmo estado de aquecimento para cada porta.

O controlador do edifício participa no acionador, mas não recebe uma linha de condição da porta. O Kilo recusa uma configuração ambígua em que uma chave adicional é fornecida apenas por alguns dispositivos observados ou por vários possíveis fornecedores partilhados.

## Leia a pré-visualização da execução

**Como este gatilho será executado** é a verificação final da composição:

* **Dispositivo avaliado** identifica cada dispositivo observado de forma independente.
* **Verificação** mostra a condição avaliada para esse dispositivo.
* **Usos** identifica qualquer dispositivo que forneça uma leitura partilhada.

Não guarde até que todos os dispositivos observados esperados tenham uma linha e cada entrada partilhada aponte para o fornecedor pretendido.

## Identifique o dispositivo na regra

O sinal do acionador inclui `vars.device_name`, `vars.subject_id`, e `vars.sensor_id`. Use `vars.device_name` numa mensagem de alarme para que os operadores saibam qual ativo requer atenção:

```cel
"Porta da câmara frigorífica deixada aberta: " + vars.device_name
```

`vars.value` não é incluído porque a regra começa a partir da transição da condição do acionador, e não de um evento de sensor.

## Ver também

* [Acionadores](/kilo-docs-pt/kilo-iot-server/rules-engine/triggers.md) — criação da condição e ligação à regra
* [Tempo do Gatilho](/kilo-docs-pt/kilo-iot-server/rules-engine/triggers/trigger-timing.md) — condições imediatas e sustentadas
* [Métricas](/kilo-docs-pt/kilo-iot-server/devices/metric-templates.md) — chaves normalizadas e mapeamentos de dispositivos


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-pt/kilo-iot-server/rules-engine/triggers/multiple-devices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
