Page 1 sur 3
Monitor Affichage page METEO -
Publié : 14 janv. 2018, 03:09
par christian74100
Bonjour à tous et tous mes meilleurs voeux en ce début d'année
Nouvel utilisateur de DomoticZ j’ai découver ce forum « Easydomoticz » et toutes ces informations sur Monitor et les Custom-Page.s
Whaaooouuuu quelle qualité d’information et d’entraide, tout particulièrement de la part de
vil1driver qui ne ménage pas son temps
j’ai les yeux carrés

pour avoir lu les 148 pages du forum.
J’ai utilisé quelques unes des subtilités proposées et me suis interresé plus particulièrement à la page météo (pluie) et je me trouve face à un problème.
Pour la partie du haut de la page météo j’ai compris comment ça marchait et suis satisfait de ce que j’obtiens, mais pour toute la partie du bas (les prévisions heure par heure sur 3 ou 4 jours.) rien ne s’affiche.
j’ai testé en direct la commande d’appel du site «
http://www.prevision-meteo.ch/services/json/[maVille] » el les informations remontent bien. Donc à priori pas de blocage de ce coté là.
A force de chercher je crois que c’est la partie du code «
$.getJSON(JsonAddress, function (json) { …… » qui ne exécute pas.
Si je pose une « alert() » dans cette partie rien n’est remonté alors que la même alert() est affichée si je la met juste avant cette ligne.
J’ai surement raté quelque chose dans mon installation et je viens chercher du secours auprès de vous.
quelqu’un peut-il m’aider à résoudre ce problème.
Merci par avance
ma config : RPI (raspbian), rfxcom, Macbook pro (safari)
Re: Monitor Affichage page METEO -
Publié : 29 mars 2018, 16:37
par christian74100
Bonsoir
je reprend le clavier pour préciser quelques points (après démontage / remontage de la page météo)
Problème d'affichage seulement sur safari (Version actuelle 11.0.2 )
Affichage correct sur Firefox
Manque la dernière des 4 lignes sur une tablette Android alors qu'il y a la place.
si il y a de bonnes Ames pour m'éclairer !!!
Monitor Affichage page METEO -
Publié : 29 mars 2018, 16:56
par christian74100
bonjour
je reviens sur le sujet car je suis toujours face au même problème
Pour info le problème est aussi regulièrement mais pas systématiquement présent avec firefox sur mac OSX et sur ma tablette LG avec Chrome.
Pour toutes les prévisions heure par heure sur 3 ou 4 jours rien ne s’affiche.
Je confirme que j’ai bien testé en direct la commande d’appel du site «
http://www.prevision-meteo.ch/services/json/[maVille] » el les informations remontent bien.
Donc à priori pas de problème pour la récupération des données.
Je suis presque certain que c’est la partie du code «
$.getJSON(JsonAddress, function (json { …… )» qui n'est pas exécutée. mais je ne comprend pas pourquoi.
Si je pose une « alert() » dans cette partie du code "JS" pas de message alors que la même alert() est bien affichée si je la pose juste avant cette ligne.
quelqu'un peut-il m'aider à comprendre quel paramétrage j'ai loupé.
merci d'avance
Re: Monitor Affichage page METEO -
Publié : 29 mars 2018, 21:53
par papoo
en ce moment l'api prevision-meteo.ch a quelques problèmes, surement victime de son succès
tu n'arrive jamais à voir la météo ou seulement de temps en temps?
Re: Monitor Affichage page METEO -
Publié : 04 avr. 2018, 03:36
par christian74100
Merci de me venir en aide
Le problème est épisodique sur Firefox (MAC OSX) et la tablette LG mais systématique sur safari.
Pour moi rien à voir avec l'accès à l'API mais juste un problème de parametrage pour l'exécution de cette fonction javascript $.getJSON().
Comme je le disais dans mes autres messages j'ai une alerte posée en 1ere ligne de la fonction et quand cette alerte est activée les infos météo sont bien affichées ce qui pour moi indique que le *programme* ne passe pas systématiquement dans cette fonction,
ci-dessous le passage du code en question dans la page météo.html
. . . . .
$.getJSON(JsonAddress, function(json) {
alert("dans $.getJSON");
$.each(json.fcst_day_0.hourly_data, function( index, value ) {
. . . . . .
Une idée pour être sur que la fonction est bien "toujours* exécutée ?
Re: Monitor Affichage page METEO -
Publié : 04 avr. 2018, 14:52
par vil1driver
Salut
F12

onglet network
Re: Monitor Affichage page METEO -
Publié : 03 mai 2020, 16:26
par Moulins58
Moi, c'est le contraire, le bas de page fonctionne correctement, mais je n'ai rien en haut de page jusqu'a "météo 11". Je n'ai pas pigé pour ce haut de page.
Voila mon script pour le bas:
Code : Tout sélectionner
--[[
previsionMeteo.lua
author/auteur = papoo
update/mise à jour = 31/03/2020
création = 18/08/2019
https://pon.fr/dzvents-mise-en-cache-des-donnees-de-lapi-prevision_meteo-ch
https://github.com/papo-o/domoticz_scripts/blob/master/dzVents/scripts/previsionMeteo.lua
https://easydomoticz.com/forum/viewtopic.php?f=17&t=8865
encodage UTF8 sans BOM
Principe : Le site prevision-meteo.ch subit de nombreux ralentissements, rendant aléatoire l'affichage des prévisions météo sur monitor
https://pon.fr/prevision-meteo-a-3-jours/
Ce script permet la récupération des données via l'API, la modification du chemin d'accès aux icones afin de les stocker en local.
Si les données sont inaccessibles lors de l'appel de l'API, les données précédentes ne sont pas écrasées, permettant le fonctionnement continue de la page météo
Téléchargez les 36 icones météo dans le dossier dédié de monitor /home/pi/domoticz/www/monitor/icons/prevision-meteo/
https://www.prevision-meteo.ch/style/images/icon/ensoleille.png
https://www.prevision-meteo.ch/style/images/icon/nuit-claire.png
https://www.prevision-meteo.ch/style/images/icon/ciel-voile.png
https://www.prevision-meteo.ch/style/images/icon/nuit-legerement-voilee.png
https://www.prevision-meteo.ch/style/images/icon/faibles-passages-nuageux.png
https://www.prevision-meteo.ch/style/images/icon/nuit-bien-degagee.png
https://www.prevision-meteo.ch/style/images/icon/brouillard.png
https://www.prevision-meteo.ch/style/images/icon/stratus.png
https://www.prevision-meteo.ch/style/images/icon/stratus-se-dissipant.png
https://www.prevision-meteo.ch/style/images/icon/nuit-claire-et-stratus.png
https://www.prevision-meteo.ch/style/images/icon/eclaircies.png
https://www.prevision-meteo.ch/style/images/icon/nuit-nuageuse.png
https://www.prevision-meteo.ch/style/images/icon/faiblement-nuageux.png
https://www.prevision-meteo.ch/style/images/icon/fortement-nuageux.png
https://www.prevision-meteo.ch/style/images/icon/averses-de-pluie-faible.png
https://www.prevision-meteo.ch/style/images/icon/nuit-avec-averses.png
https://www.prevision-meteo.ch/style/images/icon/averses-de-pluie-moderee.png
https://www.prevision-meteo.ch/style/images/icon/averses-de-pluie-forte.png
https://www.prevision-meteo.ch/style/images/icon/couvert-avec-averses.png
https://www.prevision-meteo.ch/style/images/icon/pluie-faible.png
https://www.prevision-meteo.ch/style/images/icon/pluie-forte.png
https://www.prevision-meteo.ch/style/images/icon/pluie-moderee.png
https://www.prevision-meteo.ch/style/images/icon/developpement-nuageux.png
https://www.prevision-meteo.ch/style/images/icon/nuit-avec-developpement-nuageux.png
https://www.prevision-meteo.ch/style/images/icon/faiblement-orageux.png
https://www.prevision-meteo.ch/style/images/icon/nuit-faiblement-orageuse.png
https://www.prevision-meteo.ch/style/images/icon/orage-modere.png
https://www.prevision-meteo.ch/style/images/icon/fortement-orageux.png
https://www.prevision-meteo.ch/style/images/icon/averses-de-neige-faible.png
https://www.prevision-meteo.ch/style/images/icon/nuit-avec-averses-de-neige-faible.png
https://www.prevision-meteo.ch/style/images/icon/neige-faible.png
https://www.prevision-meteo.ch/style/images/icon/neige-moderee.png
https://www.prevision-meteo.ch/style/images/icon/neige-forte.png
https://www.prevision-meteo.ch/style/images/icon/pluie-et-neige-melee-faible.png
https://www.prevision-meteo.ch/style/images/icon/pluie-et-neige-melee-moderee.png
https://www.prevision-meteo.ch/style/images/icon/pluie-et-neige-melee-forte.png
--]]
--------------------------------------------
------------ 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.1.79:8080/monitor/icons/prevision-meteo/' -- adresse local où sont stockés les icones
local city = 'treillieres' -- nil si vous souhaitez utiliser les coordonnées de latitude/longitude
--------------------------------------------
----------- Fin variables à éditer ---------
--------------------------------------------
local scriptName = 'Extraction prévisions météo'
local scriptVersion = '1.02'
local response = "prevision-meteo_response"
return {
active = true,
on = { timer = { "every 6 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
if city ~= nil then
url = "https://www.prevision-meteo.ch/services/json/"..city
else
local latitude = domoticz.settings.location.latitude
-- local latitude = '47.366285'
logWrite('latitude : '..latitude)
local longitude = domoticz.settings.location.longitude
-- local longitude = '-1.619198'
logWrite('longitude : '..longitude)
url = "https://www.prevision-meteo.ch/services/json/lat="..latitude.."lng="..longitude
end
domoticz.openURL({
url = url,
method = "GET",
callback = response})
end
end
}
A placer dans "/home/pi/domoticz/scripts/dzVents/scripts"
Pouvez-vous me donner la solution pour le haut de page.
Merci
Re: Monitor Affichage page METEO -
Publié : 23 févr. 2021, 21:02
par Moulins58
Bonsoir, j'ai réussi à faire la partie haute de la page, j'ai juste une question : comment mettre l'icône Météo dans la cellule 25 de la page Météo comme dans le tuto. J'ai pas compris, mais pas compris!
Quelqu'un pourrait -il m'aider. Merci
Re: Monitor Affichage page METEO -
Publié : 25 févr. 2021, 16:01
par ardiced
Bonjour,
Dans frontpage_settings.js, pour afficher l'icone météo
Code : Tout sélectionner
['IDX', 'ForecastStr', 'Cell_25', 'Prévision','','','',''], // Icone prevision du jour
['IDX', 'ForecastStr', 'Cell_25', 'Prévision','1','','',''], // Icone prevision du jour +1
['IDX', 'ForecastStr', 'Cell_25', 'Prévision','2','','',''], // Icone prevision du jour +2
['IDX', 'ForecastStr', 'Cell_25', 'Prévision','3','','',''], // Icone prevision du jour +3
Pour IDX placer le nom ou l'IDX de ton sensor
C'est 'ForecastStr' qui force l'affichage de l'icone
le 1, 2, 3 ou rien correspond au jour à afficher.
Re: Monitor Affichage page METEO -
Publié : 25 févr. 2021, 22:23
par Moulins58
Merci pour la réponse, demain j'essaie. Bonne soirée.