[DzVents] Données Météo Weather Visual Crossing

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
MAidEN91
Messages : 132
Inscription : 01 sept. 2015, 20:50

Re: [DzVents] Données Météo Weather Visual Crossing

Message par MAidEN91 »

Je connais bien la procédure de MAJ d'un device suite a un changement de piles, pour le coup mon widget fonctionne bien correctement il se mets à jour et il n'y a pas de doublon ni de nouvel appareil qui apparait lorsque j'active le mode écoute...

Concernant votre script j'ai tenté d'utiliser votre dernière version corrigée, j'ai cependant toujours l'erreur lié aux widgets Baromètre qui ne se mettent toujours pas à jour :

Code : Tout sélectionner

2023-04-26 23:40:06.052 Error: dzVents: Error: (2.5.3) -- weather.visualcrossing v1.1: No status provided. Temperature + humidity not set
Pour celui anciennement Lune, je l'ai renommé en Soleil et effectivement c'est ok !
Pièces jointes
Capture d’écran 2023-04-26 234453.png
Capture d’écran 2023-04-26 234453.png (65.24 Kio) Consulté 1816 fois
Capture d’écran 2023-04-26 234427.png
Capture d’écran 2023-04-26 234427.png (34.21 Kio) Consulté 1816 fois
BernardC
Messages : 18
Inscription : 10 avr. 2023, 10:31

Re: [DzVents] Données Météo Weather Visual Crossing

Message par BernardC »

Bonjour,
Il faut éditer l'un des widget, dispositif et ajouter un commentaire et valider par le bouton modifier. Cela m'avais permis de débloquer la situation pour ma part. La maj de l'enregistrement de la donnée doit être verrouillé ....
MAidEN91
Messages : 132
Inscription : 01 sept. 2015, 20:50

Re: [DzVents] Données Météo Weather Visual Crossing

Message par MAidEN91 »

J'ai édité comme ceci le widget mais j'ai toujours le même problème...
Pièces jointes
Capture d’écran 2023-04-29 122024.png
Capture d’écran 2023-04-29 122024.png (14.37 Kio) Consulté 1754 fois
cyberbob
Messages : 511
Inscription : 28 nov. 2016, 19:43
Localisation : Belgique

Re: [DzVents] Données Météo Weather Visual Crossing

Message par cyberbob »

Bonjour,

Merci pour ce très bon travail, que je suis en train d'étudier.
Est-ce que cela fonctionne aussi pour les probabilité de pluie en pourcentage comme le fesait Darksky a 1H, 2H, 6H jusqu'a 2J :
proba
proba
proba.jpg (141.91 Kio) Consulté 1713 fois
https://ibb.co/zFBNKDS

Je fesais cela pour fermer les volets quand il y avait de la pluie prévue dans 1H, ce qui avait l'avantage de préserver les chassis de l'humidité

Merci pour vos réponse :idea:
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [DzVents] Données Météo Weather Visual Crossing

Message par Keros »

Je n'ai pas testé tous les API, mais je n'ai que les infos sur la journée entière (pas d'heure par heure).
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
pierre78@dom
Messages : 23
Inscription : 23 sept. 2019, 20:34

Re: [DzVents] Données Météo Weather Visual Crossing

Message par pierre78@dom »

Bonsoir,
Tout d'abord merci pour ce superbe travail qui m'ouvre de nouvelles portes....
Tuto très bien réalisé tout est ok pour moi. Merci beaucoup !!!! :)

J'ai cependant une petite question concernant le JSON.
Grace à ce tuto je constate qu'il et facile de récupérer les données des "branches" (je ne maîtrise pas le terme désolé..) "currentConditions" et/ou "stations"....

De mon coté j'ai activé les remontées heure par heure.
J'ai donc une "branche" intitulée "days".
cette "branche" est constituées de "sous branches" (0h, 1h,2h...),qui elles-mêmes ont tout un tas d'information à récupérer.
Ma question est donc l suivante: quelle est la syntaxe à utiliser pour récupérer les informations de ces sous branche?

Autrement dit,
pour récupérer les précipitations actuelles, on fait:
v.currentConditions.precip

si je souhaite récupérer les données de pluie du jour de la 4eme heure, est ce que ce serait une syntaxe du type:
v.days\0\hours\4\precip
v.days.0.hours.4.precip

