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 : 2009
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 »

L’API est pas mal sollicitée En ce moment j’ai moi aussi quelques erreurs attends un peu plus longtemps et surtout ne règle pas le script pour qu’il interroge le serveur trop souvent je soupçonne qu’ils bannissent les IP qui sollicitent trop le serveur
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

papoo
Messages : 2009
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 »

possible de montrer une capture d'ecran des droits d'accès au fichier?
2020-03-26 17_54_43-Clipboard.png
2020-03-26 17_54_43-Clipboard.png (3.29 Kio) Vu 2711 fois
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Darkneo
Messages : 43
Enregistré le : 16 déc. 2018, 08:50

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

Message par Darkneo »

Hello

Je mets la copie d'écran mais honnêtement elle va pas beaucoup nous avancer... Car mon cas est... ultra custo... Je fais tourner domoticz sur un Synology via un paquet précompilé (c'est aussi une des raisons pour lesquelles je galère autant à porter des fonctionnalités dans Domoticz, car les folders/droits sont complètement différents).
Sur le fichier, j'ai fait un chown pour passer le proprio a domoticz (qui est l'utilisateur qui execute la plupart des scripts domoticz). à la base, le owner était root (équivalent de pi je pense), je peux faire le test en le repassant root.

Je vais quand même faire l'essai de forcer les communications en https suite à mon édit du message précédent voir si je n'ai pas plus de chance.

Edit: Je confirme que le "simple" remplacement dans la page meteo.html de monitor de:

Code : Tout sélectionner

var JsonAddress = "http://www.prevision-meteo.ch/services/json/"+city;
par

Code : Tout sélectionner

var JsonAddress = "https://www.prevision-meteo.ch/services/json/"+city;
économise l'étape de redirection sur le serveur. Je me demande si ce n'est pas cette redirection qui est "simplement" coupée en cas de sollicitation trop importante des serveurs.
Fichiers joints
temp.png
temp.png (10.79 Kio) Vu 2701 fois

Darkneo
Messages : 43
Enregistré le : 16 déc. 2018, 08:50

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

Message par Darkneo »

Re,

Je fais un nouveau message pour plus de lisibilité. J'ai fait pas mal de modif, je ne sais pas laquelle a été la bonne...
1- J'ai fait un

Code : Tout sélectionner

chown root prevision-meteo.json
2- j'ai revu le script pour remplacer http par https et la localisation en coordonnées long/lat par la ville:

Code : Tout sélectionner

            -- local latitude  = domoticz.settings.location.latitude
            local latitude  = '46.259'
             logWrite('latitude : '..latitude)
            -- local longitude = domoticz.settings.location.longitude
                local longitude = '5.235'
            --   logWrite('longitude : '..longitude)
             local url = "http://www.prevision-meteo.ch/services/json/lat="..latitude.."lng="..longitude
par

Code : Tout sélectionner

			local city = 'toulouse'
			local url = "https://www.prevision-meteo.ch/services/json/"..city
Et cela semble avoir fonctionné (en tout cas mon fichier est correctement rempli):

Code : Tout sélectionner

