Lire une sonde de type "Air Quality" par un script lua

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
ricky74
Messages : 68
Enregistré le : 03 sept. 2015, 13:58

Re: Lire une sonde de type "Air Quality" par un script lua

Message par ricky74 »

Ben non, justement, cela me sort co2:
Je n'arrive pas à obtenir la valeur...

heartblood
Messages : 189
Enregistré le : 13 août 2015, 09:50

Re: Lire une sonde de type "Air Quality" par un script lua

Message par heartblood »

Pourtant le script fonctionne correctement.
Essaye avec un autre device voir si ça vient de celui-ci (comme par exemple le % de CPU / RAM ...)

ricky74
Messages : 68
Enregistré le : 03 sept. 2015, 13:58

Re: Lire une sonde de type "Air Quality" par un script lua

Message par ricky74 »

J'ai essayé avec un autre device, le code fonctionne. J'ai l'impression que c'est lié au type...

vil1driver
Messages : 5665
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Lire une sonde de type "Air Quality" par un script lua

Message par vil1driver »

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

ricky74
Messages : 68
Enregistré le : 03 sept. 2015, 13:58

Re: Lire une sonde de type "Air Quality" par un script lua

Message par ricky74 »

type=Air Quality
sous type = Voltcraft CO-20

heartblood
Messages : 189
Enregistré le : 13 août 2015, 09:50

Re: Lire une sonde de type "Air Quality" par un script lua

Message par heartblood »

Je pensais "tricher" et faire un code comme ceci :

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

Mais chez moi, ce code ne fonctionne pas. Mais l'idée est là ...

ricky74
Messages : 68
Enregistré le : 03 sept. 2015, 13:58

Re: Lire une sonde de type "Air Quality" par un script lua

Message par ricky74 »

j'ai une erreur :
jq: command not found

heartblood
Messages : 189
Enregistré le : 13 août 2015, 09:50

Re: Lire une sonde de type "Air Quality" par un script lua

Message par heartblood »

Sinon fait le en bash avec execution toutes les 10 minutes avec curl et jq

Voir : http://easydomoticz.com/manipuler-les-d ... -en-shell/

ricky74 a écrit :j'ai une erreur :
jq: command not found
Ps : regarde le tuto, il faut installer la commande

heartblood
Messages : 189
Enregistré le : 13 août 2015, 09:50

Re: Lire une sonde de type "Air Quality" par un script lua

Message par heartblood »

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.

ricky74
Messages : 68
Enregistré le : 03 sept. 2015, 13:58

Re: Lire une sonde de type "Air Quality" par un script lua

Message par ricky74 »

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

Répondre