J'ai été longtemps bloqué par l'API d'EDF. D'abord pas des "Access denied" puis par mon incompréhension de JSON.
C'est terminé, et je vous propose donc humblement ce script dzVents. Si comme mi vous préférez tout avoir dans l'interface Domoticz plutôt qu'externaliser certaines parties (comme des scripts shell).
Code : Tout sélectionner
--[[
Tous les après-midi,
Récupère la couleur Tempo du lendemain, met à jour le selecteur et envoie un mail
--]]
return {
on = { timer = { 'at 16:32' }
},
execute = function(domoticz, timer)
-- import des fontions pour lire le JSON
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()
local today=tostring(os.date("%Y-%m-%d"))
local edf_url = "https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter="..today.."&TypeAlerte=TEMPO"
-- specify the user Agent to avoid the "Access Denied" issue
command = "curl -A 'Wget/1.20.3 (linux-gnu)' " .. '"' .. edf_url .. '"'
config=assert(io.popen(command))
blocjson = config:read('*all')
config:close()
jsonValeur = json:decode(blocjson)
couleurDemain = jsonValeur.JourJ1.Tempo
if couleurDemain == 'TEMPO_BLEU' then domoticz.devices(40).switchSelector(10)
elseif couleurDemain == 'TEMPO_BLANC' then domoticz.devices(40).switchSelector(20)
elseif couleurDemain == 'TEMPO_ROUGE' then domoticz.devices(40).switchSelector(30)
else domoticz.devices(40).switchSelector(0) -- ND
end
info = 'Tempo demain = '..string.sub(couleurDemain,7) -- get rid of the TEMPO_ prefix
domoticz.email('Notif Domoticz', info, 'youraddress@yourserver.com)
end -- execute function
}
The Datawolf
PS: pour la couleur du jour remplacez JourJ1 par JourJ