> 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/dashboards/adding-widgets/conditions.md).

# Condições

Configure condições de cor por métrica nos widgets — regras verde, amarela e vermelha transformam leituras brutas de sensores em estado.

As condições são regras de cor por métrica que transformam uma leitura bruta de sensor em estado operacional. Em vez de um operador olhar para um número e decidir se é aceitável, o widget mostra verde, amarelo ou vermelho com base nas regras que definir. O mesmo tipo de sensor em dois contextos diferentes pode ter conjuntos de condições completamente diferentes — uma temperatura de 4°C numa unidade de armazenamento a frio é compatível (verde), mas a mesma leitura numa sala limpa farmacêutica pode estar fora da especificação (vermelho).

## Que widgets usam condições

As condições estão disponíveis para **Últimos dados** e **Imagem** widgets. Cada métrica nestes widgets tem o seu próprio conjunto independente de condições.

A **Chart** widget usa uma abordagem diferente — faixas de limiar ao nível da aparência no gráfico e um seletor de cor por métrica. Veja [Widget de gráfico](/kilo-docs-pt/kilo-iot-server/dashboards/adding-widgets/chart-widget.md).

## Nota sobre o tipo de métrica

Os seletores de métrica nos widgets Últimos dados e Imagem apresentam tipos de sensor numéricos (INTEGER e FLOAT). Na prática, as condições nestes widgets serão condições do tipo Number que correspondem a leituras numéricas. A janela modal de condições também expõe opções de tipo de dados String e Boolean — estas são abordadas abaixo —, mas a sua utilização requer um widget que possa selecionar um sensor desses tipos.

## Como abrir a janela modal de Condições

1. Abra o painel de definições do widget e vá para o **Fonte de dados** separador.
2. Encontre a linha da métrica do sensor que quer configurar.
3. Clica no **botão Condições** — com a etiqueta **"Condições: N"** onde N é o número atual de condições.

## O que a janela modal de Condições contém

**Título:** "Condições" / **Subtítulo:** "O primeiro conjunto de condições definido será considerado prioritário"

**Cabeçalho (aplica-se a toda a métrica):**

* **métrica do dispositivo** — Só leitura. Identifica para que sensor é esta janela modal.
* **Unidade** — Um campo de texto livre para a unidade mostrada junto ao valor no widget (por exemplo `42 cm`). Introduza **qualquer unidade** — `mm`, `cm`, `m`, `in`, `L`, `gal`, `barra`, `ppm`, `°C`, qualquer coisa. Não há uma lista fixa nem uma suposição de percentagem: é qualquer etiqueta que introduzir. O campo é preenchido previamente com a unidade própria do sensor; altere-a para o que fizer sentido. As suas condições **De / Até** os valores são números simples expressos nesta unidade (portanto `De 0 Até 30` significa 0–30 do que quer que tenha definido aqui).
* **Ícone** — Altere o ícone de apresentação desta métrica.
* **Cor predefinida** — A cor usada quando nenhuma condição corresponde. Este é o único local para definir a cor base da métrica.

**Por condição:**

* **Nome da condição** *(obrigatório)* — Uma etiqueta como "Conforme", "Aviso" ou "Incumprimento". Não pode estar vazia.
* **Tipo de dados** — Number, String ou Boolean (ver abaixo)
* **Campos de valor** — Dependem do tipo de dados
* **Cor** — A cor apresentada quando esta condição corresponde
* **Eliminar** — Remover esta condição

**Adicionar condição** — Cria uma nova condição. Predefinição: nome "Condição N", tipo Number, intervalo 0–100, cor principal.

Sem limite para o número de condições por métrica.

**Guardar** (desativado enquanto existirem erros de validação) / **Cancelar**

## Prioridade: a primeira correspondência vence

As condições são avaliadas de cima para baixo. A primeira condição da lista que corresponde à leitura atual determina a cor. Se um sensor lê 10°C e a sua primeira condição corresponde a leituras entre 8–12°C, a cor dessa condição é usada — as condições seguintes não são verificadas.

Organize as suas condições da mais específica para a mais geral, ou da prioridade mais alta para a mais baixa.

## Campos de valor por tipo de dados

### Número *(caminho operacional principal)*

**De** e **Até** campos — ambos são opcionais. Um ou ambos podem ser deixados em branco para criar intervalos sem limite:

* **De vazio** — corresponde a qualquer valor abaixo de Até (sem limite inferior)
* **Até vazio** — corresponde a qualquer valor acima de De (sem limite superior)
* **Ambos preenchidos** — De tem de ser ≤ Até

Exemplos:

* De 2, Até 8 → corresponde a leituras entre 2 e 8
* De 8 (sem Até) → corresponde a qualquer leitura igual ou superior a 8
* (sem De), Até 2 → corresponde a qualquer leitura igual ou inferior a 2

### Condições Number — estados em funcionamento/parado e aberto/fechado

Os sensores de controlo e estado muitas vezes comunicam o estado binário como um inteiro: 1 quando ativo ou aberto, 0 quando parado ou fechado. As condições Number associam esses valores a etiquetas operacionais:

* Condição "Em funcionamento" — Number, De 1, Até 1 — azul
* Condição "Parado" — Number, De 0, Até 0 — cinzento

Exemplos operacionais:

* Estado da bomba: 1 = "Em funcionamento" (azul), 0 = "Parado" (cinzento)
* Posição da válvula: 1 = "Aberta" (verde), 0 = "Fechada" (cinzento)
* Interbloqueio do equipamento: 1 = "Engatado" (verde), 0 = "Não engatado" (vermelho)

