[DzVents] Données Météo Weather Visual Crossing
Re: [DzVents] Données Météo Weather Visual Crossing
C'est peut-être normal. Un moyen de vérifier serait de générer le json et regarder les données qu'il y a dedans.
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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: [DzVents] Données Météo Weather Visual Crossing
J'ai l'impression que les probas sur cette sont plus "généreuses" (je trouve les % très élevé à comparé de Dark)et surtout elles sont souvent égales sur une tranche horaire ( typiquement quelques heures).gawel3164 a écrit : 04 juin 2023, 16:48 Merci beaucoup pour cet excellent script !!! ça m'enlève une sacrée épine du pied!
Par contre, il y a effectivement un problème sur les probabilités de pluie. Avec Darksky je gérais mon arrosage automatique en fonction des probabilités de pluie et j'avais donc besoin des proba à 1h, 5h, 12h et 24h. J'ai donc modifié le script de BernardC afin de retrouver ces 4 probabilités et aujourd'hui, les quatre affichent 47.6%. Etrange non?
Moi aussi je gère mon arrosage avec cela et je pense avoir perdu un peu de précision dans la bataille mais le principe marche quand même
Il faut un peu raffiner en fonction des % quand même.
Re: [DzVents] Données Météo Weather Visual Crossing
Bonjour,
j'ai testé pour ma part, les résultats sont cohérents avec les donnés JSON...
il faut voir vos données JSON avec la requête :
https://weather.visualcrossing.com/Visu ... ine/<votre localitée>?unitGroup=metric&maxDistance=20000&include=days%2Ccurrent%2Chours&key=<votre clé API>&contentType=json
ou sans l'option 20km de distance:
https://weather.visualcrossing.com/Visu ... ine/<votre localitée>?&include=days%2Ccurrent%2Chours&key=<votre clé API>&contentType=json
en utilisant le navigateur firefox en développant tout et filtrant avec "precipprob" c'est très facile de voir la cohérence des résultats.
je pense que l'option des 20km peut poser des soucis suivant la position géographique des stations avec la localité choisie, j'ai fait une MAJ du script sans l'option.
Il est intéressant aussi de se connecter à https://www.visualcrossing.com/weather/ ... -services#
pour les probabilités en ajustant les paramètres pour les stations.
j'ai testé pour ma part, les résultats sont cohérents avec les donnés JSON...
il faut voir vos données JSON avec la requête :
https://weather.visualcrossing.com/Visu ... ine/<votre localitée>?unitGroup=metric&maxDistance=20000&include=days%2Ccurrent%2Chours&key=<votre clé API>&contentType=json
ou sans l'option 20km de distance:
https://weather.visualcrossing.com/Visu ... ine/<votre localitée>?&include=days%2Ccurrent%2Chours&key=<votre clé API>&contentType=json
en utilisant le navigateur firefox en développant tout et filtrant avec "precipprob" c'est très facile de voir la cohérence des résultats.
je pense que l'option des 20km peut poser des soucis suivant la position géographique des stations avec la localité choisie, j'ai fait une MAJ du script sans l'option.
Il est intéressant aussi de se connecter à https://www.visualcrossing.com/weather/ ... -services#
pour les probabilités en ajustant les paramètres pour les stations.
Dernière modification par Keros le 08 juin 2023, 19:00, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Re: [DzVents] Données Météo Weather Visual Crossing
@Loky31200
Bonjour,
Mon script fait la probabilité pour une période, 5H=> on a la probabilité de pluie la plus élevée pour la période de 5H00, et non la probabilité de l'heure H+5, exemple il est 10H, ce n'est la probabilité pour 15H qui est retournée.
J'ai vu dans script de viewtopic.php?p=58822#p58822 de papoo pour lequel il semble que c'est la 2eme option qui est utilisée. Si c'est cette option que vous utilisez, l'utilisation de la probabilité est différente.
Bonjour,
Mon script fait la probabilité pour une période, 5H=> on a la probabilité de pluie la plus élevée pour la période de 5H00, et non la probabilité de l'heure H+5, exemple il est 10H, ce n'est la probabilité pour 15H qui est retournée.
J'ai vu dans script de viewtopic.php?p=58822#p58822 de papoo pour lequel il semble que c'est la 2eme option qui est utilisée. Si c'est cette option que vous utilisez, l'utilisation de la probabilité est différente.
Dernière modification par Keros le 12 juin 2023, 20:48, modifié 1 fois.
Raison : Citation supprimée
Raison : Citation supprimée
Re: [DzVents] Données Météo Weather Visual Crossing
Merci pour la réponse très claire 
Du coup si je modifie la fonction comme suivant :
Cela donnera bien la proba de pluie de l'heure considérée non?
Du coup si je modifie la fonction comme suivant :
Code : Tout sélectionner
local function lectProb(duree,v)
-- duree--durée en H de la probabilité
-- V données JSON
local Time = require('Time')
local now = Time()
local Heure = now.hour+1 -- heure de debut + 1 pour index
local J = 1 --init jour
local Prob,ResulProb =0,0
H=Heure + duree
Prob= v.days[J].hours[H].precipprob
ResulProb = Prob
return (ResulProb )
end
Dernière modification par Keros le 19 juin 2023, 20:48, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe
Re: [DzVents] Données Météo Weather Visual Crossing
Citation supprimée
Bonjour,
Oui, mais il faut Un test pour le changement de jour:
Bonjour,
Oui, mais il faut Un test pour le changement de jour:
Code : Tout sélectionner
local function lectProb(duree,v)
-- duree--durée en H de la probabilité
-- V données JSON
local Time = require('Time')
local now = Time()
local Heure = now.hour
local J = 1 --init jour
local Prob = 0
H = Heure + duree
if H > 23 then
J = math.floor(H/24)+1
H = math.fmod(H,24)
end
H=H+1 -- heure de debut + 1 pour index
Prob= v.days[J].hours[H].precipprob
return (Prob )
end
end
Dernière modification par Keros le 20 juin 2023, 12:32, modifié 1 fois.
Raison : Citation supprimée. Mercid de ne pas citer le message précédent lors d'une réponse directe.
Raison : Citation supprimée. Mercid de ne pas citer le message précédent lors d'une réponse directe.
Re: [DzVents] Données Météo Weather Visual Crossing
Cool merci 
J'avais codé ca :
Mais je vais prendre ce que tu m'as indiqué dans ton message même si je comprends toujours pas le "H=H+1 -- heure de debut + 1 pour index" 
J'avais codé ca :
Code : Tout sélectionner
h=Heure + duree
if h > 24 then J =2 H = h-24
else
H=h
endRe: [DzVents] Données Météo Weather Visual Crossing
Bonjour,
pour accéder aux probabilités d'aujourd'hui à 0H00 il faut mettre: v.days[1].hours[1].precipprob et non v.days[0].hours[0].precipprob. le premier index est 1.
je joins le script pour les prévisions vent sur le même principe que la pluie :
l'appel de la fonction:
pour accéder aux probabilités d'aujourd'hui à 0H00 il faut mettre: v.days[1].hours[1].precipprob et non v.days[0].hours[0].precipprob. le premier index est 1.
je joins le script pour les prévisions vent sur le même principe que la pluie :
Code : Tout sélectionner
local function lectProbVent(duree,v,dz)
-- duree--durée en H de la probabilité
-- V données JSON
local Time = require('Time')
local now = Time()
local Heure = now.hour
local J = 1 --init jour
local Rafale,Vent =0,0
local degrees= 0
if H > 23 then
J = math.floor(H/24)+1
H = math.fmod(H,24)
end
H=H+1 -- heure de debut + 1 pour index
Rafale= v.days[J].hours[H].windgust
Vent= v.days[J].hours[H].windspeed
degrees = degrees + v.days[J].hours[H].winddir
local quad = 'N'
local quadrants = {"NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"}
if degrees <= 348.75 and degrees > 11.25 then quad = quadrants[tonumber(math.floor((degrees - 11.25) / 22.5)+1)] end
return degrees, quad, Vent/3.6, Rafale/3.6
endCode : Tout sélectionner
--Proba Vent dans 5H ajout d'un capteur virtuel "Vent" sans températeures le 9/06/2023 lectProb(Nbre H proba vent,JSON,domoticz)
{idx = 'Proba Vent dans 5H', cde = function (dz, idx, v) dz.devices(idx).updateWind(lectProbVent(5,v,dz)) end },
Re: [DzVents] Données Météo Weather Visual Crossing
Génial!!!
Merci encore!!!
Du coup j'ai fait la même pour la prévision des températures dans les heures suivantes :
avec un appel:
Merci encore pour les exemples 
Merci encore!!!
Du coup j'ai fait la même pour la prévision des températures dans les heures suivantes :
Code : Tout sélectionner
--======================Températures MAJ le 26/6/2023==============================
local function lectTemp(duree,v)
local Time = require('Time')
local now = Time()
local Heure = now.hour+1 -- heure de debut + 1 pour index
local J = 1 --init jour
H=Heure + duree
if H > 23 then
J = math.floor(H/24)+1
H = math.fmod(H,24)
end
Temp= v.days[J].hours[H].temp
return (Temp)
end
--================================================================================
Code : Tout sélectionner
--Température
--Temp dans 1 H ajout d'un capteur virtuel Tempdans 1H lectTemp(Nbre H de projection pluie,JSON)
{idx = 'Temp dans 1H', cde = function (dz, idx, v) dz.devices(idx).updateTemperature(lectTemp(1,v)) end },-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: [DzVents] Données Météo Weather Visual Crossing
Attention, ceux qui comme moi ont copié le code récemment,, en l'absence du paramètre unitGroup, les données du json sont au format us au lieu de métric
Ce qui signifie températures en fahrenheit et longueurs et distances en miles.
Code : Tout sélectionner
-- MAJ le8/6/2023 enlevé "unitGroup=metric&maxDistance=20000" de la requêtePi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090