Aller au contenu
eric_le_belge

Utilisation du json OpenWeather

Recommended Posts

Bonjour à tous,

 

je suis jeune padawan dans le json, et je patauge un peu.

 

J'ai un script qui interroge openweather, cela fonctionne pas trop mal, je reçois (normalement) quelque chose comme ceci

 

{"coord":{"lon":5.26,"lat":50.58},"weather":[{"id":801,"main":"Clouds","description":"peu nuageux","icon":"02d"}],"base":"stations","main":{"temp":7.45,"feels_like":0.1,"temp_min":6,"temp_max":9.44,"pressure":1022,"humidity":60},"visibility":10000,"wind":{"speed":7.7,"deg":260},"clouds":{"all":20},"dt":1582123375,"sys":{"type":1,"id":1249,"country":"BE","sunrise":1582094682,"sunset":1582131680},"timezone":3600,"id":2784639,"name":"Villers-le-Bouillet","cod":200}

 

bon je n'ai pas reinventé la roue, c'est un script déjà existant que j'adapte, en gros il va chercher l'info et la sauve dans une VG weather_today.

 

je peux faire un fibaro:debug sur les champs de "main", pas de problème. Je reçois la température, l'humidité...

 

function VD_Update()
    -- Récupération des données et actualisation des labels
    fibaro:debug("Actualisation des labels")
    local today_datas = fibaro:getGlobal("weather_today")
    
    if today_datas~="{}" then
    fibaro:debug("Décodage des datas")
        jsonTable0 = json.decode(today_datas)
        fibaro:debug("Humidité: "..jsonTable0.main.humidity)
        fibaro:debug("Temp: "..jsonTable0.main.temp)
      else
        fibaro:debug("Variable vide, on relance la scène")
      end
end

 

 

Mais comment je peux obtenir les valeurs des autres tableaux ?? si je fais un fibaro:debug("toto: "..jsonTable0.weather.description) ben ça marche po...

 

/opt/fibaro/scenes/60.lua:125:attemp to concatenate field 'main' (a nil value).

 

 

 

ps: si quelqu'un peut me dire comment faire un copier/coller de la fenêtre debug, je le bénirais jusqu'à la fin de la vie de mon HC2.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je crois qu'il y a déjà un article complet sur cette solution, quelque part sur le forum. Je suis sur mon tel, je peux pas faire de recherche...

Envoyé de mon SM-A530F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Ainsi, cela devrait mieux fonctionner :

fibaro:debug("toto: "..jsonTable0.weather[1].description)

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Je réponds tardivement, mais partant des QuickApp de @couillerot :

https://www.domotique-fibaro.fr/topic/15134-quick-app-prévisions-météo-weatherbit-v12/

https://www.domotique-fibaro.fr/topic/15135-quick-app-météo-weatherbit-v12/

encore merci à lui :13:

j'ai découvert le fonctionnement de WeatherBit, et surtout j'en ai créé un deuxième actuellement en test parallèle avec OpenWeather.

Donc @eric_le_belge si encore besoin, je pourrais éventuellement te partager certains appel API vers leur JSON, ou partager mutuellement quelques bonnes pratiques.

Et sinon c'est que tu t'en es sorti, que tu n'as plus besoin, donc content pour toi :D

Partager ce message


Lien à poster
Partager sur d’autres sites

×