O mesmo tipo de condição Number trata de todos estes casos. A diferença está apenas nas etiquetas e cores que atribuir.

### Texto

Um único **Valor** campo de texto. Corresponde exatamente à leitura, com distinção entre maiúsculas e minúsculas. Disponível na janela modal de condições, mas requer um widget que apresente um sensor do tipo String — os seletores dos widgets Últimos dados e Imagem não apresentam sensores String.

### Booleano

Um **Verdadeiro / Falso** menu pendente. Corresponde exatamente à leitura. Disponível na janela modal de condições, mas requer um widget que apresente um sensor do tipo Boolean — os seletores dos widgets Últimos dados e Imagem não apresentam sensores Boolean.

## Hierarquia de cor de reserva

1. **Cor da condição correspondente** — Cor da primeira condição correspondente
2. **Cor predefinida** — Definida no cabeçalho da janela modal; aplica-se quando nenhuma condição corresponde
3. **Predefinição da plataforma** — Aplica-se quando nenhuma cor predefinida é definida na janela modal

## Exemplos operacionais

### Manter uma reserva abastecida

Um sensor de nível em algo que tem de se manter cheio — uma reserva de refrigerante ou reagente, um depósito de água que alimenta um processo — comunica o seu nível na unidade que escolher. Defina essa unidade no **Unidade** campo da janela modal (aceita qualquer coisa — `mm`, `cm`, `m`, `in`, `L`…); aqui vamos ler a profundidade em **centímetros** de um depósito de cerca de um metro. Três condições Number transformam então a leitura num estado de reabastecimento de relance — e, como a **primeira condição correspondente vence**, ordene-as primeiro pelas mais urgentes:

* **Reabastecer** — Number, De 0, Até 30 — vermelho
* **A ficar baixo** — Number, De 30, Até 50 — âmbar
* **Nível normal** — Number, De 50, Até 100 — verde

<figure><img src="https://585438662-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-6f0179a593f498544216bcda1071027fd9d4f89e%2Fconditions.jpg?alt=media" alt="Conditions modal with three fill-level rules — Refill 0–30 red, Getting Low 30–50 amber, Normal Level 50–100 green"><figcaption></figcaption></figure>

No widget, a métrica aparece a verde enquanto a reserva está saudável, torna-se âmbar à medida que diminui e fica vermelha no momento em que entra na zona de reabastecimento — para que um operador a reponha antes de secar. Para ser também alertado fora do painel, associe o mesmo limiar a um [Alarme](/kilo-docs-pt/kilo-iot-server/alarm.md).

### Condições Number — mesmo tipo de sensor, dois contextos

**Unidade de refrigeração:**

* "Conforme" — De 2, Até 8 — verde
* "Aviso" — De 8, Até 12 — amarelo
* "Incumprimento" — De 12 (sem limite superior) — vermelho

**Sala limpa farmacêutica (mesmo tipo de sensor, especificação diferente):**

* "Normal" — De 20, Até 22 — verde
* "Elevado" — De 22, Até 24 — amarelo
* "Fora da especificação" — De 24 (sem limite superior) — vermelho

Ambas medem a temperatura em °C. O hardware é o mesmo. As condições codificam o que essas temperaturas significam em cada ambiente específico.

### Condições Number — limites abertos para monitorização de limiares

Um sensor de depósito de armazenamento de líquidos que comunica o nível de enchimento na unidade configurada (aqui, percentagem — mas o **Unidade** campo aceita qualquer unidade):

* "Crítico" — (sem De), Até 10 — vermelho
* "Baixo" — De 10, Até 30 — amarelo
* "Adequado" — De 30 (sem limite superior) — verde

A primeira condição abrange tudo abaixo de 10% sem necessidade de especificar um limite inferior. A última condição abrange tudo acima de 30% sem necessidade de limite superior. Só define onde estão os limites relevantes.

O mesmo padrão aplica-se aos níveis de bateria, volumes de depósito em litros, pressão em bar ou qualquer métrica operacional em que a escala seja importante, mas apenas as zonas de fronteira necessitem de definição explícita.

### Condições String — sensores de estado do dispositivo

Se um sensor comunicar valores de estado em texto (por exemplo, "OK", "DEGRADADO", "FALHA"), as condições String associam cada valor a uma cor:

* "OK" — String, Valor: OK — verde
* "Degradado" — String, Valor: DEGRADED — amarelo
* "Falha" — String, Valor: FAULT — vermelho

O widget mostra a cor correta para cada estado sem qualquer avaliação numérica.

### Condições Boolean — sensores de estado binário

Para sensores que comunicam estado Verdadeiro/Falso (em funcionamento/parado, aberto/fechado, ativo/inativo):

* Verdadeiro = uma cor e etiqueta, Falso = outra cor e etiqueta

Por exemplo, o estado de funcionamento de uma bomba: Verdadeiro → azul "Em funcionamento", Falso → cinzento "Inativo". Ou um interbloqueio de segurança do equipamento: Verdadeiro → verde "Ativado", Falso → vermelho "Não ativado".

## Ver também

* [Widget de Últimos dados](/kilo-docs-pt/kilo-iot-server/dashboards/adding-widgets/last-data-widget.md) — Aplicar condições a leituras de sensores e medidores
* [Widget de Imagem](/kilo-docs-pt/kilo-iot-server/dashboards/adding-widgets/image-widget.md) — Aplicar condições para controlar as cores dos pinos na imagem


---

# 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/dashboards/adding-widgets/conditions.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.
