Page 6 sur 6
Re: API ecowatt RTE
Publié : 01 nov. 2025, 10:30
par TroisSix
Hello,
Je ne sais pas vous, mais j'ai parfois l'erreur avec dz.openURL:
Code : Tout sélectionner
Error: Error opening url: https://digital.iservices.rte-france.com/open_api/ecowatt/v5/signals
Error: dzVents: [ecowatt-15m]: HTTP/1.1 response: 500 ==>> Internal Server Error
Je me demandais si ce n'était pas possible d'avoir une gestion d'erreur pour le openURL et d'ignorer ces rares fois où ça déconne? ou ignorer complet les erreurs avec openurl?
Dsl si la question a déjà été posée ^^
Merci bcp.
Re: API ecowatt RTE
Publié : 01 nov. 2025, 21:22
par Keros
Tu dois pouvoir modifier ton script pour que si cette ligne de log doit sortir, tu n'affiches rien.
Après, c'est aussi le risque que ton script tourne sans t'alerter sur un problème et que tu t'en rendes compte plusieurs jours après.
Re: API ecowatt RTE
Publié : 04 nov. 2025, 20:56
par TroisSix
J'ai tenté ça sans succès:
Code : Tout sélectionner
local status, err = pcall(function()
dz.openURL({
url = "https://digital.iservices.rte-france.com/open_api/ecowatt/v5/signals",
method = 'GET',
headers = { ['Content-Type'] = 'application/soap+xml;charset=UTF-8', ['Authorization'] = 'Bearer '..dz.data.access_token.get(1).data},
callback = callbackData, } )
end)
if not status then
Display_Message('Error opening url rte...')
end
L'idée c'était d'éviter une erreur dans les logs, mais d'avoir plutôt un simple message

Je vois d'ailleurs que today ça fail toutes les 2H.
Si quelqu'un a une idée pour améliorer ce code je suis preneur ^^
Merci.
Re: API ecowatt RTE
Publié : 04 nov. 2025, 21:06
par Keros
Non, c'est au niveau du item.isHTTPResponse qu'il faut regarder si tu peux gérer l'erreur. Regarde avec
Re: API ecowatt RTE
Publié : 07 nov. 2025, 11:52
par TroisSix
Justement j'ai ce code:
Code : Tout sélectionner
elseif (item.isHTTPResponse) then
if (item.trigger == callbackAuth) then
...
elseif (item.trigger == callbackData) then
if (item.statusCode == 200) then
...
end
Donc "item.statusCode == 200" c'est pareil que "if item.ok" ?
Mais pour moi l'erreur c'est au moment de la requete (dz.openURL?) qu'il faut la gérer,
ou alors j'ai mal compris le fonctionnement avec dz.openURL et le callback ^^
Je voudrais juste éviter que ça me sorte des erreurs dans les logs pour juste ce script, et les rempalcer par de "l'info".
Merci

Re: API ecowatt RTE
Publié : 07 nov. 2025, 16:25
par Keros
Le principe du dz.openURL est de déclencher l'ouverture d'un lien web. Le CallBack est le nom que tu donnes aux données en retour.
Le httpResponses = {"Nom du callback"} permet de relancer le script avec la variable item contenant le retour de l'ouverture du lien web. Et c'est, dans ce deuxième temps, que tu dois pouvoir vérifier les codes erreurs.
Re: API ecowatt RTE
Publié : 09 nov. 2025, 18:30
par TroisSix
Merci Keros pour ton retour ^^
En fait, j'ai déjà une gestion d'erreurs derrière le
Code : Tout sélectionner
elseif (item.trigger == callbackData) then
if (item.statusCode == 200) then
...
elseif (item.statusCode == 429) then
...
elseif (item.statusCode == 500) then
...
else
...
Mais jamais il ne tombe dans le else quand il fail à l'exécution du dz.openURL quand l'url est unreachable:
Code : Tout sélectionner
Error: Error opening url: https://digital.iservices.rte-france.com/open_api/ecowatt/v5/signals
Error: dzVents: [ecowatt-15m]: HTTP/1.1 response: 500 ==>> Internal Server Error
J'ai dû rater qqchose

Re: API ecowatt RTE
Publié : 09 nov. 2025, 22:51
par Keros
Tu as mis des "prints" pour débuger ton script et savoir quelles sont les valeurs des variables au moment des conditions ?
Re: API ecowatt RTE
Publié : 09 nov. 2025, 23:50
par Neutrino
Alors pour moi, c'est dzvent qui affiche directement l'erreur dans les log en plus du log.error
Donc pas moyen de les supprimer.
Re: API ecowatt RTE
Publié : 10 nov. 2025, 09:13
par TroisSix
@Keros, oui j'ai des prints, mais ils ne s'affichent pas car c'est dzvents qui remonte l'erreur comme le confirme Neutrino (merci, je pensais m'être mal exprimé ^^)
Donc comme c'est bien le dz.openURL qui fait remonter une erreur dzvents, d'où l'idée d'utiliser pcall car si j'ai bien compris ça doit pouvoir gérer les erreurs normalement? Je l'utilise très certainement mal ou il y a d'autres solutions?
