DZVents : mise en cache des données de l’API prevision_meteo.ch

Vous avez crée 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.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
papoo
Messages : 2029
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par papoo »

ce script simplifié ne teste pas si le résultat est en json.
tu peux éventuellement faire un test en ajoutant l'url

Code : Tout sélectionner

["testUrl4"] = 'https://www.prevision-meteo.ch/services/json/lat=45.85860lng=1.23190'
si cela fonctionne modifie le script previsionMeteo.lua

Code : Tout sélectionner

            if (not item.isJSON) then
                logWrite('Last http response was not what expected. Trigger: '..item.trigger,domoticz.LOG_ERROR)
            else
                local contents = domoticz.utils.toJSON(item.json)
                contents = contents:gsub('https://www(.?)prevision(.?)meteo(.?)ch/style/images/icon/', iconsPath) 
                logWrite(contents)
                if contents then
                    file = io.open(jsonFile, "w+")
                    file:write( contents )
                    io.close( file )
                    --file:close()
                    logWrite('ecriture des données dans le fichier '..jsonFile)
                end
            end
par

Code : Tout sélectionner

          --  if (not item.isJSON) then
               -- logWrite('Last http response was not what expected. Trigger: '..item.trigger,domoticz.LOG_ERROR)
          --  else
                local contents = domoticz.utils.toJSON(item.json)
                contents = contents:gsub('https://www(.?)prevision(.?)meteo(.?)ch/style/images/icon/', iconsPath) 
                logWrite(contents)
                if contents then
                    file = io.open(jsonFile, "w+")
                    file:write( contents )
                    io.close( file )
                    --file:close()
                    logWrite('ecriture des données dans le fichier '..jsonFile)
                end
        --    end
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Doudy
Messages : 259
Enregistré le : 07 mai 2016, 17:23

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par Doudy »

papoo a écrit :
27 nov. 2019, 21:42
ce script simplifié ne teste pas si le résultat est en json.
tu peux éventuellement faire un test en ajoutant l'url

Code : Tout sélectionner

["testUrl4"] = 'https://www.prevision-meteo.ch/services/json/lat=45.85860lng=1.23190'
si cela fonctionne modifie le script previsionMeteo.lua
Voilà le résultat :

Code : Tout sélectionner

