Page 5 sur 6

Re: Températures min/max et envoi par mail

Publié : 12 déc. 2020, 17:59
par Keros
Merci Denis, je ne disais qu'une fonction devait bien exister :D

Re: Températures min/max et envoi par mail

Publié : 12 déc. 2020, 18:03
par denis_brasseur
Keros a écrit : 12 déc. 2020, 17:59 Merci Denis, je ne disais qu'une fonction devait bien exister :D
La seule limite aux fonctions, c'est notre imagination :D

Re: Températures min/max et envoi par mail

Publié : 12 déc. 2020, 18:07
par Keros
Oui mais sur ce coup là, il faut connaitre et savoir utiliser string.format("%02d",minute)

D'ailleurs, la fonction ne permet que d'afficher un code plus facile à lire : deuxDigits(minute) revient exactement au même que string.format("%02d",minute).

Tu pourrais même intégrer le tostring dans la fonction pour simplifier encore plus le code ;)

Re: Températures min/max et envoi par mail

Publié : 12 déc. 2020, 19:39
par denis_brasseur
Keros a écrit : 12 déc. 2020, 18:07
Tu pourrais même intégrer le tostring dans la fonction pour simplifier encore plus le code ;)
Pas la peine, fonctionne avec une valeur en string ou en integer.

Re: Températures min/max et envoi par mail

Publié : 12 déc. 2020, 19:49
par Keros
Pardon, en voyant ton exemple, je pensais que le tostring() était nécessaire.

Re: Températures min/max et envoi par mail

Publié : 12 déc. 2020, 20:01
par Jbelbus
J'ai testé la fonction qui fonctionne et sans la fonction qui fonctionne également.

@Keros
J'ai crié victoire trop tôt, pour faire ces test je modifie les variables en conséquence, j'indique 3 dans la variable Temp_min_ext_min je reçois donc 03 dans les messages sauf que la variable est passée à 20 et là la valeur dans les messages indique NIL.

Du coup, j'ai mis le mode sans fonction (plus court).

Une question, j'ai vu dans pas mal de scripts, la déclaration de variables locales en tête de script, ex:
local debug = 'yes'
hour = tonumber(os.date("%H"));
etc...
et ensuite commandArray = {}
D'autres scripts commence par commandArray = {} et ensuite la déclaration de variables locales.
C'est quoi la différence et l'intérêt ?
Remerci, et je crois que je vais passer beaucoup de temps pour décoder et comprendre tout cela.

Re: Températures min/max et envoi par mail

Publié : 12 déc. 2020, 21:28
par Keros
Le Lua est un langage où il n'est pas nécessaire de déclarer une variable. Déclarer une variable signifie indiquer en tout début de script quels sont les variables qui seront utilisées et quelle est leur format (texte, nombre entier, décimal).

Concernant les scripts, les programmeurs regroupe souvent les variables de paramètre en haut du script afin quelles soient facilement identifiables et modifiable.
Mais que ce soit avant ou après le commandArray = {} ne change pas grand chose. Je pense qu'il vaut mieux le mettre après car ton script commence alors par commandArray = {} et fini par return commandArray

Re: Températures min/max et envoi par mail

Publié : 13 déc. 2020, 11:16
par Jbelbus
Ok,
Une petite dernière pour comprendre.

temp = tonumber(otherdevices_svalues[sonde])

tonumber c'est compris mais otherdevices_svalues je coince.

Re: Températures min/max et envoi par mail

Publié : 13 déc. 2020, 14:21
par Keros
otherdevices_svalues ça fait partie de la base des script en LUA : cela te permet de récupérer la valeur d'un autre device que celui qui appelle le script.

Je prends un exemple : tu as un chauffage dont tu gères les modes éco et confort par un planning. Disons que ton planning passe ton chauffage en mode eco le matin car tu pars travailler. Tu as, en plus du planning, un bouton Présence qui te permet de laisser ton chauffage en confort pendant toute la journée (pour les jours fériés par exemple).
Dans la gestion de ton chauffage, il faut donc faire appel à Présence pour savoir s'il doit appliquer la consigne Eco ou pas. C'est là qu'on utilise otherdevices_svalues['Présence'] pour récupérer l'info d'un autre device.

Mais là, on s'écartes du sujet qui est à la base un tuto pour les températures. Il faudrait plutôt que tu ouvres un sujet pour tes questions qui ne sont en lien avec celui-ci ;)

Re: Températures min/max et envoi par mail

Publié : 13 déc. 2020, 19:29
par Jbelbus
Ok, grand merci, je ne suis pas un adepte forum je vais suivre tous ces conseils j'ai bien compris.
Salutations.