Meilleur méthode pour récupérer valeur visual crossing?

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: Meilleur méthode pour récupérer valeur visual crossing?

Message par jeje »

Bonsoir je pense que tu devrais essayer ceci:

cloudcoverhour14h = jsonValeur.days[1].cloudcover[13] avec comme requête :

https: //weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/Lat,Long/2025-01-23/?unitGroup=metric&lang=fr&key=MaClé&contentType=json&elements=cloudcover&include=hours
.

Tu auras la couverture nuageuse de 14h normalement.

Ta requête te donnera les 24h,j'ai essayer d'avoir juste la section de 14 h dans la requête mais ça ne marche pas ,donc tu dois prendre le jour complet.Par contre j’éviterai de mettre "une date ",je prendrais plutôt "tomorrow ou today "mais ce n'est que mon avis.

Je viens de tester ,ça fonctionne, j'ai ça dans mes logs
LUA: [visualcrossing] verife de couverture nuageuse demain a 14h:100.0

et dans la requête j'avais bien 100% de couverture nuageuse.
domoticz sur VM sur freebox delta
Dreamer
Messages : 43
Inscription : 03 mars 2020, 16:18

Re: Meilleur méthode pour récupérer valeur visual crossing?

Message par Dreamer »

Merci pour ta recherche et proposition. J'ai actualisé mon script mais j'ai toujours l'erreur "attempt to index a nil value (field 'cloudcover')".

Ma base de script est elle correcte? :

Code : Tout sélectionner

config=assert(io.popen('/usr/bin/curl "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/'..lat..','..long..'/today/?unitGroup=metric&lang=fr&key='..api..'&contentType=json&elements=cloudcovert&include=hours"'))
    blocjson = config:read('*all')
    config:close() 
    jsonValeur = json:decode(blocjson)
    cloudcoverhour14h = jsonValeur.days[1].cloudcover[13]
Raspberry Pi 1 + RFXcom + modules volets Somfy + modules DIO (chauffage/poele/lumiere)
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: Meilleur méthode pour récupérer valeur visual crossing?

Message par jeje »

Bonsoir Dreamer, je me suis tromper c'est :

cloudcoverhour14h = jsonValeur.days[1].hours[13].cloudcover

la ça devrais marcher.
Désoler je viens de m'apercevoir de mon erreur.
domoticz sur VM sur freebox delta
Dreamer
Messages : 43
Inscription : 03 mars 2020, 16:18

Re: Meilleur méthode pour récupérer valeur visual crossing?

Message par Dreamer »

Oui j'avais modifié en ce sens hier mais j'ai toujours l'erreur "attempt to index a nil value" avec cette partie du script en place :

Code : Tout sélectionner

 
cloudcoverhour14h = jsonValeur.days[1].hours[13].cloudcover
commandArray[cloudcoverhour14hIdx] = { ['UpdateDevice'] = cloudcoverhour14hIdx..'|0|'..cloudcoverhour14h}
:roll:
Dernière modification par Keros le 24 janv. 2025, 21:23, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Raspberry Pi 1 + RFXcom + modules volets Somfy + modules DIO (chauffage/poele/lumiere)
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: Meilleur méthode pour récupérer valeur visual crossing?

Message par jeje »

Essai de faire un print de ce que tu récupére de la requête.
domoticz sur VM sur freebox delta
Dreamer
Messages : 43
Inscription : 03 mars 2020, 16:18

Re: Meilleur méthode pour récupérer valeur visual crossing?

Message par Dreamer »

En glissant ce "print('cloudcoverhour14h = '..cloudcoverhour14h)", j'obtiens l'erreur identique au Log : "attempt to concatenate a nil value (global 'cloudcoverhour14h')"
Dernière modification par Keros le 24 janv. 2025, 21:23, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Raspberry Pi 1 + RFXcom + modules volets Somfy + modules DIO (chauffage/poele/lumiere)
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: Meilleur méthode pour récupérer valeur visual crossing?

Message par jeje »

Enleve le t à cloudcover dans ta requête et ça devrait aller.
domoticz sur VM sur freebox delta
Dreamer
Messages : 43
Inscription : 03 mars 2020, 16:18

Re: Meilleur méthode pour récupérer valeur visual crossing?

Message par Dreamer »

Ah oui, effectivement en enlevant cette coquille je récupère la valeur et cela s'affiche bien dans le Log ;) .
Merci d'avoir pris le temps de te pencher sur mon script :P
Dernière modification par Keros le 24 janv. 2025, 21:23, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Raspberry Pi 1 + RFXcom + modules volets Somfy + modules DIO (chauffage/poele/lumiere)
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: Meilleur méthode pour récupérer valeur visual crossing?

Message par jeje »

De rien j'en fait aussi quelquefois :D .
domoticz sur VM sur freebox delta
Répondre