2019-11-28 09:20:04.477 Status: dzVents: Info: Test Urls v0.1: ------ Start external script: testsUrl.lua: HTTPResponse: "testUrl4"
2019-11-28 09:20:04.477 Status: dzVents: !Info: Test Urls v0.1: Domoticz version: 4.10717, and dzVents version : 2.4.19
2019-11-28 09:20:04.478 Status: dzVents: !Info: Test Urls v0.1: {"city_info":{"name":"NA","country":"--","latitude":"45.85860","longitude":"1.23190","elevation":"NA","sunrise":"08:10","sunset":"17:15"},"forecast_info":{"latitude":"45.85860","longitude":"1.23190","elevation":"316.0"},"current_condition":{"date":"28.11.2019","hour":"10:00","tmp":9,"wnd_spd":27,"wnd_gust":53,"wnd_dir":"O","pressure":1002.7,"humidity":92,"condition":"Eclaircies","condition_key":"eclaircies","icon":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/eclaircies.png","icon_big":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/eclaircies-big.png"},"fcst_day_0":{"date":"28.11.2019","day_short":"Jeu.","day_long":"Jeudi","tmin":8,"tmax":10,"condition":"Eclaircies","condition_key":"eclaircies","icon":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/eclaircies.png","icon_big":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/eclaircies-big.png","hourly_data":{"0H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-faiblement-orageuse.png","CONDITION":"Nuit faiblement orageuse","CONDITION_KEY":"nuit-faiblement-orageuse","TMP2m":9.1,"DPT2m":8.2,"WNDCHILL2m":6,"HUMIDEX":null,"RH2m":94,"PRMSL":1000.5,"APCPsfc":0.3,"WNDSPD10m":23,"WNDGUST10m":54,"WNDDIR10m":257,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"0.00","MCDC":"0.00","LCDC":"99.70","HGT0C":1700,"KINDEX":39,"CAPE180_0":"150.000","CIN180_0":0},"1H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-faiblement-orageuse.png","CONDITION":"Nuit faiblement orageuse","CONDITION_KEY":"nuit-faiblement-orageuse","TMP2m":9,"DPT2m":8.1,"WNDCHILL2m":6,"HUMIDEX":null,"RH2m":94,"PRMSL":1000.6,"APCPsfc":0.1,"WNDSPD10m":21,"WNDGUST10m":47,"WNDDIR10m":250,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"0.00","MCDC":"0.00","LCDC":"0.00","HGT0C":1700,"KINDEX":39,"CAPE180_0":"125.000","CIN180_0":0},"2H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-avec-averses.png","CONDITION":"Nuit avec averses","CONDITION_KEY":"nuit-avec-averses","TMP2m":8.3,"DPT2m":7.6,"WNDCHILL2m":4.8,"HUMIDEX":null,"RH2m":95,"PRMSL":1000.8,"APCPsfc":0.1,"WNDSPD10m":25,"WNDGUST10m":44,"WNDDIR10m":253,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"0.00","MCDC":"0.00","LCDC":"62.60","HGT0C":1700,"KINDEX":38,"CAPE180_0":"120.000","CIN180_0":0},"3H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-avec-averses.png","CONDITION":"Nuit avec averses","CONDITION_KEY":"nuit-avec-averses","TMP2m":8.1,"DPT2m":7.5,"WNDCHILL2m":4.8,"HUMIDEX":null,"RH2m":96,"PRMSL":1000.3,"APCPsfc":0.2,"WNDSPD10m":22,"WNDGUST10m":41,"WNDDIR10m":260,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"0.00","MCDC":"0.00","LCDC":"99.80","HGT0C":1700,"KINDEX":39,"CAPE180_0":"104.000","CIN180_0":0},"4H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/pluie-faible.png","CONDITION":"Pluie faible","CONDITION_KEY":"pluie-faible","TMP2m":8.7,"DPT2m":8.3,"WNDCHILL2m":5.9,"HUMIDEX":null,"RH2m":98,"PRMSL":999.5,"APCPsfc":0.2,"WNDSPD10m":18,"WNDGUST10m":35,"WNDDIR10m":248,"WNDDIRCARD10":"SO","ISSNOW":0,"HCDC":"0.00","MCDC":"0.00","LCDC":"44.30","HGT0C":1800,"KINDEX":41,"CAPE180_0":"208.000","CIN180_0":0},"5H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-legerement-voilee.png","CONDITION":"Nuit l\u00e9g\u00e8rement voil\u00e9e","CONDITION_KEY":"nuit-legerement-voilee","TMP2m":7.7,"DPT2m":7,"WNDCHILL2m":4.4,"HUMIDEX":null,"RH2m":95,"PRMSL":999.8,"APCPsfc":0,"WNDSPD10m":21,"WNDGUST10m":44,"WNDDIR10m":267,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"44.40","MCDC":"0.00","LCDC":"0.00","HGT0C":1700,"KINDEX":40,"CAPE180_0":"73.000","CIN180_0":0},"6H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-nuageuse.png","CONDITION":"Nuit nuageuse","CONDITION_KEY":"nuit-nuageuse","TMP2m":8.3,"DPT2m":7.3,"WNDCHILL2m":4.4,"HUMIDEX":null,"RH2m":94,"PRMSL":1000.3,"APCPsfc":0,"WNDSPD10m":30,"WNDGUST10m":47,"WNDDIR10m":269,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"100.00","MCDC":"0.00","LCDC":"11.00","HGT0C":1700,"KINDEX":43,"CAPE180_0":"107.000","CIN180_0":0},"7H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-nuageuse.png","CONDITION":"Nuit nuageuse","CONDITION_KEY":"nuit-nuageuse","TMP2m":7.8,"DPT2m":6.7,"WNDCHILL2m":4,"HUMIDEX":null,"RH2m":93,"PRMSL":1000.8,"APCPsfc":0,"WNDSPD10m":26,"WNDGUST10m":47,"WNDDIR10m":260,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"100.00","MCDC":"0.00","LCDC":"33.30","HGT0C":1700,"KINDEX":45,"CAPE180_0":"37.000","CIN180_0":-10},"8H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-avec-averses.png","CONDITION":"Nuit avec averses","CONDITION_KEY":"nuit-avec-averses","TMP2m":8.7,"DPT2m":7.6,"WNDCHILL2m":5.1,"HUMIDEX":null,"RH2m":93,"PRMSL":1001.6,"APCPsfc":1,"WNDSPD10m":27,"WNDGUST10m":44,"WNDDIR10m":268,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"100.00","MCDC":"0.00","LCDC":"0.00","HGT0C":1700,"KINDEX":46,"CAPE180_0":"111.000","CIN180_0":-15},"9H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/eclaircies.png","CONDITION":"Eclaircies","CONDITION_KEY":"eclaircies","TMP2m":8.3,"DPT2m":6.9,"WNDCHILL2m":4.2,"HUMIDEX":null,"RH2m":91,"PRMSL":1002,"APCPsfc":0,"WNDSPD10m":32,"WNDGUST10m":50,"WNDDIR10m":252,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"100.00","MCDC":"35.30","LCDC":"0.00","HGT0C":1600,"KINDEX":46,"CAPE180_0":"17.000","CIN180_0":-31},"10H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/eclaircies.png","CONDITION":"Eclaircies","CONDITION_KEY":"eclaircies","TMP2m":9,"DPT2m":7.6,"WNDCHILL2m":5.5,"HUMIDEX":null,"RH2m":92,"PRMSL":1002.7,"APCPsfc":0,"WNDSPD10m":27,"WNDGUST10m":53,"WNDDIR10m":262,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"100.00","MCDC":"100.00","LCDC":"0.00","HGT0C":1700,"KINDEX":42,"CAPE180_0":"73.000","CIN180_0":-48},"11H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/averses-de-pluie-faible.png","CONDITION":"Averses de pluie faible","CONDITION_KEY":"averses-de-pluie-faible","TMP2m":9,"DPT2m":8,"WNDCHILL2m":5.7,"HUMIDEX":null,"RH2m":93,"PRMSL":1003,"APCPsfc":0.1,"WNDSPD10m":25,"WNDGUST10m":43,"WNDDIR10m":257,"WNDDIRCARD10":"O","ISSNOW":0,"HCDC":"100.00","MCDC":"100.00","LCDC":"3.90","HGT0C":1700,"KIND
2019-11-28 09:20:04.478 Status: dzVents: Info: Test Urls v0.1: ------ Finished testsUrl.lua
Je suppose que cela est correct.
Donc, je continue à suivre tes indications.
;)
PI 3 = RFXCOM
PI 3 + Touchscreen 7" affichage Domoticz
RFXCOM 433
Domoticz Version: 2020.2 - Python Version: 3.7.3 - dzVents Version: 3.0.2