Status: dzVents: Info:  Extraction prévisions météo v1.0a: ------ Start external script: previsionMeteo.lua:, trigger: every 10 minutes
Status: dzVents: Debug: Extraction prévisions météo v1.0a: OpenURL: url = https://www.prevision-meteo.ch/services/json/saint-jean
Status: dzVents: Debug: Extraction prévisions météo v1.0a: OpenURL: method = GET
Status: dzVents: Debug: Extraction prévisions météo v1.0a: OpenURL: post data = nil
Status: dzVents: Debug: Extraction prévisions météo v1.0a: OpenURL: headers = nil
Status: dzVents: Debug: Extraction prévisions météo v1.0a: OpenURL: callback = prevision-meteo_response
Status: dzVents: Info:  Extraction prévisions météo v1.0a: ------ Finished previsionMeteo.lua
Status: dzVents: Debug: Commands sent to Domoticz: 
Status: dzVents: Debug: - OpenURL = {["URL"]="https://www.prevision-meteo.ch/services/json/saint-jean", ["_trigger"]="prevision-meteo_response", ["method"]="GET"}
Status: dzVents: Debug: =====================================================
Status: EventSystem: Script event triggered: /usr/local/domoticz/dzVents/runtime/dzVents.lua
Status: dzVents: Debug: Dumping domoticz data to /usr/local/domoticz/var/scripts/dzVents/domoticzData.lua
Status: dzVents: Debug: dzVents version: 2.4.6
Status: dzVents: Debug: Event triggers:
Status: dzVents: Debug: - HTTPResponse: prevision-meteo_response
Status: dzVents: Info:  Handling httpResponse-events for: "prevision-meteo_response
Status: dzVents: Info:  Extraction prévisions météo v1.0a: ------ Start external script: previsionMeteo.lua: HTTPResponse: "prevision-meteo_response"
Status: dzVents: Debug: Extraction prévisions météo v1.0a:   {"city_info":{"country":"France","elevation":"206","latitude":"43.6658325","longitude":"1.5052780","name":"Saint-Jean","sunrise":"06:43","sunset":"19:15"},"current_condition":{"condition":"Nuit nuageuse","condition_key":"nuit-nuageuse","date":"26.03.2020","hour":"22:00","humidity":62,"icon":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/nuit-nuageuse.png","icon_big":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/nuit-nuageuse-big.png","pressure":1011.5,"tmp":5,"wnd_dir":"O","wnd_gust":6,"wnd_spd":4},"fcst_day_0":{"condition":"Fortement nuageux","condition_key":"fortement-nuageux","date":"26.03.2020","day_long":"Jeudi","day_short":"Jeu.","hourly_data":{"0H00":{"APCPsfc":0,"CAPE180_0":"0.000","CIN180_0":-7,"CONDITION":"Nuit nuageuse","CONDITION_KEY":"nuit-nuageuse","DPT2m":0.9,"HCDC":"0.00","HGT0C":1500,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/nuit-nuageuse.png","ISSNOW":0,"KINDEX":39,"LCDC":"1.10","MCDC":"100.00","PRMSL":1008.4,"RH2m":71,"TMP2m":5.9,"WNDCHILL2m":3,"WNDDIR10m":165,"WNDDIRCARD10":"S","WNDGUST10m":22,"WNDSPD10m":14},"10H00":{"APCPsfc":0,"CAPE180_0":"0.000","CIN180_0":0,"CONDITION":"Fortement nuageux","CONDITION_KEY":"fortement-nuageux","DPT2m":0.8,"HCDC":"100.00","HGT0C":900,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/fortement-nuageux.png","ISSNOW":0,"KINDEX":37,"LCDC":"91.30","MCDC":"100.00","PRMSL":1008.9,"RH2m":70,"TMP2m":5.9,"WNDCHILL2m":2.6,"WNDDIR10m":145,"WNDDIRCARD10":"SE","WNDGUST10m":28,"WNDSPD10m":17},"11H00":{"APCPsfc":0,"CAPE180_0":"32.000","CIN180_0":0,"CONDITION":"Fortement nuageux","CONDITION_KEY":"fortement-nuageux","DPT2m":1,"HCDC":"98.80","HGT0C":900,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/fortement-nuageux.png","ISSNOW":0,"KINDEX":38,"LCDC":"15.60","MCDC":"100.00","PRMSL":1009,"RH2m":62,"TMP2m":7.8,"WNDCHILL2m":4.8,"WNDDIR10m":157,"WNDDIRCARD10":"SE","WNDGUST10m":29,"WNDSPD10m":18},"12H00":{"APCPsfc":0,"CAPE180_0":"46.000","CIN180_0":0,"CONDITION":"Fortement nuageux","CONDITION_KEY":"fortement-nuageux","DPT2m":0.3,"HCDC":"11.30","HGT0C":1000,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/fortement-nuageux.png","ISSNOW":0,"KINDEX":43,"LCDC":"90.10","MCDC":"100.00","PRMSL":1008.5,"RH2m":54,"TMP2m":9.2,"WNDCHILL2m":6.5,"WNDDIR10m":142,"WNDDIRCARD10":"SE","WNDGUST10m":30,"WNDSPD10m":19},"13H00":{"APCPsfc":0,"CAPE180_0":"78.000","CIN180_0":0,"CONDITION":"Fortement nuageux","CONDITION_KEY":"fortement-nuageux","DPT2m":1.1,"HCDC":"92.90","HGT0C":1000,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/fortement-nuageux.png","ISSNOW":0,"KINDEX":42,"LCDC":"78.60","MCDC":"100.00","PRMSL":1008.8,"RH2m":59,"TMP2m":8.7,"WNDCHILL2m":5.4,"WNDDIR10m":126,"WNDDIRCARD10":"SE","WNDGUST10m":38,"WNDSPD10m":24},"14H00":{"APCPsfc":0,"CAPE180_0":"67.000","CIN180_0":0,"CONDITION":"Fortement nuageux","CONDITION_KEY":"fortement-nuageux","DPT2m":1,"HCDC":"100.00","HGT0C":1000,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/fortement-nuageux.png","ISSNOW":0,"KINDEX":42,"LCDC":"35.70","MCDC":"100.00","PRMSL":1008.9,"RH2m":56,"TMP2m":9.4,"WNDCHILL2m":5.9,"WNDDIR10m":123,"WNDDIRCARD10":"SE","WNDGUST10m":44,"WNDSPD10m":28},"15H00":{"APCPsfc":0,"CAPE180_0":"33.000","CIN180_0":0,"CONDITION":"Fortement nuageux","CONDITION_KEY":"fortement-nuageux","DPT2m":-0.2,"HCDC":"100.00","HGT0C":1100,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/fortement-nuageux.png","ISSNOW":0,"KINDEX":41,"LCDC":"40.80","MCDC":"100.00","PRMSL":1008.8,"RH2m":49,"TMP2m":10.1,"WNDDIR10m":128,"WNDDIRCARD10":"SE","WNDGUST10m":43,"WNDSPD10m":24},"16H00":{"APCPsfc":0,"CAPE180_0":"26.000","CIN180_0":0,"CONDITION":"Fortement nuageux","CONDITION_KEY":"fortement-nuageux","DPT2m":-0.3,"HCDC":"99.70","HGT0C":1100,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/fortement-nuageux.png","ISSNOW":0,"KINDEX":41,"LCDC":"45.80","MCDC":"100.00","PRMSL":1009.1,"RH2m":48,"TMP2m":10.3,"WNDDIR10m":121,"WNDDIRCARD10":"SE","WNDGUST10m":37,"WNDSPD10m":20},"17H00":{"APCPsfc":0,"CAPE180_0":"10.000","CIN180_0":0,"CONDITION":"Fortement nuageux","CONDITION_KEY":"fortement-nuageux","DPT2m":-1.1,"HCDC":"33.20","HGT0C":1200,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/fortement-nuageux.png","ISSNOW":0,"KINDEX":39,"LCDC":"34.30","MCDC":"100.00","PRMSL":1008.9,"RH2m":44,"TMP2m":10.5,"WNDDIR10m":121,"WNDDIRCARD10":"SE","WNDGUST10m":32,"WNDSPD10m":16},"18H00":{"APCPsfc":0,"CAPE180_0":"0.000","CIN180_0":0,"CONDITION":"Eclaircies","CONDITION_KEY":"eclaircies","DPT2m":-2.2,"HCDC":"0.00","HGT0C":1200,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/eclaircies.png","ISSNOW":0,"KINDEX":40,"LCDC":"1.50","MCDC":"100.00","PRMSL":1009,"RH2m":42,"TMP2m":10.2,"WNDDIR10m":133,"WNDDIRCARD10":"SE","WNDGUST10m":26,"WNDSPD10m":14},"19H00":{"APCPsfc":0,"CAPE180_0":"0.000","CIN180_0":0,"CONDITION":"Eclaircies","CONDITION_KEY":"eclaircies","DPT2m":-2.2,"HCDC":"0.00","HGT0C":1200,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/eclaircies.png","ISSNOW":0,"KINDEX":38,"LCDC":"1.50","MCDC":"100.00","PRMSL":1009.4,"RH2m":52,"TMP2m":7.1,"WNDCHILL2m":5.6,"WNDDIR10m":144,"WNDDIRCARD10":"SE","WNDGUST10m":22,"WNDSPD10m":8},"1H00":{"APCPsfc":0,"CAPE180_0":"0.000","CIN180_0":-6,"CONDITION":"Fortement nuageux","CONDITION_KEY":"fortement-nuageux","DPT2m":1.1,"HCDC":"3.90","HGT0C":1500,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/fortement-nuageux.png","ISSNOW":0,"KINDEX":36,"LCDC":"38.60","MCDC":"100.00","PRMSL":1007.9,"RH2m":64,"TMP2m":7.5,"WNDCHILL2m":4.3,"WNDDIR10m":175,"WNDDIRCARD10":"S","WNDGUST10m":31,"WNDSPD10m":19},"20H00":{"APCPsfc":0,"CAPE180_0":"0.000","CIN180_0":0,"CONDITION":"Nuit nuageuse","CONDITION_KEY":"nuit-nuageuse","DPT2m":-2,"HCDC":"39.30","HGT0C":1200,"ICON":"http://192.168.1.100:8084/monitor/icons/prevision-meteo/nuit-nuageuse.png","ISSNOW":0,"KINDEX":41,"LCDC":"0.00","MCDC":"55.60","PRMSL":1010.1,"RH2m":55,"TMP2m":6.5,"WNDCHILL2m":5.8,"WNDDIR10m":157,"WNDDIRCARD10":"SE","WNDGUST10m":13,"WNDSPD10m":5},"21H00":{"APCPsfc":0,"CAPE
Status: dzVents: Debug: Extraction prévisions météo v1.0a:   ecriture des données dans le fichier /volume1/domoticz/www/monitor/prevision-meteo.json
Status: dzVents: Info:  Extraction prévisions météo v1.0a: ------ Finished previsionMeteo.lua
Je reste intimement convaincu que la plupart des pertes/erreurs sur prevision-meteo viennent de la redirection http => https qui est faite par le serveur en direct.

papoo
Messages : 2009
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 »

le principal est que cela fonctionne.
le site étant très sollicité, peu de requête aboutissent dans le délai imparti sous dzvents
les navigateurs commençant à afficher les données avant de les avoir toutes reçus sont moins perturbé par la lenteur de leur téléchargement.
un script bash serait aussi surement plus rapide
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Jmrios
Messages : 12
Enregistré le : 25 mars 2020, 17:50

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

Message par Jmrios »

Bonjour a tous

Comme vous pouvez le constater mes performances en terme de script sont proche du zéro mais j'essaye

Une question, Est ce le fait d'avoir commenté ses lignes dans le fichier "previsionMetea.lua" qui font que mon extraction affiche "null"
Pour rappel j'ai commenté ses ligne pour ne plus avoir l'erreur (2,4,19)qui de plus ne generais par le fichier "prevision-meteo.json"

Code : Tout sélectionner

if (item.isHTTPResponse and item.trigger == response) then
 	  	--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

        else

Mon scripts "previsionMetea.lua" en entier

Code : Tout sélectionner

--]]
--------------------------------------------
------------ Variables à éditer ------------
--------------------------------------------

local jsonFile      = '/home/pi/domoticz/www/monitor/prevision-meteo.json' -- nom du fichier (et son chemin complet) contenant les données de l'API
local iconsPath     = 'http://192.168.0.xxx:8080/home/pi/domoticz/www/monitor/icons/prevision-meteo/' -- adresse local où sont stockés les icones

--------------------------------------------
----------- Fin variables à éditer ---------
--------------------------------------------
local scriptName        = 'Extraction prévisions météo'
local scriptVersion     = '1.01'
local response = "prevision-meteo_response"
return {
    active = true,
    on =        {       timer           =   { "every 1 minutes" },
                        httpResponses   =   {  response } },

    logging =   {    level    =   domoticz.LOG_DEBUG,
                    -- level    =   domoticz.LOG_INFO,             -- Seulement un niveau peut être actif; commenter les autres
                    -- level    =   domoticz.LOG_ERROR,            -- Only one level can be active; comment others
                    -- level    =   domoticz.LOG_MODULE_EXEC_INFO,
                    marker  =   scriptName..' v'..scriptVersion },

    execute = function(domoticz, item)

        local function logWrite ( str, level)  -- afficher le contenu d'un tableau
            local logTableWrite_cache = {}
            local function sub_logTableWrite(str, indent)
                if (logTableWrite_cache[tostring(str)]) then
                    domoticz.log(indent.."*"..tostring(str), level or domoticz.LOG_DEBUG)
                else
                    logTableWrite_cache[tostring(str)]=true
                    if (type(str)=="table") then
                        for pos,val in pairs(str) do
                            if (type(val)=="table") then
                                --domoticz.log(indent.."["..tostring(pos).."] - ["..tostring(str).."] => {", level or domoticz.LOG_DEBUG)
                                domoticz.log(indent.."["..tostring(pos).."] => {", level or domoticz.LOG_DEBUG)
                                sub_logTableWrite(val,indent..string.rep(" ",string.len(pos)+8))
                                domoticz.log(indent..string.rep(" ",string.len(pos)+6).."}", level or domoticz.LOG_DEBUG)
                            elseif (type(val)=="string") then
                                domoticz.log(indent.." "..pos..' = "'..val..'"', level or domoticz.LOG_DEBUG)
                                --domoticz.log(indent..pos..' => "'..val..'"', level or domoticz.LOG_DEBUG)
                            else
                                domoticz.log(indent.." "..pos.." = "..tostring(val), level or domoticz.LOG_DEBUG)
                                --domoticz.log(indent..pos.." = "..tostring(val), level or domoticz.LOG_DEBUG)
                            end
                        end
                    else
                        domoticz.log(indent..tostring(str), level or domoticz.LOG_DEBUG)
                    end
                end
            end
            if (type(str)=="table") then
                domoticz.log("["..tostring(str).."] => {", level or domoticz.LOG_DEBUG)
                sub_logTableWrite(str,"  ")
                domoticz.log("}", level or domoticz.LOG_DEBUG)
            else
                sub_logTableWrite(str,"  ")
            end
            print()
        end

        if (item.isHTTPResponse and item.trigger == response) then
 	  	--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

        else
                local latitude  = domoticz.settings.location.latitude
                --local latitude  = '43.2136116'
                logWrite('latitude : '..latitude)
                local longitude = domoticz.settings.location.longitude
                --local longitude = '2.9044440'
                logWrite('longitude : '..longitude)
                local url = "https://www.prevision-meteo.ch/services/json/lat="..latitude.."lng="..longitude
			

            domoticz.openURL({
                  url = url,
                        method = "GET",
                        callback = response})
        end
    end
}
Et enfin mon Log

Code : Tout sélectionner

2020-03-27 13:13:00.533 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Start external script: previsionMeteo.lua:, trigger: every 1 minutes
2020-03-27 13:13:00.533 Status: dzVents: Debug: Extraction prévisions météo v1.01: latitude : 43.216544
2020-03-27 13:13:00.534 Status: dzVents: Debug: Extraction prévisions météo v1.01: longitude : 2.898121
2020-03-27 13:13:00.534 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: url = https://www.prevision-meteo.ch/services/json/lat=43.216544lng=2.898121
2020-03-27 13:13:00.534 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: method = GET
2020-03-27 13:13:00.534 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: post data = nil
2020-03-27 13:13:00.534 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: headers = nil
2020-03-27 13:13:00.534 Status: dzVents: Debug: Extraction prévisions météo v1.01: OpenURL: callback = prevision-meteo_response
2020-03-27 13:13:00.534 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Finished previsionMeteo.lua
2020-03-27 13:13:00.535 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
2020-03-27 13:13:08.109 Status: dzVents: Info: Handling httpResponse-events for: "prevision-meteo_response
2020-03-27 13:13:08.109 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Start external script: previsionMeteo.lua: HTTPResponse: "prevision-meteo_response"
2020-03-27 13:13:08.114 Status: dzVents: Debug: Extraction prévisions météo v1.01: null
2020-03-27 13:13:08.118 Status: dzVents: Debug: Extraction prévisions météo v1.01: ecriture des données dans le fichier /home/pi/domoticz/www/monitor/prevision-meteo.json
2020-03-27 13:13:08.118 Status: dzVents: Info: Extraction prévisions météo v1.01: ------ Finished previsionMeteo.lua
Un petit coup de main, ou une idée serait la bien venu Merci d'avance

papoo
Messages : 2009
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 »

@Jmrios :
1) l'adresse vers le répertoire de monitor est elle correctement rempli (sans les xxx du script que tu as posté) et existe t'elle?
2) une execution toutes les minutes risque de te faire blacklister
3)comme le signale Darkneo l'api est particulièrement longue lorsque l'on cherche une location via latitude/longitude, j'ai mis à jour mon script pour privilégier cette éventualité

