El bloque Solo si indica lo que debe cumplirse cuando se activa un disparador: «Todas estas deben cumplirse.» Es opcional. Las mismas condiciones las usan las acciones Esperar hasta que se cumpla algo y Elegir según una condición. Haga clic en Añadir una condición y elija el tipo.
Las condiciones leen los valores almacenados ahora, en el momento en que se comprueban. No esperan a un nuevo mensaje.
| Tipo | Se cumple cuando |
|---|---|
| Un valor | El último valor almacenado de un dispositivo se compara como se haya elegido. |
| Un dispositivo está en línea o fuera de línea | El dispositivo está en línea / está fuera de línea. |
| Una alarma está activa | Un dispositivo tiene una alarma activa / no tiene ninguna alarma activa, opcionalmente de una gravedad mínima. |
| Una franja horaria | La hora es Después de … y Antes de …, en los días de la semana elegidos. |
| Día o noche | Es de día / Es de noche en el lugar. |
| Meses o fechas | Hoy está en los meses elegidos, en los días del mes elegidos, o Entre dos fechas. |
| Un festivo | Hoy es festivo / Hoy es laborable. |
| Una fórmula | Una fórmula sobre valores almacenados es verdadera. |
Un valor
Elija el Dispositivo, el Valor (clave), el operador y el valor:
| Operador | Significado |
|---|---|
| es mayor que / es al menos | > / >= |
| es menor que / es como máximo | < / <= |
| es / no es | == / != |
| está entre x y y | x ≤ valor ≤ y |
Los números y el texto con forma de número se comparan como números; es / no es comparan cualquier otra cosa como texto. Un dispositivo sin valor almacenado para la clave hace que la condición sea falsa, y el registro de ejecución indica cuál: «Sala 1 · la humedad no tiene valor almacenado». Las condiciones leen valores de telemetría; un valor que el dispositivo envía solo como atributo no tiene valor de telemetría almacenado.
Las condiciones comparan con valores fijos que escribe. Para comparar con el valor de otro dispositivo o con un límite calculado, use Una fórmula.
Un dispositivo está en línea o fuera de línea
Lee el estado de conexión actual del dispositivo según la regla de conexión de su perfil. Un dispositivo con Solo última vez vista no está ni en línea ni fuera de línea, así que ambas opciones son falsas.
Una alarma está activa
tiene una alarma activa se cumple cuando el dispositivo tiene una alarma abierta o reconocida, de al menos la gravedad elegida si la ha definido. No distingue las alarmas reconocidas de las abiertas, así que «si sigue sin reconocerse tras 30 minutos» no se puede construir así; use en su lugar los recordatorios de la regla de alarma (véase Alarm notifications in depth).
Una franja horaria
Después de y Antes de en formato HH:MM, y opcionalmente días de la semana. La franja incluye Después de y excluye Antes de. Una franja puede cruzar la medianoche: después de las 22:00, antes de las 06:00. Deje Después de vacío para «desde medianoche» y Antes de vacío para «hasta medianoche».
Día o noche
El día es el periodo entre el amanecer y el atardecer de hoy en la ubicación del lugar. Un lugar sin ubicación hace que sea falso («el lugar no tiene ubicación, así que el día y la noche son desconocidos»). Cerca de los polos, en días sin amanecer o atardecer, también es falso.
Meses o fechas
Cualquier combinación de:
- meses (de enero a diciembre),
- días del mes (del 1 al 31),
- Entre dos fechas: Desde y Hasta como mes y día, ambos incluidos. La franja puede cruzar el año nuevo (del 1 de noviembre al 28 de febrero).
Debe cumplirse cada parte que haya definido. «Indique a qué meses, días del mes o fechas se refiere.» si no hay ninguno; «Una franja de fechas necesita su primera y su última fecha.» si solo se ha fijado un extremo.
Un festivo
Hoy es festivo se cumple los días del calendario de festivos de su organización; Hoy es laborable se cumple en todos los demás días. «Hoy» es la fecha propia del lugar. Consulte Hora, amanecer/atardecer, fechas y festivos para saber de dónde procede el calendario. Sin calendario de festivos, ningún día es festivo.
Una fórmula
Escriba el nombre de un dispositivo y uno de sus valores entre corchetes, y compare o calcule:
[Room 1].[temperature] > [Outdoor].[temperature] + 3
[Tank A].[level] + [Tank B].[level] < 120
[Pump 1].[running] == 1 && [Pump 2].[running] == 1
- Compare y calcule con
>,<,==,&&(y),||(o),+,-,*y/. La fórmula se comprueba al guardar; el texto que no se pueda leer se rechaza con «La fórmula no se puede leer: …». - Añadir este valor inserta un dispositivo y un valor del lugar.
- Los dispositivos se nombran por su nombre y deben estar en el ámbito de la regla. Se rechazan dos dispositivos con el mismo nombre: «Hay más de un dispositivo llamado “…”; cambie el nombre de uno de ellos.»
- Solo se pueden leer los valores entre corchetes: «Una fórmula lee solo los valores que nombra entre corchetes, como [Sala 1].[temperatura].»
- Como máximo 12 valores y 500 caracteres.
- Un valor sin nada almacenado todavía hace que la fórmula sea falsa, con el dispositivo y el valor en el registro de ejecución.
- Un resultado numérico se considera verdadero cuando no es 0.
Si cambia el nombre de un dispositivo, la regla seguirá funcionando con el dispositivo con el que se guardó hasta que la regla se vuelva a guardar; a partir de entonces la fórmula debe usar el nombre nuevo.
Grupos
Haga clic en Añadir un grupo para combinar condiciones:
| Grupo | Se cumple cuando |
|---|---|
| Se cumplen todas estas | se cumple cada condición |
| Se cumple alguna de estas | se cumple al menos una |
| No se cumple ninguna de estas | no se cumple ninguna |
Los grupos pueden anidarse hasta 4 niveles, con como máximo 16 condiciones en un grupo.
Todos los dispositivos o cualquier dispositivo
Una condición sobre Todos los perfil significa:
- en Se cumplen todas estas (y en el nivel superior de Solo si): todos los dispositivos de ese perfil del lugar deben cumplirla;
- en Se cumple alguna de estas: al menos uno debe cumplirla;
- No se cumple ninguna de estas niega la misma lectura («no todos los dispositivos están por encima de 25»).
Una referencia sin ningún dispositivo es falsa.
El registro de ejecución
Cuando una condición detiene una ejecución, el Historial de la regla indica el motivo con palabras: la primera condición fallida de un «todas», o cada motivo de un «alguna» fallido. Use Probar ahora en el editor para ver el mismo texto antes de guardar.
En JSON
"onlyIf": { "all": [
{ "kind": "value", "target": { "device": "<id>" }, "key": "temperature", "op": "between", "value": 18, "value2": 24 },
{ "kind": "status", "target": { "device": "<id>" }, "is": "online" },
{ "kind": "alarm", "target": { "home": true }, "active": false, "minSeverity": "major" },
{ "kind": "time", "after": "08:00", "before": "18:00", "days": [1, 2, 3, 4, 5] },
{ "kind": "sun", "is": "night" },
{ "kind": "date", "from": "06-01", "to": "09-30" },
{ "kind": "holiday", "is": false },
{ "not": { "kind": "expr", "expr": "[Room 1].[co2] > 1200" } }
] }

