demande d'aide script lua
Publié : 30 nov. 2016, 16:30
Bonjour
Je me suis crée un petit script pour la recuperation des infos precipitations de DarkSky en lua.
voici ce que je recupere en JSON (partie qui m'interese seulement)
J'ai ecrit ce script en lua (je mets uniquement la partie qui marche pas)
En reponse via le log, je me fait gronder par domoticz sur une erreur que je ne vois pas ...
J'ai donc une erreur dans la maniere de faire le commandArray
Je ne comprends pas d'ou vient l'heure ....
j'ai essayer de passer en tostring ou tonumber, meme probleme et meme reponse dans le log
Si on pouvait me donner un coup de main, merci d'avance
Je me suis crée un petit script pour la recuperation des infos precipitations de DarkSky en lua.
voici ce que je recupere en JSON (partie qui m'interese seulement)
Code : Tout sélectionner
"latitude": 43.4872,
"longitude": 1.5838,
"timezone": "Europe/Paris",
"offset": 1,
"hourly": {
"summary": "Dégagé durant toute la journée.",
"icon": "clear-day",
"data": [
{
"time": 1480518000,
"summary": "Dégagé",
"icon": "clear-day",
"precipIntensity": 0,
"precipProbability": 0,
"temperature": 11.42,
"apparentTemperature": 11.42,
"dewPoint": 2.73,
"humidity": 0.55,
"windSpeed": 4.71,
"windBearing": 115,
"cloudCover": 0,
"pressure": 1031.25,
"ozone": 290.45
},Code : Tout sélectionner
CommandArray = {}
JSON = (loadfile "/domoticz/scripts/lua/JSON.lua")()
local jsondata=assert(io.popen('curl "https://api.darksky.net/forecast/___cle__api___/43.4872,1.5838?units=auto&lang=fr&exclude=currently,flags"'))
local jsondevices = jsondata:read('*all')
jsondata:close()
local jsonLocation = JSON:decode(jsondevices)
local indexArray=0
for x=2,48,1 do
local pluie=jsonLocation.hourly.data[x].precipProbability
local hour_pluie = jsonLocation.hourly.data[x].time
local intensity_pluie = jsonLocation.hourly.data[x].precipIntensity
local date = os.date("%A %d/%m/%Y %H:%M", hour_pluie)
intensity_pluie=tonumber(intensity_pluie)
pluie=tonumber(pluie)
date=tostring(date)
print(type(intensity_pluie))
print(type(date))
print(intensity_pluie)
print(date)
commandArray[indexArray] = {['UpdateDevice'] = '236|2|'..intensity_pluie..';0'}
indexArray=indexArray+1
-- commandArray[indexArray] = {['Probabilité pluie'] = date}
commandArray[indexArray] = {['UpdateDevice'] = '235|2|'..'date'}
indexArray=indexArray+1
Code : Tout sélectionner
2016-11-30 16:28:01.252 LUA: number
2016-11-30 16:28:01.252 LUA: string
2016-11-30 16:28:01.252 LUA: 0
2016-11-30 16:28:01.252 LUA: Wednesday 30/11/2016 17:00
2016-11-30 16:28:01.252 Error: EventSystem: in Prevision meteo: [string "CommandArray = {}..."]:23: attempt to index global 'commandArray' (a nil value) Code : Tout sélectionner
commandArray[indexArray] = {['UpdateDevice'] = '236|2|'..intensity_pluie..';0'}j'ai essayer de passer en tostring ou tonumber, meme probleme et meme reponse dans le log
Si on pouvait me donner un coup de main, merci d'avance