Doudy
Messages : 259
Enregistré le : 07 mai 2016, 17:23

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par Doudy »

papoo a écrit :
27 nov. 2019, 21:42
si cela fonctionne modifie le script previsionMeteo.lua
Eh bien cela n'a pas l'air de fonctionner !
Il y a encore un petit soucis.

Code : Tout sélectionner

 2019-11-28 09:33:00.436 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Start external script: previsionMeteo.lua:, trigger: every 1 minutes
2019-11-28 09:33:00.437 Status: dzVents: Debug: Extraction prévisions météo v1.01: latitude : 45.85860
2019-11-28 09:33:00.437 Status: dzVents: Debug: Extraction prévisions météo v1.01: longitude : 1.23190
2019-11-28 09:33:00.437 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: url = https://www.prevision-meteo.ch/services/json/lat=45.85860lng=1.23190
2019-11-28 09:33:00.437 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: method = GET
2019-11-28 09:33:00.437 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: post data = nil
2019-11-28 09:33:00.437 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: headers = nil
2019-11-28 09:33:00.437 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: callback = prevision-meteo_response
2019-11-28 09:33:00.437 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Finished previsionMeteo.lua
2019-11-28 09:33:00.438 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
2019-11-28 09:33:02.469 Status: dzVents: Info: Handling httpResponse-events for: "prevision-meteo_response
2019-11-28 09:33:02.469 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Start external script: previsionMeteo.lua: HTTPResponse: "prevision-meteo_response"
2019-11-28 09:33:02.473 Status: dzVents: Debug: Extraction prévisions météo v1.01: null
2019-11-28 09:33:02.473 Status: dzVents: Error (2.4.19): Extraction prévisions météo v1.01: An error occured when calling event handler previsionMeteo
2019-11-28 09:33:02.473 Status: dzVents: Error (2.4.19): Extraction prévisions météo v1.01: ...e/pi/domoticz/scripts/dzVents/scripts/previsionMeteo.lua:132: attempt to index global 'file' (a nil value)
2019-11-28 09:33:02.473 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Finished previsionMeteo.lua 
J'espère que cela pourra éclairer ta lanterne.
;)
PI 3 = RFXCOM
PI 3 + Touchscreen 7" affichage Domoticz
RFXCOM 433
Domoticz Version: 2020.2 - Python Version: 3.7.3 - dzVents Version: 3.0.2

