Lire une sonde de type "Air Quality" par un script lua
Re: Lire une sonde de type "Air Quality" par un script lua
Ben non, justement, cela me sort co2:
Je n'arrive pas à obtenir la valeur...
Je n'arrive pas à obtenir la valeur...
-
- Messages : 189
- Enregistré le : 13 août 2015, 09:50
Re: Lire une sonde de type "Air Quality" par un script lua
Pourtant le script fonctionne correctement.
Essaye avec un autre device voir si ça vient de celui-ci (comme par exemple le % de CPU / RAM ...)
Essaye avec un autre device voir si ça vient de celui-ci (comme par exemple le % de CPU / RAM ...)
Re: Lire une sonde de type "Air Quality" par un script lua
J'ai essayé avec un autre device, le code fonctionne. J'ai l'impression que c'est lié au type...
-
- Messages : 5665
- Enregistré le : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Lire une sonde de type "Air Quality" par un script lua
type qui est ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Lire une sonde de type "Air Quality" par un script lua
type=Air Quality
sous type = Voltcraft CO-20
sous type = Voltcraft CO-20
-
- Messages : 189
- Enregistré le : 13 août 2015, 09:50
Re: Lire une sonde de type "Air Quality" par un script lua
Je pensais "tricher" et faire un code comme ceci :
Mais chez moi, ce code ne fonctionne pas. Mais l'idée est là ...
Code : Tout sélectionner
commandArray = {}
if (devicechanged['co2']) then
co2=os.execute("curl -s 'http://IP:8080/json.htm?type=devices&rid=IDX' | jq -r .result[].Data")
print (co2) --pour savoir si la commande fonctionne bien. A supprimer par la suite
end
return commandArray
Re: Lire une sonde de type "Air Quality" par un script lua
j'ai une erreur :
jq: command not found
jq: command not found
-
- Messages : 189
- Enregistré le : 13 août 2015, 09:50
Re: Lire une sonde de type "Air Quality" par un script lua
Sinon fait le en bash avec execution toutes les 10 minutes avec curl et jq
Voir : http://easydomoticz.com/manipuler-les-d ... -en-shell/
Voir : http://easydomoticz.com/manipuler-les-d ... -en-shell/
Ps : regarde le tuto, il faut installer la commandericky74 a écrit :j'ai une erreur :
jq: command not found
-
- Messages : 189
- Enregistré le : 13 août 2015, 09:50
Re: Lire une sonde de type "Air Quality" par un script lua
J'ai pensé à ça dans le train ce matin,
pourquoi ne pas faire 2 scripts.
Un en lua, qui execute le script n°2 en bash dès que devicechanged['co2'].
Ca evite l'execution du bash toutes les X minutes mais ça demande 2 scripts.
J'ai vu en rentrant que Domoticz a subit une MAJ (beta) entre temps. Pourquoi ne pas tenter une MAJ et voir si le problème n'a pas été resolu entre temps. (En reprenant le script de vil1driver).
PS : je suppose que l'integration dans Domoticz de Netatmo s'est fait de matière "native", via la section "materiel", c'est pour ça que je te propose de MAJ domoticz vu que tu dois utiliser actuellement la version beta.
pourquoi ne pas faire 2 scripts.
Un en lua, qui execute le script n°2 en bash dès que devicechanged['co2'].
Ca evite l'execution du bash toutes les X minutes mais ça demande 2 scripts.
J'ai vu en rentrant que Domoticz a subit une MAJ (beta) entre temps. Pourquoi ne pas tenter une MAJ et voir si le problème n'a pas été resolu entre temps. (En reprenant le script de vil1driver).
PS : je suppose que l'integration dans Domoticz de Netatmo s'est fait de matière "native", via la section "materiel", c'est pour ça que je te propose de MAJ domoticz vu que tu dois utiliser actuellement la version beta.
Re: Lire une sonde de type "Air Quality" par un script lua
J'ai fais la misa à jour de domoticz, j'ai toujours le pb...
Voilà ce que j'ai fait (ce n'est pas très propre, mais cela fonctionne...)
os.execute("curl 'http://192.168.xxx.XXX:XXX/json.htm?type=devices&rid=20' > /tmp/id20.txt &")
for Line in io.lines("/tmp/id20.txt") do
if(string.find(Line,"Data")) then
Co2=tonumber(string.sub(Line,20,23))
break
end
end
Voilà ce que j'ai fait (ce n'est pas très propre, mais cela fonctionne...)
os.execute("curl 'http://192.168.xxx.XXX:XXX/json.htm?type=devices&rid=20' > /tmp/id20.txt &")
for Line in io.lines("/tmp/id20.txt") do
if(string.find(Line,"Data")) then
Co2=tonumber(string.sub(Line,20,23))
break
end
end