Code : Tout sélectionner
commandArray = {}
-- variable debog : affiche les print si debog vaut 1
bat=200
debog=1
if (devicechanged['Distance'] ) then
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")() -- For Linux
-- json = (loadfile "JSON.lua")() -- For Linux
-- adresse du capteur
url='http://192.168.0.20:8080/json.htm?type=devices&rid=121'
-- lecture fichier Json
local config=assert(io.popen("curl '"..url.."'"))
local location = config:read('*all')
config:close()
local jsonLocation = json:decode(location)
-- récupération de la valeur de la batterie
if (debog==1) then
print('début script device battery distance')
print(location)
print ('url :'..url)
print('Batterie Distance = '..bat)
end
bat=jsonLocation.result[1].BatteryLevel
if (debog==1) then
print('s script device battery distance')
print(location)
print ('url :'..url)
print('Batterie Distance = '..bat)
print('valeur brute :'..jsonLocation.result[1].BatteryLevel)
end
-- inscription dans les variables
commandArray[1]={['OpenURL']='192.168.0.20:8080/json.htm?type=command¶m=udevice&idx=124&nvalue=0&svalue='..bat}
commandArray[2]={['OpenURL']='192.168.0.20:8080/json.htm?type=command¶m=udevice&idx=125&nvalue=0&svalue='..bat}
if (debog==1) then
print('suite script device battery distance')
print('Batterie Distance = '..bat)
print('fin script device battery distance')
end
end
return commandArray
Code : Tout sélectionner
"AddjValue2" : 0.0,
"BatteryLevel" : 81,Code : Tout sélectionner
"AddjValue2" : 0.0,
"BatteryLevel" : 255,[edit] Quand le script dure plus de 10 secondes (lu sur le log), la valeur renvoyée est correcte... Je ne comprends plus rien..