Forum Lifedomus
Variables, sélection, valeurs par défaut, types, limites, opérations, édition DS,etc. - Version imprimable

+- Forum Lifedomus (http://forum-lifedomus.com)
+-- Forum : Les outils de configuration et design (http://forum-lifedomus.com/forumdisplay.php?fid=7)
+--- Forum : Config Studio (CS) (http://forum-lifedomus.com/forumdisplay.php?fid=8)
+---- Forum : Automatismes (http://forum-lifedomus.com/forumdisplay.php?fid=42)
+----- Forum : Automates (Module logique avancé) (http://forum-lifedomus.com/forumdisplay.php?fid=144)
+----- Sujet : Variables, sélection, valeurs par défaut, types, limites, opérations, édition DS,etc. (/showthread.php?tid=104)



Variables, sélection, valeurs par défaut, types, limites, opérations, édition DS,etc. - tilleul - 04-30-2013

Bonjour

Plusieurs points/questions/remarques/demandes concernant les variables.

Valeur initiale
J'ai remarqué que lorsque je crée une nouvelle variable, je ne peux pas l'utiliser pour un IF ou pour un calcul (par ex. bêtement un compteur incrémental) tant qu'elle n'a pas été initialisée une fois (du coup je rajoute un bloc VAR dans mon automate pour initialiser la variable, je lance l'automate, puis je vire le bloc VAR). Est-ce que mon interprétation du phénomène est correcte ? Si oui, serait-il possible à la création de la variable de déjà lui assigner une valeur par défaut plutot que "NULL" (comme cela semble être le cas). Par ex: un booléen vaut FALSE par défaut, un numérique vaut zéro, une date vaut 1 janvier 2000, une heure vaut 00:00 etc.

Sélection d'une variable
Quand on a une vingtaine de variables ou plus, la sélection d'une variable (pour l'utiliser dans un bloc) devient contraignante: il n'y a que 4-5 variables affichées en même temps, elles sont classées par ordre de création (donc il faut se souvenir de l'ordre dans lequel on les a créées et en plus la dernière qu'on vient de créer et qu'on voudrait utiliser est tout au fond de la liste) et elles ne sont pas filtrées hors de la liste en fonction de l'opérateur. Serait-il possible/envisageable d'afficher soit une popup de sélection de variables (ce qui permettrait d'en afficher plus et de proposer toutes sortes de filtres), soit de les classer au moins par ordre alphabétique ? D'autre part, seules les variables marquées d'un "+" sont utilisables dans le bloc qu'on est en train d'éditer. Ne pourrait-on pas du coup ne PAS afficher les variables qu'on ne peut de toutes manières pas utiliser dans le bloc ?

Limites de valeurs
J'ai remarqué que quand on fait une opération mathématique sur une variable de type Heure (dont il faudrait peut-être revoir le nom vu que c'est les heures+les minutes) et qu'on dépasse 23h59 ou qu'on descend en dessous de 00:00, le calcul plante (et l'automate aussi). Je peux comprendre qu'il y ait une limite car c'est une "Heure" et pas une "Durée" mais peut-être faudrait-il un comportement différent car cela signifie qu'il faut à chaque fois qu'on fait un calcul sur une "Heure", vérifier au préalable que ce calcul ne va pas planter l'automate. Je n'ai pas essayé mais que se passe-t-il si on fait un calcul sur une "Date" ? Y a t-il aussi des limites à respecter ?

Plus basiquement, pour un compteur numérique, y a t-il aussi des limites, si oui lesquelles ? Ou alors est-ce comme en programmation "classique", quand on atteint la limite supérieure, la variable passe à la limite inférieure (boucle) ?

Opérations
J'ai remarqué un bug lorsqu'on fait une soustraction sur une variable de type "Heure". Si on retire un heure complète (60 minutes donc), ca marche. Si je retire moins (15 minutes par ex.), ca plante. De mémoire je ne sais plus si le problème se pose également en addition mais je pense que non.

Types de variables
Pourrait-on envisager la création d'une variable de type "Tranche Horaire". Dans mon esprit, il s'agirait d'un type de variable relativement complexe, un peu comme lorsqu'on planifie un scénario, avec des répétitions, des jours de semaine, une durée, un début, une fin, etc. Mais aussi et surtout un statut qui indiquerait si, selon SYSTEM_TIME et SYSTEM_DATE, on est actuellement dans la tranche horaire ou pas afin qu'un automate puisse agir différemment selon qu'on est dans l'horaire ou pas ou être déclenché ou pas. Le fait d'avoir ces tranches horaires sous forme de variable plutot que de planifier des scénarios ou des automates permettrait par exemple d'avoir des horaires différents selon des événements extérieurs: par exemple, selon qui est à la maison, chauffer plus ou moins longtemps l'eau sanitaire (les ados ca se lève toujours plus tard), ou bien selon la saison, arroser le gazon à des périodes différentes, ou encore ouvrir le portail à votre jardinier en votre absence (sur code PIN par ex.) mais seulement entre 7h et 9h le mercredi, alors que pour le pisciniste c'est le jeudi entre 10h et 11h, etc.
Bien sûr il faudrait que ce type de variable soit éditable depuis le DS. :D

Edition de variables dans le DS
Est-il possible de laisser à l'utilisateur la possibilité d'éditer une variable mais en lui donnant soit des limites min/max soit une liste de choix ? Par exemple il pourrait configurer la température au delà de laquelle il faut descendre les toiles d'ombrage de la terrasse. Pouvoir lui interdire de choisir une valeur inférieure à 15°C serait un plus. De même qu'autoriser un pas de 0.5°C par ex.

Je n'ai pas réussi à autoriser l'édition d'une variable de type "Heure" ou "Date". Est-ce prévu ?



--tilleul
www.osmotiq.com
Twitter: osmotiq


Variables, sélection, valeurs par défaut, types, limites, opérations, édition DS,etc. - Julien - 04-30-2013

Bonjour,

Valeur initiales : Nous travaillons sur un système pour initialiser les variables autrement que par le moyen cité.

Sélection d'une variable : Nous laissons l'accés à toutes les variables pour que les gens puissent se rendre compte que certaines variable n'ont pas un type compatible,
Cependant votre remarque est fondé, un moyen plus lisible pour la sélection de variable peut être envisagé.

Limites de valeurs / Opérations: Ceci n'est pas une limite mais un soucis de calcul qui sera corrigé dans la prochaine version.

Types de variables / Edition de variables dans le DS : Ces demandes seront évalué pour intégration dans une prochaine version de LifeDomus.
Nous vous tiendrons informé de la réalisation de ces fonctions.

Julien