Lire une sonde de type "Air Quality" par un script lua
Lire une sonde de type "Air Quality" par un script lua
Bonjour à tous,
J'ai un petit souci avec mon script lua.
J'aimerais simplement envoyer une notification quand mon Co2 dans la maison dépasse une certaine valeur...
J"ai une station météo netatmo que j'ai liée à domoticz. Tout fonctionne, je remonte la valeur en ppm.
Dans mon script lua, j'aimerais lire cette valeur en faisant :
tonumber(otherdevices_svalues['Co2'])
mais je n'ai rien en retour.
En Faisant cela :
for i, v in pairs(otherdevices_svalues) do print(i, v) end
Idem, ma sonde Air Quality ne me retourne rien...
Quelqu'un peut il m'aider ???
J'ai un petit souci avec mon script lua.
J'aimerais simplement envoyer une notification quand mon Co2 dans la maison dépasse une certaine valeur...
J"ai une station météo netatmo que j'ai liée à domoticz. Tout fonctionne, je remonte la valeur en ppm.
Dans mon script lua, j'aimerais lire cette valeur en faisant :
tonumber(otherdevices_svalues['Co2'])
mais je n'ai rien en retour.
En Faisant cela :
for i, v in pairs(otherdevices_svalues) do print(i, v) end
Idem, ma sonde Air Quality ne me retourne rien...
Quelqu'un peut il m'aider ???
-
- Messages : 5663
- Enregistré le : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Lire une sonde de type "Air Quality" par un script lua
Salut,
Il faudrait voir ton script et son nom ainsi que le résultat de cette commande
http://192.168.22.100:8080/json.htm?type=devices&rid=112
Remplace avec ton ip et 112 par l'idx de ton device
Il faudrait voir ton script et son nom ainsi que le résultat de cette commande
http://192.168.22.100:8080/json.htm?type=devices&rid=112
Remplace avec ton ip et 112 par l'idx de ton device
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
Voici le résultat
result" : [
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 255,
"CustomImage" : 0,
"Data" : "627 ppm",
"Description" : "",
"Favorite" : 1,
"HardwareID" : 3,
"HardwareName" : "Netatmo",
"HaveTimeout" : false,
"ID" : "15F92",
"LastUpdate" : "2015-09-07 06:25:10",
"Name" : "Co2",
"Notifications" : "false",
"PlanID" : "0",
"Protected" : false,
"Quality" : "Excellent",
"ShowNotifications" : true,
"SignalLevel" : 12,
"SubType" : "Unknown",
"Timers" : "false",
"Type" : "Air Quality",
"TypeImg" : "air",
"Unit" : 1,
"Used" : 1,
"XOffset" : "0",
"YOffset" : "0",
"idx" : "19"
}
C'est le champ data que je veux récupérer...
result" : [
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 255,
"CustomImage" : 0,
"Data" : "627 ppm",
"Description" : "",
"Favorite" : 1,
"HardwareID" : 3,
"HardwareName" : "Netatmo",
"HaveTimeout" : false,
"ID" : "15F92",
"LastUpdate" : "2015-09-07 06:25:10",
"Name" : "Co2",
"Notifications" : "false",
"PlanID" : "0",
"Protected" : false,
"Quality" : "Excellent",
"ShowNotifications" : true,
"SignalLevel" : 12,
"SubType" : "Unknown",
"Timers" : "false",
"Type" : "Air Quality",
"TypeImg" : "air",
"Unit" : 1,
"Used" : 1,
"XOffset" : "0",
"YOffset" : "0",
"idx" : "19"
}
C'est le champ data que je veux récupérer...
-
- Messages : 5663
- Enregistré le : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Lire une sonde de type "Air Quality" par un script lua
ton script et son nom ?
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
Mon script s'appelle script_device_Co2.lua
mon capteur s’appelle "Co2"
Voici le code :
commandArray = {}
if (devicechanged['Co2']) then
--print(otherdevices_svalues['Co2'])
-- otherdevices_svalues['Co2'] est vide !
if (tonumber(otherdevices_svalues['Co2']) >= 1200 and uservariables['Var2'] == '0') then
time = os.date("*t")
commandArray['Variable:Var2']='1'
commandArray['SendEmail']=time.hour..':'..time.min..' Niveau de Co2 élevé dans la maison#Envoyé par Domoticz...#xxxxxxxxxx@gmail.com'
end
if (tonumber(otherdevices_svalues['Co2']) < 1200 and uservariables['Var2'] == '1') then
time = os.date("*t")
commandArray['SendEmail']=time.hour..':'..time.min..' Niveau de Co2 redescendu...#Envoyé par Domoticz...#xxxxxxxxx@gmail.com'
commandArray['Variable:Var2']='0'
end
end
return commandArray
mon capteur s’appelle "Co2"
Voici le code :
commandArray = {}
if (devicechanged['Co2']) then
--print(otherdevices_svalues['Co2'])
-- otherdevices_svalues['Co2'] est vide !
if (tonumber(otherdevices_svalues['Co2']) >= 1200 and uservariables['Var2'] == '0') then
time = os.date("*t")
commandArray['Variable:Var2']='1'
commandArray['SendEmail']=time.hour..':'..time.min..' Niveau de Co2 élevé dans la maison#Envoyé par Domoticz...#xxxxxxxxxx@gmail.com'
end
if (tonumber(otherdevices_svalues['Co2']) < 1200 and uservariables['Var2'] == '1') then
time = os.date("*t")
commandArray['SendEmail']=time.hour..':'..time.min..' Niveau de Co2 redescendu...#Envoyé par Domoticz...#xxxxxxxxx@gmail.com'
commandArray['Variable:Var2']='0'
end
end
return commandArray
Re: Lire une sonde de type "Air Quality" par un script lua
ton device ne peut être devicechanged et otherdevice en même temps...
Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
Re: Lire une sonde de type "Air Quality" par un script lua
Ok, comment faut-il faire alors pour détecter le dépassement d'un seuil sur ce type de mesure ?
Re: Lire une sonde de type "Air Quality" par un script lua
ricky74 a écrit :Ok, comment faut-il faire alors pour détecter le dépassement d'un seuil sur ce type de mesure ?
tiens j'ai vu que gizmocuz a répondu sur son forum pour l'usage de nvalues:
otherdevices_nvalues['Co2']
essaye sino je testerai ce soir, j'ai 15 capteurs de gaz chez moi

Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
Re: Lire une sonde de type "Air Quality" par un script lua
otherdevices_nvalues['Co2'] ne fonctionne pas non plus, cela me retourne cette erreur :
attempt to index global 'otherdevices_nvalues' (a nil value)
attempt to index global 'otherdevices_nvalues' (a nil value)
-
- Messages : 5663
- Enregistré le : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Lire une sonde de type "Air Quality" par un script lua
si bien-sur et heureusementepierre a écrit :ton device ne peut être devicechanged et otherdevice en même temps...

que donne ceci ?
Code : Tout sélectionner
commandArray = {}
if (devicechanged['Co2']) then
print('co2: ' .. otherdevices_svalues['Co2'])
end
return commandArray
il va falloir dans ton script virer le ppm avant de pouvoir comparer la valeur à une autre...
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