Avec le fichier json suivant
today.json
(13.42 Kio) Téléchargé 199 fois
, récupérer l'info sur la ligne :
{"datetime":"04:00:00","datetimeEpoch":1682906400,"temp":8.2,"feelslike":7.2,"humidity":87.36,"dew":6.2,"precip":0.0
comment récupérer la dernière information : "precip":0.0

Merci d'avance pour votre aide et vos précieux conseils ! :)
Cordialement
Raspberry PI3b+
-1 clé ZIGBEE2mQTT
-HONEYWELL 4 détecteurs feu
-AQARA 4 détecteurs fuite /4 capteurs température/5 capteurs fenêtre (2 pr alarme)
-PHILIPS HUE 3 dimmer/3 MOTIONS/6 ampoules blanc/3 bandes LED RGB
-SONOFF basic / POW r2
-SONOS 4 PLAY1
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [DzVents] Données Météo Weather Visual Crossing

Message par Keros »

Tu trouveras le principe sur l'utilisation du Json dans mon tuto sur OpenWeatherMap.

Il y a un exemple dans le script pour le vent :

Code : Tout sélectionner

if v.currentConditions.windgust == nil then v.currentConditions.windgust = v.days[1].windgust
Ton code devrait être (non testé) :

Code : Tout sélectionner

v.days[1].hours[5].precip
Pourquoi 1 et 5 au lieu de 0 et 4 ? L'explication est dans le tuto.
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
pierre78@dom
Messages : 23
Inscription : 23 sept. 2019, 20:34

Re: [DzVents] Données Météo Weather Visual Crossing

Message par pierre78@dom »

Merci Keros pour ce retour! rapide! clair et précis!
En effet, je n'avais pas prété attention à cette précision dan s l'exemple....
Merci pour tout et bonne semaine !
:)
Raspberry PI3b+
-1 clé ZIGBEE2mQTT
-HONEYWELL 4 détecteurs feu
-AQARA 4 détecteurs fuite /4 capteurs température/5 capteurs fenêtre (2 pr alarme)
-PHILIPS HUE 3 dimmer/3 MOTIONS/6 ampoules blanc/3 bandes LED RGB
-SONOFF basic / POW r2
-SONOS 4 PLAY1
BernardC
Messages : 18
Inscription : 10 avr. 2023, 10:31

Re: [DzVents] Données Météo Weather Visual Crossing

Message par BernardC »

cyberbob a écrit : 01 mai 2023, 14:49 Bonjour,

Merci pour ce très bon travail, que je suis en train d'étudier.
Est-ce que cela fonctionne aussi pour les probabilité de pluie en pourcentage comme le fesait Darksky a 1H, 2H, 6H jusqu'a 2J :
proba.jpg
https://ibb.co/zFBNKDS

Je fesais cela pour fermer les volets quand il y avait de la pluie prévue dans 1H, ce qui avait l'avantage de préserver les chassis de l'humidité

Merci pour vos réponse :idea:
Bonjour,
Cela m'a inspiré:
j'ai modifier ma requête:

Code : Tout sélectionner

local uri = 'https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/'..Localite..'?unitGroup=metric&maxDistance=20000&include=days%2Ccurrent%2Chours&key='..apiKey..'&contentType=json'
j'ai fais une fonction générique suivant la durée de la probabilité demandée:

Code : Tout sélectionner

--======================Probabilité Pluie MAJ 4/5/2023===============================
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
    for i = Heure,Heure + duree do 
        H= i
        if i > 24 then J =2 H = i-24 end
        if i > 48 then J =3 H = i-48 end
        Prob= v.days[J].hours[H].precipprob
       if Prob> ResulProb then ResulProb = Prob end
    end
    return (ResulProb )
end
--================================================================================

et j'ai ajouté un capteur pourcentage pour une "Proba Pluie 2J"

Code : Tout sélectionner

   --Proba Pluie 2 Jours  ajout d'un capteur virtuel "Poucentage le 2/05/2023           lectProb(Nbre H proba pluie,JSON)
    {idx = 'Proba Pluie 2J', cde = function (dz, idx, v) dz.devices(idx).updatePercentage(lectProb([b]48[/b],v)) end },

pour les autres capteurs il suffit de modifier le paramètre Nbre H.
reste à voir sur 2 jours si c'est ok.
le 4/5/2023: MAJ index duree +1 en trop...
Dernière modification par BernardC le 04 mai 2023, 10:27, modifié 1 fois.
BernardC
Messages : 18
Inscription : 10 avr. 2023, 10:31

Re: [DzVents] Données Météo Weather Visual Crossing

Message par BernardC »

MAidEN91 a écrit : 29 avr. 2023, 12:20 J'ai édité comme ceci le widget mais j'ai toujours le même problème...
La je suis moins inspiré:
On peut ajouter après la maj du Baromètre:

Code : Tout sélectionner

dz.devices(idx).updateTempHumBaro(v.currentConditions.temp,v.currentConditions.humidity,dz.HUM_COMPUTE,v.currentConditions.pressure,baro)
print('Maj Barometre = '..dz.devices(idx).sValue)
puis vérifier si la maj est effectée (pas erreur non visible)

Code : Tout sélectionner

 2023-05-02 20:20:02.162 Status: dzVents: reception de weathervisualcrossing
2023-05-02 20:20:02.169 Status: dzVents: Maj Barometre = 16.00;62.8;0;1025;2
2023-05-02 20:25:02.407 Status: dzVents: reception de weathervisualcrossing
2023-05-02 20:25:02.414 Status: dzVents: Maj Barometre = 16.00;62.8;0;1025;2
2023-05-02 20:30:02.392 Status: dzVents: reception de weathervisualcrossing
2023-05-02 20:30:02.399 Status: dzVents: Maj Barometre = 16.00;63.1;0;1025;2
2023-05-02 20:35:02.480 Status: dzVents: reception de weathervisualcrossing
2023-05-02 20:35:02.488 Status: dzVents: Maj Barometre = 16.00;63.1;0;1025;2

et dans les dispositifs on doit retrouver les mêmes infos
Capture.JPG
Capture.JPG (32.91 Kio) Consulté 1644 fois
vérifier le type et sous-type sont identique à ceci.
Répondre