Bonjour à tous,
j'ai besoin d'aide pour récupérer une valeur de température sur esp easy,
comme je suis une quiche en lua je n'y arrive pas.
ci joint le json de esp easy et du code que j'ai trouvé sur le forum.
les experts je compte sur vous.
{
"TaskValues": [
{"ValueNumber":1,
"Name":"Temperature",
"NrDecimals":2,
"Value":23.60
},
{"ValueNumber":2,
"Name":"Humidity",
"NrDecimals":2,
"Value":41.00
}],
"TTL":60000,
"DataAcquisition": [
{"Controller":1,
"IDX":0,
"Enabled":"false"
},
{"Controller":2,
"IDX":0,
"Enabled":"false"
},
{"Controller":3,
"IDX":0,
"Enabled":"false"
}],
"TaskInterval":60,
"Type":"Environment - DHT11/12/22 SONOFF2301/7021",
"TaskName":"sonde",
"TaskDeviceNumber":5,
"TaskEnabled":"true",
"TaskNumber":1
}
et le code
selfId = fibaro:getSelfId()
sleeptimer = 5 -- minutes between pollning
local WEB = Net.FHttp("192.168.2.218",80) -- IP to your espeasy
local response ,status, err = WEB:GET("/json?tasknr=1") -- task id on espeasy
if (tonumber(status) == 200 and tonumber(err)==0) then
local jsonTable = json.decode(response)
name = jsonTable.Temperature
value = jsonTable.Value
--fibaro:debug(value)
fibaro:log(value)
fibaro:call(selfId, "setProperty", "ui.lbl1.value", value.." C")
end
fibaro:sleep(sleeptimer*1000*57)