papoo
Messages : 2029
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par papoo »

ma lanterne commence à manquer sérieusement de lumière. :D
on dirait que ton système ne comprend pas le json.
en gardant les modifs précédentes,
si tu commente les lignes suivantes, quel est le résultat?

Code : Tout sélectionner

        if contents then
                    file = io.open(jsonFile, "w+")
                    file:write( contents )
                    io.close( file )
                    --file:close()
                    logWrite('ecriture des données dans le fichier '..jsonFile)
                end
  
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Doudy
Messages : 259
Enregistré le : 07 mai 2016, 17:23

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par Doudy »

Bonjour,
papoo a écrit :
28 nov. 2019, 21:26
en gardant les modifs précédentes,
si tu commente les lignes suivantes, quel est le résultat?
Voilà, le résultat :

Code : Tout sélectionner

2019-11-29 08:45:00.297 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Start external script: previsionMeteo.lua:, trigger: every 1 minutes
2019-11-29 08:45:00.297 Status: dzVents: Debug: Extraction prévisions météo v1.01: latitude : 45.85860
2019-11-29 08:45:00.297 Status: dzVents: Debug: Extraction prévisions météo v1.01: longitude : 1.23190
2019-11-29 08:45:00.297 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: url = https://www.prevision-meteo.ch/services/json/lat=45.85860lng=1.23190
2019-11-29 08:45:00.297 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: method = GET
2019-11-29 08:45:00.298 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: post data = nil
2019-11-29 08:45:00.298 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: headers = nil
2019-11-29 08:45:00.298 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: callback = prevision-meteo_response
2019-11-29 08:45:00.298 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Finished previsionMeteo.lua 

2019-11-29 08:45:06.230 Status: dzVents: Info: Handling httpResponse-events for: "prevision-meteo_response
2019-11-29 08:45:06.230 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Start external script: previsionMeteo.lua: HTTPResponse: "prevision-meteo_response"
2019-11-29 08:45:06.234 Status: dzVents: Debug: Extraction prévisions météo v1.01: null
2019-11-29 08:45:06.234 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Finished previsionMeteo.lua 
J'allume la lumière :idea: :idea: :idea: si cela peut t'aider.... :lol:
PI 3 = RFXCOM
PI 3 + Touchscreen 7" affichage Domoticz
RFXCOM 433
Domoticz Version: 2020.2 - Python Version: 3.7.3 - dzVents Version: 3.0.2

Doudy
Messages : 259
Enregistré le : 07 mai 2016, 17:23

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par Doudy »

Hello, bon dimanche,

Pourtant lorsque je fais "https://www.prevision-meteo.ch/services ... ng=1.23190" dans mon navigateur j'obtiens bien ceci :

Code : Tout sélectionner

