[LUA] Températures min/max et envoi par mail

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Jbelbus
Messages : 28
Inscription : 26 févr. 2020, 11:31

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

Message par Jbelbus »

Super et claires ces infos,

J'ai testé \n sans résultats je ne connais pas suffisamment la syntaxe des ponctuations, apostrophes, parenthèses, etc..pour être sur de ce que je fais mais je trouverai.

Comment on interprète cette ligne "commandArray['Variable:Temp_min_ext']= tostring(30)", juste pour terminer la compréhension du script, je ne comprends pas la fonction tostring

Une question sauf que je ne suis peut-être pas dans le sujet:
J'ai vu dans la signature, Mon installation, Rflink.

Est-il possible de déporter le Rflink du Raspberry en mode Lan.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

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

Message par Keros »

Alors la fonction tostring() est l'inverse de la fonction tonumber() : tostring() permet de convertir une valeur en une chaine de caractère.

La ligne commandArray['Variable:Temp_min_ext']= tostring(30) permet d'enregistrer les caractères 30 dans une varaible utilisateur qui s'appelle Temp_min_ext.

Par exemple, comme la variable Temp_min_ext est du texte, il est impossible de faire une condition pour savoir si la valeur est inférieure à 10 sans reconvertir la valeur en numéraire.

HS :
Concernant le RFlink, il me semble qu'il est possible de le brancher en ethernet. Recherche RFlink ethernet sur le forum.
PS : évite les hors sujets, cela complexifie la compréhension du sujet. Continu un sujet s'il te manque des infos et si tu n'as rien trouvé dans la recherche, créer un sujet ;)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Jbelbus
Messages : 28
Inscription : 26 févr. 2020, 11:31

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

Message par Jbelbus »

Super,

Merci pour tout, désolé si j'ai pollué le sujet, j'ai compris.

Cordialement.
jmv75013
Messages : 146
Inscription : 03 janv. 2017, 16:20

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

Message par jmv75013 »

Bonjour,

Pour mes retours à la ligne dans les messages, j'utilise... <br>
Jbelbus
Messages : 28
Inscription : 26 févr. 2020, 11:31

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

Message par Jbelbus »

Super, merci à tous,

<br> retour à la ligne fonctionne pour un message mail mais pas pour un message Sms.
du coup j'ai testé \n pour Sms et ça fonctionne.

Conclusion tout fonctionne pour les messages.

Reste l'affichage de l'heure, actuellement 10H3 ce serait mieux 10H03, mais bon je deviens lourd...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

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

Message par Keros »

Tu nous mets le bout de code qui génère cet affichage de l'heure.

Il serait possible de vérifier si les minutes sont inférieures à 10 et ajouter un 0 mais je pense qu'on doit trouver un formatage qui fera ce boulot.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Jbelbus
Messages : 28
Inscription : 26 févr. 2020, 11:31

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

Message par Jbelbus »

message = 'Cette nuit, la température ........................'h'..uservariables["Temp_min_ext_min"]..'

J'ai déclaré la variable: "Temp_min_ext_min" comme integer

En fait ce serait uniquement les minutes à régler.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

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

Message par Keros »

Essaye ceci (je ne l'ai pas testé) :

Code : Tout sélectionner

if tonumber(uservariables["Temp_min_ext_min"]) <10 then
 minute = "0"..tostring(uservariables["Temp_min_ext_min"])
else
 minute = tostring(uservariables["Temp_min_ext_min"])
end
message = 'Cette nuit, la température ........................'h'..minute..'
Maintenant, quand tu utilises les formats de date, les minutes s'affichent 00, 01, 02 etc
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Jbelbus
Messages : 28
Inscription : 26 févr. 2020, 11:31

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

Message par Jbelbus »

Super merci,

Ca fonctionne comme je le souhaitais.

J'ai également appliqué sur min max, j'ai testé en modifiant volontairement les variables pour vérifier le fonctionnement et c'est tout bon.

Nota: Ce qui est intéressant dans ce script c'est la variété des fonctions pour débuter c'est assez sympa.

J'ai encore une notion à comprendre concernant la nature du Device s'il est seul (température)ou s'il contient autre chose (temperature +humidité + baro).
De mémoire je pense avoir vu plus haut dans le fil quelqu'un qui en faisait la remarque je vais donc revoir tout cela.

En tout cas merci de l'aide.
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

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

Message par denis_brasseur »

Keros a écrit : 12 déc. 2020, 08:34 Essaye ceci (je ne l'ai pas testé) :

Code : Tout sélectionner

if tonumber(uservariables["Temp_min_ext_min"]) <10 then
 minute = "0"..tostring(uservariables["Temp_min_ext_min"])
else
 minute = tostring(uservariables["Temp_min_ext_min"])
end
message = 'Cette nuit, la température ........................'h'..minute..'
Maintenant, quand tu utilises les formats de date, les minutes s'affichent 00, 01, 02 etc
Encore plus simple, avec une fonction :

Code : Tout sélectionner

 --retourne une valeur sur 2 digit (exemple 1 retourne 01)
function deuxDigits(nombre)
    nombre = string.format("%02d",nombre)
    return nombre
end
minute = deuxDigits(tostring(uservariables["Temp_min_ext_min"]))
Ou bien sans la fonction :

Code : Tout sélectionner

minute = tostring(uservariables["Temp_min_ext_min"])
minute = string.format("%02d",minute)
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Répondre