https://github.com/papo-o/domoticz_scri ... nMeteo.lua
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

MousKitos
Messages : 4
Enregistré le : 09 avr. 2018, 20:25

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

Message par MousKitos »

prevision-meteo.ch est totalement inutilisable :?

Même avec le cache, cela devient difficile :roll: Voir impossible :x

Ils ont probablement pas de moyens de se payer un serveur digne de ce nom, pour une période difficile... :geek:

Pourtant en Suisse, ils ont des prestataires performants, moi même, j'ai recoure à infomaniak.com, pour un de mes sites :D

Le principe de Monitor, pour la météo, pour le cas, est de pouvoir integer un page HTML, ou autre, mais qui ? :? pourrait remplacer la page html météo, avec un serveur plus disponible :?:

Voir à le mettre en cache... :roll:

papoo
Messages : 2009
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 »

si le coeur t'en dit j'avais fais cela avec open weather map
si cela te dis de deterrer et d'essayer
https://easydomoticz.com/forum/viewtopi ... 625#p19625
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Doudy
Messages : 245
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 :
31 mars 2020, 09:34
3)comme le signale Darkneo l'api est particulièrement longue lorsque l'on cherche une location via latitude/longitude, j'ai mis à jour mon script pour privilégier cette éventualité
J'ai essayé mais toujours le même message d'erreur :

Code : Tout sélectionner

2020-04-01 08:48:01.001 Status: dzVents: Error (2.4.19): Extraction prévisions météo v1.02: Last http response was not what expected. Trigger: prevision-meteo_response
papoo a écrit :
31 mars 2020, 21:22
si le coeur t'en dit j'avais fais cela avec open weather map
Il me semble que openweather est payant...

;)
PI 3 = RFXCOM
PI 3 + Touchscreen 7" affichage Domoticz
RFXCOM 433
Domoticz Version: 4.10717 - Python Version: 3.5.3

Répondre