{"city_info":{"name":"NA","country":"--","latitude":"45.85860","longitude":"1.23190","elevation":"NA","sunrise":"08:13","sunset":"17:14"},"forecast_info":{"latitude":"45.85860","longitude":"1.23190","elevation":"316.0"},"current_condition":{"date":"01.12.2019","hour":"11:00","tmp":6,"wnd_spd":11,"wnd_gust":18,"wnd_dir":"SE","pressure":1010.4,"humidity":97,"condition":"Ciel voil\u00e9","condition_key":"ciel-voile","icon":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/ciel-voile.png","icon_big":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/ciel-voile-big.png"},"fcst_day_0":{"date":"01.12.2019","day_short":"Dim.","day_long":"Dimanche","tmin":5,"tmax":7,"condition":"Eclaircies","condition_key":"eclaircies","icon":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/eclaircies.png","icon_big":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/eclaircies-big.png","hourly_data":{"0H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-avec-averses.png","CONDITION":"Nuit avec averses","CONDITION_KEY":"nuit-avec-averses","TMP2m":6.6,"DPT2m":5.9,"WNDCHILL2m":3.3,"HUMIDEX":null,"RH2m":96,"PRMSL":1010.2,"APCPsfc":0.2,"WNDSPD10m":18,"WNDGUST10m":28,"WNDDIR10m":215,"WNDDIRCARD10":"SO","ISSNOW":0,"HCDC":"67.00","MCDC":"0.00","LCDC":"31.30","HGT0C":1600,"KINDEX":44,"CAPE180_0":"0.000","CIN180_0":0},"1H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-avec-averses.png","CONDITION":"Nuit avec averses","CONDITION_KEY":"nuit-avec-averses","TMP2m":4.7,"DPT2m":3.8,"WNDCHILL2m":2.3,"HUMIDEX":null,"RH2m":95,"PRMSL":1009.9,"APCPsfc":0.3,"WNDSPD10m":10,"WNDGUST10m":27,"WNDDIR10m":199,"WNDDIRCARD10":"S","ISSNOW":0,"HCDC":"100.00","MCDC":"0.00","LCDC":"37.00","HGT0C":1500,"KINDEX":44,"CAPE180_0":"0.000","CIN180_0":-1},"2H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-nuageuse.png","CONDITION":"Nuit nuageuse","CONDITION_KEY":"nuit-nuageuse","TMP2m":5.8,"DPT2m":5.6,"WNDCHILL2m":2.7,"HUMIDEX":null,"RH2m":99,"PRMSL":1010,"APCPsfc":0,"WNDSPD10m":15,"WNDGUST10m":24,"WNDDIR10m":195,"WNDDIRCARD10":"S","ISSNOW":0,"HCDC":"100.00","MCDC":"1.90","LCDC":"55.30","HGT0C":1500,"KINDEX":44,"CAPE180_0":"1.000","CIN180_0":0},"3H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-nuageuse.png","CONDITION":"Nuit nuageuse","CONDITION_KEY":"nuit-nuageuse","TMP2m":6.1,"DPT2m":6,"WNDCHILL2m":3.3,"HUMIDEX":null,"RH2m":100,"PRMSL":1009.3,"APCPsfc":0,"WNDSPD10m":14,"WNDGUST10m":24,"WNDDIR10m":187,"WNDDIRCARD10":"S","ISSNOW":0,"HCDC":"100.00","MCDC":"2.40","LCDC":"95.90","HGT0C":1500,"KINDEX":43,"CAPE180_0":"3.000","CIN180_0":-2},"4H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-nuageuse.png","CONDITION":"Nuit nuageuse","CONDITION_KEY":"nuit-nuageuse","TMP2m":6.1,"DPT2m":6,"WNDCHILL2m":3.4,"HUMIDEX":null,"RH2m":99,"PRMSL":1008.8,"APCPsfc":0,"WNDSPD10m":13,"WNDGUST10m":22,"WNDDIR10m":190,"WNDDIRCARD10":"S","ISSNOW":0,"HCDC":"100.00","MCDC":"1.50","LCDC":"66.70","HGT0C":1500,"KINDEX":42,"CAPE180_0":"3.000","CIN180_0":0},"5H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-nuageuse.png","CONDITION":"Nuit nuageuse","CONDITION_KEY":"nuit-nuageuse","TMP2m":6.2,"DPT2m":5.9,"WNDCHILL2m":4.3,"HUMIDEX":null,"RH2m":98,"PRMSL":1008.5,"APCPsfc":0,"WNDSPD10m":9,"WNDGUST10m":20,"WNDDIR10m":185,"WNDDIRCARD10":"S","ISSNOW":0,"HCDC":"45.40","MCDC":"0.10","LCDC":"19.10","HGT0C":1400,"KINDEX":41,"CAPE180_0":"4.000","CIN180_0":-3},"6H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/stratus.png","CONDITION":"Stratus","CONDITION_KEY":"stratus","TMP2m":6,"DPT2m":5.7,"WNDCHILL2m":3.9,"HUMIDEX":null,"RH2m":98,"PRMSL":1009,"APCPsfc":0,"WNDSPD10m":10,"WNDGUST10m":17,"WNDDIR10m":182,"WNDDIRCARD10":"S","ISSNOW":0,"HCDC":"0.00","MCDC":"0.00","LCDC":"0.00","HGT0C":1400,"KINDEX":41,"CAPE180_0":"1.000","CIN180_0":-4},"7H00":{"ICON":"https:\/\/www.prevision-meteo.ch\/style\/images\/icon\/nuit-nuageuse.png","CONDITION":"Nuit nuageuse","CONDITION_KEY":"nuit
Tout n'est pas affiché car :

Code : Tout sélectionner

Votre message contient 69562 caractères.
Le nombre maximum de caractères autorisés est de 60000.
Pourquoi ça ne fonctionne pas dans le script ?
:?
PI 3 = RFXCOM
PI 3 + Touchscreen 7" affichage Domoticz
RFXCOM 433
Domoticz Version: 2020.2 - Python Version: 3.7.3 - dzVents Version: 3.0.2

Doudy
Messages : 259
Enregistré le : 07 mai 2016, 17:23

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par Doudy »

En réactivant (décommentant) :

Code : Tout sélectionner

                local contents = domoticz.utils.toJSON(item.json)
                contents = contents:gsub('https://www(.?)prevision(.?)meteo(.?)ch/style/images/icon/', iconsPath) 
                logWrite(contents)
                if contents then
                    file = io.open(jsonFile, "w+")
                    file:write( contents )
                    io.close( file )
                    --file:close()
                    logWrite('ecriture des données dans le fichier '..jsonFile)
                end
j'ai le message suivant :

Code : Tout sélectionner

 2019-12-01 11:33:11.029 Status: dzVents: Error (2.4.19): Extraction prévisions météo v1.01: An error occured when calling event handler previsionMeteo
2019-12-01 11:33:11.029 Status: dzVents: Error (2.4.19): Extraction prévisions météo v1.01: ...e/pi/domoticz/scripts/dzVents/scripts/previsionMeteo.lua:132: attempt to index global 'file' (a nil value) 
ligne 132 :

Code : Tout sélectionner

                    file:write( contents )
Une piste ?
;)
PI 3 = RFXCOM
PI 3 + Touchscreen 7" affichage Domoticz
RFXCOM 433
Domoticz Version: 2020.2 - Python Version: 3.7.3 - dzVents Version: 3.0.2

