Page 7 sur 8
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 00:15
par Flying Domotic
Je pense qu'il faut déplacer la ligne ...
... juste derrière ...
Comme l'a dit Keros, il faut modifier les données juste après les avoir chargées, et avant de les utiliser.
Si, en plus, il y a des "if" autour du chargement, il est recommandé d'initialiser les variables pour être sûr qu'il y aura un truc dedans. En mettant une valeur irréelle, on peu repérer facilement quand l'extraction n'a pas été réalisée.
Après, comme le résultat est utilisé en tant que chaîne de caractères, le plus simple est de virer la conversion en numérique, qui n'apporte rien de plus que des ennuis ...
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 12:01
par salinois
bonjour, Flying Domotic »
ok, j'ai déplacé comme tu l'as suggéré et c'est OK.
tu m'as pas expliqué les changements dans le script...
merci
salinois
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 12:02
par salinois
Flying Domotic a écrit : 12 févr. 2024, 00:15
Je pense qu'il faut déplacer la ligne ...
... juste derrière ...
Comme l'a dit Keros, il faut modifier les données juste après les avoir chargées, et avant de les utiliser.
Si, en plus, il y a des "if" autour du chargement, il est recommandé d'initialiser les variables pour être sûr qu'il y aura un truc dedans. En mettant une valeur irréelle, on peu repérer facilement quand l'extraction n'a pas été réalisée.
Après, comme le résultat est utilisé en tant que chaîne de caractères, le plus simple est de virer la conversion en numérique, qui n'apporte rien de plus que des ennuis ...
je dois remodifier des choses sur ta derniere remarque ?
salinois
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 12:07
par Flying Domotic
Ça serait plus propre, même si ça marche comme ça, vu que temperature est initialisé plus haut.
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 12:20
par salinois
Code : Tout sélectionner
for line in io.lines(filename) do
if string.find(line,"\"temp\"") then
temperature=string.match(line, "%-?%d+,?%d*")
print("Temperature: "..tostring(temperature))
end
if string.find(line,"\"hum\"") then
humidity=string.match(line, "%d+")
print("Humidity: "..tostring(humidity))
end
if string.find(line,"\"barometer\"") then
pressure=string.match(line, "%d+")
print("Pressure: "..tostring(pressure))
end
end
c'est là que ça se passe, dans la boucle , la converstion numerique? comme tu as dû le voir je ne suis pas le meilleur en programmation.....
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 12:22
par Flying Domotic
A déplacer entre
qui est le chargement de la variable et
qui est son affichage.
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 12:28
par salinois
je comprends pas entre quoi et quoi !!!
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 12:28
par Keros
salinois a écrit : 12 févr. 2024, 12:20
c'est là que ça se passe, dans la boucle , la converstion numerique? comme tu as dû le voir je ne suis pas le meilleur en programmation.....
Oui, le tonumber convertissait en numérique.
C'est en essayant qu'on apprend
Tu peux même aller jusqu'à retirer la conversion en caractère (tostring) pour l'affichage des prints puisque les variables sont déjà sous forme de caractères.
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 12:50
par Flying Domotic
salinois a écrit : 12 févr. 2024, 12:28
je comprends pas entre quoi et quoi !!!
Désolé, j'ai mal compris la question.
Pour la conversion, Keros a répondu.
En ce qui concerne mon message, l'idée était de déplacer la ligne
de la fin de la boucle à l'endroit indiqué, entre la lecture de la valeur et son affichage. De la sorte, on est certain qu'on ne fea la substitution que si on en a besoin, et les tests éventuels à l'intérieur de la boucle seront faits avec la bonne valeur.
Re: 1er Script avec weewx
Publié : 12 févr. 2024, 13:02
par salinois
@Flying Domotic
ok, c'est ce que j'ai fait, donc je n'ai plus rien à toucher alors?