Quelques explications en attendant la doc officielle ?
#1
Bonjour

En tant que programmeur/développeur, je mets beaucoup d'espoir dans les "automates" de la LD, fonctionnalité qui rendra ce superviseur vraiment incontournable dans le monde KNX grâce à la simplification de la programmation qui a été choisie/implémentée.

Cependant, pour l'instant, la doc est encore un "work in progress" et beaucoup de fonctionnalités sont obscures.

Par exemple, je n'ai jamais réussi à sauver une "fonction" -- genre f(x) -- et à la réutiliser ni même simplement à l'utiliser. Je dois faire un truc de travers, mais j'ai pas compris quoi: j'ai d'office une erreur à l'exécution de tout automate appelant une fonction ... :(

D'autre part il y a un certain nombre d'opérateurs dont j'ignore la signification ou l'usage, parmi ceux-ci:
  • #: ??? jamais essayé
  • ~: ??? jamais essayé
  • [a,b] et ]a,b[ : je pense avoir compris qu'il s'agit d'intervalles "inclus" ou "exclus" mais je n'ai pas réussi (ni cherché à approfondir, je l'avoue :o) ce qu'il faut mettre pour chacune des flèches. En effet, on obtient trois points de connexion. Où met-on la variable/valeur à comparer et où met-on les limites ? Et est-ce que ca marche pour tout type de variable ? Y compris des heures et des dates ?
  • C: ??? disponible uniquement quand on crée des fonctions (?) ... j'espérais qu'on puisse écrire du code C mais ...:confused:
  • toSTR et fromSTR: je devine qu'il s'agit de conversion en STRing, ou depuis des STRing ... est-il possible de faire des conversions en numérique ? Ce serait bien d'avoir la possibilité de récupérer (par ex. et entre autres): les heures, minutes, mois, année, nom de l'utilisateur connecté (pour lui faire "bienvenue, machin" quand il se connecte au DS)
  • pourquoi n'y a t il pas d'opérateur "différent de" ... Si on fait une seule comparaison genre "Si variable <> 10", il est certain qu'on peut transformer ca en "Si variable = 10" et inverser les blocs "TRUE/FALSE" mais si on fait une comparaison combinée genre "Si variable1 > 20 et variable2<>10", ca devient plus difficile d'utiliser l'opérateur "=" ...


Si quelqu'un (Lifedomus Team ou pas) connait les réponses ... merci à lui :-)

--tilleul
www.osmotiq.com
Twitter: osmotiq
Répondre
#2
Bin je t'aurais bien répondu mais je me pose les mêmes questions que toi...
Tout au plus ai je imaginé que les 3 points de connexion pour les [a,b] et ]a,b[ étaient destinés à recevoir la valeur inférieure, l'opérande à comparer et la valeur supérieure...
Le reste je ne sais pas.
Siouplaît, on veut de la doc !
@+
Thierry
Répondre
#3
Bonjour,
La doc sur les automates a été étoffée, elle est en phase de relecture et devrait être mise à jour très bientôt sur le site.

Pour l'utilisation d'une fonction, il faut bien définir un label et valider dans le panneau de droite pour qu'elle soit créée. Elle apparaîtra alors dans la liste de gauche.
Ensuite, pour son fonctionnement cela dépend bien sûr du contenu..

Les opérateurs :
# : équivaut au XOR dans les comparaisons logiques
~ : C'est le NOT que vous cherchez :)
[a,b] et ]a,b[ : sont bien des intervalles. L'opérande de la première connexion doit être comprise entre les valeurs liées aux 2 dernières connexions.
toSTR et fromSTR sont bien des convertions de type.

Cordialement
Grégory
Equipe Lifedomus
Répondre
#4
J'ai oublié le C : il s'agit d'une fonction de concaténation de 2 chaines de caractères.
Grégory
Equipe Lifedomus
Répondre
#5
Super ! Merci pour les infos.

Pour les fonctions, j'arrive à les créer mais pas à les réutiliser.
Et quand j'ai un bloc IF et que je fais "convertir en fonction", mon bloc IF ne fonctionne plus jusqu'à ce que je fasse la conversion/copie inverse.

La prochaine fois que je serai dans le CS je vais ré-essayer et je décrirai sur ce forum ce que je fais pas-à-pas... ca aidera à mieux comprendre où je me plante..
www.osmotiq.com, domotique, développement logiciel et web -- tests & tutoriels KNX, Lifedomus, ZWave, etc.
Twitter: osmotiq
Répondre
#6
Bonjour,
Toujours pas de news concernant la doc officiel sur les opérateurs, ca serait bien utile.
J'essaye de faire une condition heure en me servant de l'opérateur [A,B],qui me semble correspondre à l'heure ou autre est comprise entre A et B, mais ca ne fonctionne pas.
Si quelqu'un à déjà fais ce type de condition ,je suis preneur pour explication.

olivier
Répondre
#7
Sur le même sujet (absence de documentation) j'en suis réduit à cliquer sur des boutons afin de savoir à quoi ils servent...
Pour faire une condition avec des heures, j'ai galéré un certain temps ! Et tout ceci pour se rendre compte que le 00:00 n'est pas pris en compte dans LD correctement si on veut utiliser un opérateur [A,B]

C'est pas beau, mais voici le résultat qui marche [ATTACH=CONFIG]380[/ATTACH]
Répondre
#8
Merci pour la solution ,c'est quand même domage de ne pas utilise tous simplement [a,b]..
Olivier
Répondre
#9
Bonsoir,

Il me semble que heure du système comprit entre 22h et 7h est un bug qui avait été remonté et corriger je revérifierais.
Pour ce qui est de la documentation des opérateurs, je vais faire le maximum pour qu'elle soit disponible au plus tard début de semaine prochaine.

Julien
Répondre




Utilisateur(s) parcourant ce sujet : 1 visiteur(s)