papoo
Messages : 2029
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par papoo »

Nil= rien
Il n’y a rien à écrire dans le fichier donc erreur
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Doudy
Messages : 259
Enregistré le : 07 mai 2016, 17:23

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par Doudy »

Hello,
Je viens de refaire quelques tests.
J'ai modifié les propriétés du dossier monitor
Image

Hier, le script a réussi à créer le fichier prevision-meteo.json mais je ne sais plus quand et comment cela s'est produit
Image

Voilà maintenant les résultats du log :

Code : Tout sélectionner

2019-12-03 09:24:00.657 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Start external script: previsionMeteo.lua:, trigger: every 6 minutes
2019-12-03 09:24:00.657 Status: dzVents: Debug: Extraction prévisions météo v1.01: latitude : 45.85860
2019-12-03 09:24:00.657 Status: dzVents: Debug: Extraction prévisions météo v1.01: longitude : 1.23190
2019-12-03 09:24:00.657 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: url = https://www.prevision-meteo.ch/services/json/lat=50.66334lng=3.79129
2019-12-03 09:24:00.657 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: method = GET
2019-12-03 09:24:00.657 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: post data = nil
2019-12-03 09:24:00.657 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: headers = nil
2019-12-03 09:24:00.657 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: callback = prevision-meteo_response
2019-12-03 09:24:00.657 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Finished previsionMeteo.lua

2019-12-03 09:24:05.822 Status: dzVents: Info: Handling httpResponse-events for: "prevision-meteo_response
2019-12-03 09:24:05.822 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Start external script: previsionMeteo.lua: HTTPResponse: "prevision-meteo_response"
2019-12-03 09:24:05.822 Status: dzVents: Error (2.4.19): Extraction prévisions météo v1.01: Last http response was not what expected. Trigger: prevision-meteo_response
2019-12-03 09:24:05.822 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Finished previsionMeteo.lua 
Il y a toujours l'erreur : "Last http response was not what expected"
Je me demande si ce n'est pas la durée d'accès aux data du site meteo.ch qui pose problème !
J'ai fait des tests dans un navigateur avec l'adresse https://www.prevision-meteo.ch/services ... ng=3.79129 et il faut :
test 1 : 30"
test 2 : 26"
test 3 : 26"
test 4 : 31"
test 5 : 28"
pour avoir une réponse !

:idea: :?:
PI 3 = RFXCOM
PI 3 + Touchscreen 7" affichage Domoticz
RFXCOM 433
Domoticz Version: 2020.2 - Python Version: 3.7.3 - dzVents Version: 3.0.2

raphy383
Messages : 10
Enregistré le : 03 oct. 2019, 21:31

Re: DZVents : mise en cache des données de l’API prevision_meteo.ch

Message par raphy383 »

Hello,

quels étaient les droits auparavant ?

dans tous les cas, maintenant, tu dois modifier les propriétés du fichier json qui a été créé :
sur ta capture d'écran, c'est un fichier "root", et il ne pourra pas etre "relu" sinon.

Pour ce qui est du délai, oui c'est grand, et ça n'a pas tendance à s'améliorer... d’où l’intérêt de ce script (merci papoo) qui place les info en cache.

Répondre