Le bloc Seulement si indique ce qui doit être vrai lorsqu’un déclencheur se produit : « Toutes ces conditions doivent être vérifiées. » Il est facultatif. Les mêmes conditions sont utilisées par les actions Attendre qu’une condition soit vraie et Choisir selon une condition. Cliquez sur Ajouter une condition et choisissez le type.
Les conditions lisent les valeurs enregistrées actuellement, au moment où elles sont vérifiées. Elles n’attendent pas un nouveau message.
| Type | Est vraie lorsque |
|---|---|
| Une valeur | La dernière valeur enregistrée d’un appareil se compare comme choisi. |
| Un appareil est en ligne ou hors ligne | L’appareil est en ligne / est hors ligne. |
| Une alarme est active | Un appareil a une alarme active / n’a aucune alarme active, éventuellement d’une gravité minimale. |
| Une plage horaire | L’heure est après … et avant …, certains jours de la semaine choisis. |
| Jour ou nuit | Il fait jour / Il fait nuit à l’emplacement. |
| Mois ou dates | Aujourd’hui se situe dans les mois choisis, les jours du mois choisis, ou entre deux dates. |
| Un jour férié | Aujourd’hui est un jour férié / Aujourd’hui est un jour ouvré. |
| Une formule | Une formule portant sur des valeurs enregistrées est vraie. |
Une valeur
Choisissez l’appareil, la valeur (clé), l’opérateur et la valeur :
| Opérateur | Signification |
|---|---|
| est supérieur à / est au moins égal à | > / >= |
| est inférieur à / est au plus égal à | < / <= |
| est / n’est pas | == / != |
| est compris entre x et y | x ≤ valeur ≤ y |
Les nombres et les textes ressemblant à des nombres se comparent comme des nombres ; est / n’est pas comparent tout le reste comme du texte. Un appareil sans valeur enregistrée pour la clé rend la condition fausse, et le journal d’exécution l’indique : « Room 1 · humidity n’a aucune valeur enregistrée ». Les conditions lisent les valeurs de télémesure ; une valeur que l’appareil envoie seulement comme attribut n’a aucune valeur de télémesure enregistrée.
Les conditions se comparent à des valeurs fixes que vous saisissez. Pour comparer à la valeur d’un autre appareil ou à une limite calculée, utilisez Une formule.
Un appareil est en ligne ou hors ligne
Lit l’état de connexion actuel de l’appareil selon la règle de connexion de son profil. Un appareil en mode Dernière activité uniquement n’est ni l’un ni l’autre, donc les deux choix sont faux.
Une alarme est active
a une alarme active est vrai lorsque l’appareil a une alarme ouverte ou acquittée, d’au moins la gravité choisie si vous en avez défini une. Elle ne distingue pas les alarmes acquittées des alarmes ouvertes ; « si toujours non acquittée après 30 minutes » ne peut donc pas être construit ainsi ; utilisez plutôt les rappels de la règle d’alarme (voir Notifications d’alarme en détail).
Une plage horaire
Après et Avant au format HH:MM, et éventuellement des jours de la semaine. La plage inclut Après et exclut Avant. Une plage peut traverser minuit : après 22:00, avant 06:00. Laissez Après vide pour « depuis minuit », Avant vide pour « jusqu’à minuit ».
Jour ou nuit
Le jour est compris entre le lever et le coucher du soleil du lieu de l’emplacement. Un lieu sans emplacement rend la condition fausse (« le lieu n’a pas d’emplacement, donc le jour et la nuit sont inconnus »). Près des pôles, les jours sans lever ou coucher de soleil, elle est aussi fausse.
Mois ou dates
Toute combinaison de :
- mois (janvier à décembre),
- jours du mois (1 à 31),
- Entre deux dates : Du et Au sous forme de mois et jour, bornes incluses. La plage peut traverser le nouvel an (1er novembre au 28 février).
Chaque élément défini doit être vrai. « Indiquez les mois, jours du mois ou dates concernés. » si aucun n’est défini ; « Une plage de dates nécessite à la fois sa première et sa dernière date. » si une seule borne est définie.
Un jour férié
Aujourd’hui est un jour férié est vrai les jours du calendrier des jours fériés de votre organisation ; Aujourd’hui est un jour ouvré est vrai tous les autres jours. « Aujourd’hui » correspond à la date propre à l’emplacement. Voir Heure, lever/coucher du soleil, dates et jours fériés pour l’origine du calendrier. Sans calendrier de jours fériés, aucun jour n’est férié.
Une formule
Écrivez le nom d’un appareil et l’une de ses valeurs entre crochets, puis comparez ou calculez :
[Room 1].[temperature] > [Outdoor].[temperature] + 3
[Tank A].[level] + [Tank B].[level] < 120
[Pump 1].[running] == 1 && [Pump 2].[running] == 1
- Comparez et calculez avec
>,<,==,&&(et),||(ou),+,-,*et/. La formule est vérifiée à l’enregistrement ; un texte illisible est refusé avec « La formule ne peut pas être lue : … ». - Ajouter cette valeur insère un appareil et une valeur de l’emplacement.
- Les appareils sont désignés par leur nom et doivent appartenir au périmètre de la règle. Deux appareils portant le même nom sont refusés : « Plusieurs appareils s’appellent « … » ; renommez l’un d’eux. »
- Seules les valeurs entre crochets peuvent être lues : « Une formule ne lit que les valeurs que vous nommez entre crochets, comme [Room 1].[temperature]. »
- 12 valeurs au maximum et 500 caractères.
- Une valeur sans aucune donnée enregistrée rend la formule fausse, avec l’appareil et la valeur indiqués dans le journal d’exécution.
- Un résultat numérique est considéré comme vrai lorsqu’il n’est pas égal à 0.
Si vous renommez un appareil, la règle continue de fonctionner avec l’appareil enregistré avec elle jusqu’à son prochain enregistrement ; ensuite, la formule doit utiliser le nouveau nom.
Groupes
Cliquez sur Ajouter un groupe pour combiner des conditions :
| Groupe | Est vrai lorsque |
|---|---|
| Toutes ces conditions sont vraies | toutes les conditions sont vraies |
| L’une de ces conditions est vraie | au moins une est vraie |
| Aucune de ces conditions n’est vraie | aucune n’est vraie |
Les groupes s’imbriquent sur 4 niveaux au maximum, avec 16 conditions au maximum par groupe.
Chaque appareil ou un appareil quelconque
Une condition sur Chaque profil signifie :
- dans Toutes ces conditions sont vraies (et au premier niveau de Seulement si) : chaque appareil de ce profil dans l’emplacement doit la satisfaire ;
- dans L’une de ces conditions est vraie : au moins un appareil doit la satisfaire ;
- Aucune de ces conditions n’est vraie nie la même lecture (« tous les appareils ne sont pas au-dessus de 25 »).
Une référence sans aucun appareil est fausse.
Le journal d’exécution
Lorsqu’une condition arrête une exécution, l’Historique de la règle en indique la raison en toutes lettres : la première condition en échec d’un « toutes », ou chaque raison d’un « l’une » en échec. Utilisez Tester maintenant dans l’éditeur pour voir le même texte avant l’enregistrement.
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" } }
] }

