@pierre-gilles, cette maquette est-elle parlante déjà ?
(accès public) Maquette : récupérer un état dans le temps.
Spécification fonctionnelle
- “Récupérer le dernier état” devient “Récupérer un état”
- L’état d’un appareil peut être récupéré suivant plusieurs possibilités :
- Dernière valeur
- Temps relatif (Il y a …)
- Par date
- Sur une période
Détail des possibilités évoquées
1. Dernière valeur
C’est exactement ce qui est fait actuellement, et assez parlant
2. Temps relatif
Ici l’idée est de pouvoir dire : je veux comparer la valeur d’il y a 10 minutes (basé sur l’heure d’exécution de la scène).
On va pouvoir comparer deux valeur à 10 minutes d’écart, sans attendre pour autant !
Si la scène s’exécute à 12h00 et que l’utilisateur à choisi “il y a 10 minutes”, la valeur sera comparée à celle de 11h50m00s (±30s pour trouver une valeur). Si aucune valeur n’est trouvé entre 11h49m30s et 11h50m30s, le test échoue.
3. Par date
C’est un peu identique au temps relatif, mais on peut préciser une date bien précise sans limite particulière. On va donc pouvoir comparer des valeurs à plusieurs jours voire mois d’écart.
On peut imaginer ici, faire une comparaison sur une “valeur de référence” à une date bien précise.
Attention ici : il faudra alerter l’utilisateur s’il choisi une date à laquelle il n’existe pas de valeur.
4. Sur une période
Il s’agit du plus intéressant je trouve : l’utilisateur va être en mesure de comparer une valeur sur toute celles récupérées pendant une certaine période de temps.
Exemples :
- On peut vérifier si un capteur de mouvement a détecté un mouvement dans les 10 dernières minutes (basé sur l’heure d’exécution de la scène).
- On peut vérifier si une prise a consommé un certain niveau de puissance instantané dans les 30 dernières minutes
- etc…
Dans le cas d’un capteur (ou actionneur) dont les valeurs peuvent changer très régulièrement et ne sont pas forcément binaires (température, consommation en Watt, luminosité en Lux, etc.), la valeur de “référence” utilisée dans la scène pour le test sera comparée à toutes celles enregistrées.
Si je veux vérifier que ma prise a consommé moins de 15W dans les 30 dernières minutes, le test va s’écrire : “Ma prise” < “15W” dans les “30 dernières minutes”.
Gladys va alors vérifier dans la base de données si dans toutes les valeurs récupérées ses 30 dernières minutes ne dépassent pas les 15W.
Récupération des valeurs de test
Comme pour le bloc “récupérer la dernière valeur”, il faudrait que la valeur utilisée lors des tests soit automatiquement récupérée (temps d’enregistrement de la valeur + valeur).
Exemple :
- Je fais un test sur l’équipement “mon-capteur” pour vérifier s’il y a eu du mouvement dans les 10 dernières minutes, donc entre 11h50 et 12h00 (heure d’exécution de la scène).
- Si du mouvement à été enregistré disons à 11h56, deux variables sont créées dans la scène : “mon-capteur-test-1-valeur” et “mon-capteur-test-1-heure”.
- Je suis en mesure d’envoyer un message avec ces deux variables, pour m’avertir “mouvement détecté (value = 1) à 11h56.”