Meilleur service météo

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Meilleur service météo

Message par Wolfen38 »

Je n'ai pas trop compris pourquoi, mais ca fonctionne avec

Code : Tout sélectionner

rain = jsonValeur.daily[1].rain
Mais je ne comprends pas à quoi correspond ce 1.

De plus, quand je lance l'url dans mon navigateur, apres daily j'ai plein de "dt" différents, et je ne comprends pas ce que c'est ces "dt" ? Du coup, je récupère bien la valeur du 1er "dt", mais est ce la bonne ? Que sont les autres "dt" ?

PS : Je crois avoir pigé en traduisant les dt unix en heure classique, en fait dans daily, il donne les prévisions du jour, jour +1, jour +2...

Donc avec ma commande, je récupère bien les précipitation du jour même.

Merci pour le tuto et vos aides.

Je vais pouvoir mettre ca en place, et passer ensuite à plus de paramètres de gestion.
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Meilleur service météo

Message par Wolfen38 »

Y a quand même un truc que je pige pas.

J'ai envoyé l'url toute a l'heure, pour le 26/05 a 10h00 ca donnait 10mm de pluie

Je refais l'essai maintenant, ca me dit pour le 26/05 a 10h00 (donc même time) 6mm de pluie.

Pourquoi des données du 'passé changent ?
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: Meilleur service météo

Message par Chrominator »

C'est l'évaporation, il a fait chaud aujourd'hui ! :lol:





(hein ?! Oui j'ai un peu honte :twisted: )
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Meilleur service météo

Message par Wolfen38 »

Bah t'as raison d'avoir honte, et pas qu'un peu ! ! :lol:
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Meilleur service météo

Message par Keros »

Wolfen38 a écrit : 26 mai 2020, 14:22 Je n'ai pas trop compris pourquoi, mais ca fonctionne avec

Code : Tout sélectionner

rain = jsonValeur.daily[1].rain
Mais je ne comprends pas à quoi correspond ce 1.
Le 1 correspond au numéro de jour que tu souhaites. Tu pourras indiquer 2 pour le lendemain
Wolfen38 a écrit : 26 mai 2020, 14:22 De plus, quand je lance l'url dans mon navigateur, apres daily j'ai plein de "dt" différents, et je ne comprends pas ce que c'est ces "dt" ? Du coup, je récupère bien la valeur du 1er "dt", mais est ce la bonne ? Que sont les autres "dt" ?

PS : Je crois avoir pigé en traduisant les dt unix en heure classique, en fait dans daily, il donne les prévisions du jour, jour +1, jour +2...
C'est ça, les dt correspond aux temps au format unix qu'il faut traduire.
Wolfen38 a écrit : 26 mai 2020, 14:22 Donc avec ma commande, je récupère bien les précipitation du jour même.

Merci pour le tuto et vos aides.

Je vais pouvoir mettre ca en place, et passer ensuite à plus de paramètres de gestion.
Tant mieux que tu ais compris. Tu va pouvoir étoffer ton programme. Bon code ;)

Wolfen38 a écrit : 26 mai 2020, 17:07 Y a quand même un truc que je pige pas.

J'ai envoyé l'url toute a l'heure, pour le 26/05 a 10h00 ca donnait 10mm de pluie

Je refais l'essai maintenant, ca me dit pour le 26/05 a 10h00 (donc même time) 6mm de pluie.

Pourquoi des données du 'passé changent ?
Tu es sur que la météo du jour est Daily[1] ? Il me semble que c'est Daily[0] ...
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Meilleur service météo

Message par Wolfen38 »

Disons que quand je demande le daily 1, ca correspond au dt de la date du jour en cours.

Apres, je peux pas trop vérifier pour le moment, chez moi c'est grand beau et les coordonnées que j'ai tapé c'est a bucarest
DomoTiBI
Messages : 93
Inscription : 07 mars 2018, 15:52
Localisation : 46 - Lot

Re: Meilleur service météo

Message par DomoTiBI »

Bonjour,

Il me semble aussi que le 0 correspond au jour courant.
On doit pouvoir vérifier en regardant ce qui est publié sur leur site web.

Je commence aussi à travailler sur l'idée d'utiliser OWM. Il m'a semblé que la température courante qu'ils annoncent pour ma position GPS (sur leur site) est significativement inférieure à ce que mesurent mes deux sondes extérieures.

Peux-tu STP me communiquer ton script. Je pense que cela pourrait m'aider à avancer.
Actuellement j'ai ma clé OWM mais je ne parviens pas à faire tourner mon script après seulement quelques modif sur le modèle.

Thierry
Raspeberry 3B+ Model B Rev 1.2 - Domoticz 2020.2 - dzVents 3.0.1 - Python 3.7.3
Raspbian GNU/Linux 10 (buster) 4.19.97-v7+#1294

RFXCom
BSO Somfy
Sondes Digoo et Daniu.
Sonoff 4CH pro (flashé)
Alhau - prises Silvercrest et Rhino en 433 Mhz
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Meilleur service météo

Message par Wolfen38 »

Bon, ca fonctionnait les 1er jours, mais maintenant j'ai cette erreur :

Code : Tout sélectionner

2020-06-01 09:55:01.011 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_meteo.lua: /home/pi/domoticz/scripts/lua/script_time_meteo.lua:43: attempt to index a nil value (global 'jsonValeur')
Et la partie du script

Code : Tout sélectionner

if heure == '09:55' then

  -- L'appel et l'enregistrement des prévisions dans la variable jsonValeur

  config=assert(io.popen('/usr/bin/curl "https://api.openweathermap.org/data/2.5/onecall?lat='..lat..'&lon='..long..'&appid='..api..'&lang=fr&units=metric"'))
  blocjson = config:read('*all')
  config:close()
  jsonValeur = json:decode(blocjson)

--------------------------------------------
---- Code à modifier selon vos besoins -----
-------------------------------------------- 

    -- L'enregistrement des données souhaitées dans des variables (vous pouvez en ajouter autant que vous voulez)

    --temp = jsonValeur.current.temp
    --rose = jsonValeur.current.dew_point
    --weather = jsonValeur.current.weather[1].description
	rain = jsonValeur.daily[1].rain
	rain2 = jsonValeur.daily[2].rain
	
	if rain ~= nil then 
	
	commandArray['Variable:Pluie-jour'] = tostring(rain)
	
	else
	commandArray['Variable:Pluie-jour'] = '0'
	end
	
	if rain2 ~= nil then 
	commandArray['Variable:Pluie-lendemain'] = tostring(rain2)
	else
	commandArray['Variable:Pluie-lendemain'] = '0'
	end
la ligne 43 étant le "rain = jsonValeur.daily[1].rain"
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Meilleur service météo

Message par Keros »

En fait ton script est en erreur car quand il n'y a pas de valeur Rain, l'info Rain n'est pas présente dans le Json. Ca aurait été trop simple s'ils l'avaient simplement mise à 0.

Il faut contrôler que tes valeurs jsonValeur.daily[X].rain ne sont pas nulles avant de les enregistrer dans une variables ;)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Meilleur service météo

Message par Wolfen38 »

J'ai vu dans ton sujet que quelqu'un avait eu le problème et avait mis :

Code : Tout sélectionner

if (jsonValeur.daily[1].rain) then 
	rain = jsonValeur.daily[1].rain
else
	rain = 0
end
Mais j'avais toujours l'erreur.

Je viens de refaire, et c'est bon, j'avais du oublié quelque chose....

Merci.
Répondre