MAJ Tempo EDF

Forum pour tous les autres protocoles : Enocean, X10, les cartes piface.razberry ...
Pour les questions concernant le choix de protocoles, merci d'utiliser le forum Les autres objets.
Alain78
Messages : 75
Inscription : 05 févr. 2022, 09:18

Re: MAJ Tempo EDF

Message par Alain78 »

Bonjour,

@salinois, je pense que l'explication viens d'ici:

if TEMPOJ1.value ~= "GRIS" and nowDate.hour > 10 then


Après 10h du matin pas d’exécution du script si TEMPOJ1 différent de gris.
J'ai fait une amélioration du script, tu peux reprendre la nouvelle version (1.1) cela corrige le PB si la mise à jour est plus ancienne de 12h.

Bonne journée

Alain
salinois
Messages : 330
Inscription : 08 févr. 2024, 19:10

Re: MAJ Tempo EDF

Message par salinois »

hello Alain78,
bon y a du mieux; j'ai été obligé de redemarrer mon RPi apres avoir mis le nouveau script !!! pas essayé juste de redemarrer domoticz (peut-etre que cela aurait suffit).

voilà les logs, les variables se mettent à jour
2024-11-17 19:15:07.477 dzVents: Handling system event for: "start"
2024-11-17 19:15:07.477 dzVents: script_time_Tempo_Couleur_RTE v1.1: ------ Start internal script: time_Tempo_Couleur_RTE: Domoticz event: "start"
2024-11-17 19:15:07.478 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: La saison tempo est: 2024-2025
2024-11-17 19:15:07.478 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: Url de récuperation des jours Tempo est: https://www.services-rte.com/cms/open_d ... =2024-2025
2024-11-17 19:15:07.478 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: OpenURL: url = https://www.services-rte.com/cms/open_d ... =2024-2025
2024-11-17 19:15:07.478 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: OpenURL: method = GET
2024-11-17 19:15:07.478 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: OpenURL: post data = nil
2024-11-17 19:15:07.478 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: OpenURL: headers = !#Content-Type: application/json!#User-Agent: Wget/1.20.3 (linux-gnu)
2024-11-17 19:15:07.478 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: OpenURL: callback = script_time_Tempo_Couleur_RTE
2024-11-17 19:15:07.478 dzVents: script_time_Tempo_Couleur_RTE v1.1: ------ Finished time_Tempo_Couleur_RTE
2024-11-17 19:15:07.478 Status: EventSystem: Script event triggered: /home/patrick/domoticz/dzVents/runtime/dzVents.lua
2024-11-17 19:15:08.071 dzVents: Handling httpResponse-events for: "script_time_Tempo_Couleur_RTE"
2024-11-17 19:15:08.071 dzVents: script_time_Tempo_Couleur_RTE v1.1: ------ Start internal script: time_Tempo_Couleur_RTE: HTTPResponse: "script_time_Tempo_Couleur_RTE"
2024-11-17 19:15:08.075 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: La saison tempo est: 2024-2025
2024-11-17 19:15:08.075 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: Url de récuperation des jours Tempo est: https://www.services-rte.com/cms/open_d ... =2024-2025
2024-11-17 19:15:08.079 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: {["values"]={["2024-09-01"]="BLUE", ["2024-09-25"]="BLUE", ["2024-09-06"]="BLUE", ["2024-10-24-fallback"]="false", ["2024-09-13"]="BLUE", ["2024-10-10-fallback"]="false", ["2024-10-06-fallback"]="false", ["2024-09-08"]="BLUE", ["2024-09-19"]="BLUE", ["2024-11-07-fallback"]="false", ["2024-11-09"]="BLUE", ["2024-09-20-fallback"]="false", ["2024-11-03-fallback"]="false", ["2024-10-02"]="BLUE", ["2024-10-14-fallback"]="false", ["2024-09-30"]="BLUE", ["2024-09-02"]="BLUE", ["2024-10-17-fallback"]="false", ["2024-10-02-fallback"]="false", ["2024-11-11-fallback"]="false", ["2024-09-18-fallback"]="false", ["2024-10-28-fallback"]="false", ["2024-11-05"]="BLUE", ["2024-11-05-fallback"]="false", ["2024-11-07"]="BLUE", ["2024-09-20"]="BLUE", ["2024-09-24"]="BLUE", ["2024-09-16-fallback"]="false", ["2024-11-16"]="BLUE", ["2024-10-29-fallback"]="false", ["2024-10-27"]="BLUE", ["2024-11-02-fallback"]="false", ["2024-10-08"]="BLUE", ["2024-10-07"]="BLUE", ["2024-09-29"]="BLUE", ["2024-09-21-fallback"]="false", ["2024-10-21-fallback"]="false", ["2024-09-11-fallback"]="false", ["2024-11-14-fallback"]="false", ["2024-10-11"]="BLUE", ["2024-10-31"]="BLUE", ["2024-11-08-fallback"]="false", ["2024-09-11"]="BLUE", ["2024-10-03"]="BLUE", ["2024-11-09-fallback"]="false", ["2024-11-06"]="BLUE", ["2024-09-15-fallback"]="false", ["2024-11-03"]="BLUE", ["2024-09-16"]="BLUE", ["2024-09-12-fallback"]="false", ["2024-11-13"]="BLUE", ["2024-11-18-fallback"]="false", ["2024-09-10-fallback"]="false", ["2024-09-07-fallback"]="false", ["2024-10-04"]="BLUE", ["2024-09-25-fallback"]="false", ["2024-09-09-fallback"]="false", ["2024-10-09"]="BLUE", ["2024-11-01"]="BLUE", ["2024-09-13-fallback"]="false", ["2024-09-03"]="BLUE", ["2024-10-30"]="BLUE", ["2024-09-15"]="BLUE", ["2024-09-23"]="BLUE", ["2024-11-18"]="BLUE", ["2024-09-18"]="BLUE", ["2024-11-15-fallback"]="false", ["2024-09-19-fallback"]="false", ["2024-09-08-fallback"]="false", ["2024-11-17"]="BLUE", ["2024-11-16-fallback"]="false", ["2024-09-24-fallback"]="false", ["2024-11-13-fallback"]="false", ["2024-10-18-fallback"]="false", ["2024-09-03-fallback"]="false", ["2024-10-09-fallback"]="false", ["2024-09-04"]="BLUE", ["2024-10-10"]="BLUE", ["2024-11-08"]="BLUE", ["2024-11-04-fallback"]="false", ["2024-10-12"]="BLUE", ["2024-10-15"]="BLUE", ["2024-10-14"]="BLUE", ["2024-10-17"]="BLUE", ["2024-09-28-fallback"]="false", ["2024-10-16"]="BLUE", ["2024-10-12-fallback"]="false", ["2024-10-23"]="BLUE", ["2024-09-06-fallback"]="false", ["2024-09-26"]="BLUE", ["2024-09-05"]="BLUE", ["2024-09-14"]="BLUE", ["2024-09-02-fallback"]="false", ["2024-10-05"]="BLUE", ["2024-10-08-fallback"]="false", ["2024-10-23-fallback"]="false", ["2024-10-07-fallback"]="false", ["2024-11-02"]="BLUE", ["2024-10-22-fallback"]="false", ["2024-10-16-fallback"]="false", ["2024-09-22"]="BLUE", ["2024-10-21"]="BLUE", ["2024-10-30-fallback"]="false", ["2024-09-14-fallback"]="false", ["2024-10-13-fallback"]="false", ["2024-09-27"]="BLUE", ["2024-10-22"]="BLUE", ["2024-10-18"]="BLUE", ["2024-10-24"]="BLUE", ["2024-09-23-fallback"]="false", ["2024-10-25"]="BLUE", ["2024-10-01-fallback"]="false", ["2024-11-15"]="WHITE", ["2024-11-12"]="BLUE", ["2024-10-26-fallback"]="false", ["2024-10-28"]="BLUE", ["2024-10-29"]="BLUE", ["2024-10-05-fallback"]="false", ["2024-09-04-fallback"]="false", ["2024-10-01"]="BLUE", ["2024-10-11-fallback"]="false", ["2024-11-01-fallback"]="false", ["2024-09-27-fallback"]="false", ["2024-10-31-fallback"]="false", ["2024-10-19"]="BLUE", ["2024-11-11"]="BLUE", ["2024-09-09"]="BLUE", ["2024-11-17-fallback"]="false", ["2024-10-25-fallback"]="false", ["2024-09-26-fallback"]="false", ["2024-11-06-fallback"]="false", ["2024-10-27-fallback"]="false", ["2024-10-06"]="BLUE", ["2024-10-04-fallback"]="false", ["2024-09-17-fallback"]="false", ["2024-10-13"]="BLUE", ["2024-09-05-fallback"]="false", ["2024-11-12-fallback"]="false", ["2024-09-17"]="BLUE", ["2024-10-20-fallback"]="false", ["2024-09-21"]="BLUE", ["2024-11-10-fallback"]="false", ["2024-11-14"]="WHITE", ["2024-10-20"]="BLUE", ["2024-09-07"]="BLUE", ["2024-11-04"]="BLUE", ["2024-09-10"]="BLUE", ["2024-10-19-fallback"]="false", ["2024-10-15-fallback"]="false", ["2024-10-03-fallback"]="false", ["2024-09-30-fallback"]="false", ["2024-11-10"]="BLUE", ["2024-09-12"]="BLUE", ["2024-10-26"]="BLUE", ["2024-09-22-fallback"]="false", ["2024-09-01-fallback"]="false", ["2024-09-28"]="BLUE", ["2024-09-29-fallback"]="false"}}
2024-11-17 19:15:08.080 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: Nombre de jours bleu restant: 223
2024-11-17 19:15:08.080 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: Nombre de jours blanc restant: 41
2024-11-17 19:15:08.080 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: Nombre de jours rouge restant: 22
2024-11-17 19:15:08.080 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: Couleur Tempo du jour: BLEU
2024-11-17 19:15:08.080 dzVents: Debug: script_time_Tempo_Couleur_RTE v1.1: Couleur Tempo de demain: BLEU
2024-11-17 19:15:08.080 dzVents: script_time_Tempo_Couleur_RTE v1.1: ------ Finished time_Tempo_Couleur_RTE
2024-11-17 19:15:08.080 Status: EventSystem: Script event triggered: /home/patrick/domoticz/dzVents/runtime/dzVents.lua
2024-11-17 19:15:08.105 Status: Set UserVariable Tempo_J_Blanc = 41
2024-11-17 19:15:08.106 Status: Set UserVariable Tempo_J_Rouge = 22
2024-11-17 19:15:08.106 Status: Set UserVariable Tempo_J_Bleu = 223
2024-11-17 19:15:08.106 Status: Set UserVariable TempoJ = BLEU
2024-11-17 19:15:08.106 Status: Set UserVariable TempoJ1 = BLEU
bon maintenant, il faut que j’insère la partie Widget, comme je te l'ai demandé avant, est-ce que c'est un script séparé ou faut-il le mettre dans le script principal ?

merci encore à toi

Salinois
Alain78
Messages : 75
Inscription : 05 févr. 2022, 09:18

Re: MAJ Tempo EDF

Message par Alain78 »

Bonjour Salinois,

La partie widget tu peux la gérer a l’intérieur de ton script ou avec un script externe, cela dépend de ton besoin,
Si tu remontes un peu sur le fil de la discussion, tu pourras trouver quelques réponses et l'exemple que j'utilise avec un script externe viewtopic.php?p=122486#p122486 mais dans ce cas il faut créer des icônes personnalisées.
Sinon si tu veux garder juste une icône texte pour TempoJ et TempoJ1 il suffit de rajouter les lignes du script de mise à jours des widgets dans le script principal.
Dans tous les cas il faudra adapter les scripts à tes besoins.

Bonne journée
Alain.
salinois
Messages : 330
Inscription : 08 févr. 2024, 19:10

Re: MAJ Tempo EDF

Message par salinois »

ok merci Alain78

je vais créer des icons personnalisés ( j'en ai pas actuellement, donc cela commencera à 101, 102, 103)
icons-perso.jpg
icons-perso.jpg (23.27 Kio) Consulté 690 fois
donc, apres, j'ai mis le script "script_device_Change_Icone_Widget" en modifiant les numéros de mes icones perso.
J'ai bon ?

Donc, mes 2 scripts:
"script_time_Tempo_Couleur_RTE"

Code : Tout sélectionner

--[[Récupération des informations TEMPO de RTE. Couleurs Bleu, Blanc ou Rouge
Couleur du jour, et nombre de jours restants pour chaque couleur(BLEU, BLANC et ROUGE).
Inspiré du script de "Lost" ici https://easydomoticz.com/forum/viewtopic.php?p=122000#p122000 version de septembre 2024.
--------------------------------------------
------------ Variables à éditer ------------
--------------------------------------------
]]--
local urlTempoJoursRTE  = 'https://www.services-rte.com/cms/open_data/v1/tempo?season=' --- Nombre de jours restant pour chaque color
local scriptName        = 'script_time_Tempo_Couleur_RTE'
local scriptVersion     = '1.1'
local tempoCount        = {blue=0, white=0, red=0}
local coloursFR         = {BLUE = "BLEU", WHITE = "BLANC", UNDEFINED = "NON_DEFINI"}
local tempoColor        = {J="GRIS", J1="GRIS"} -- Couleur tempo sur jour J et J+1
local tempoDay          = {J="NON_DEFINI", J1="NON_DEFINI"} -- Jour Tempo J et J+1
local tempoSeason       = nil
local nbrTempoRouge     =  22  -- Nombre de jours Tempo ROUGE dans l'année.
local nbrTempoBlanc     =  43  -- Nombre de jours Tempo BLANC dans l'année.
local nbrTempoBleu      =  300 -- Nombre de jours Tempo BLEU dans l'année.
--------------------------------------------
----------- Fin variables à éditer ---------
--------------------------------------------

return {
        on = {  timer =  { ' at 06:40', 'at 10:00-22:00 at *:40' }, 
            system = { 'start' }, -- Pour execution en cas d'arret de plusieurs jours.
        	httpResponses = { scriptName } -- doit correspondre au "callback" passé par l'url à traiter.
         },
            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 nowDate     = domoticz.time -- Recupération heure du traitement.
        local TEMPOJ      = domoticz.variables('TempoJ') -- Variable Couleur TEMPO du jour.
        local TEMPOJ1     = domoticz.variables('TempoJ1') -- Variable Couleur TEMPO lu lendemain.
        local DateTempoJ  = domoticz.time.dateToDate(domoticz.time.rawDateTime,'yyyy-mm-dd hh:MM:ss','yyyy-mm-dd') -- Date du jour TEMPOJ
        local DateTempoJ1 = domoticz.time.dateToDate(domoticz.time.addDays(1).rawDateTime,'yyyy-mm-dd hh:MM:ss','yyyy-mm-dd') -- Date du jour TEMPOJ1

        -- Si traitement déjà réalisé et validé après 10h30.
	if (TEMPOJ1.value ~= "GRIS" and nowDate.hour > 10 and TEMPOJ1.lastUpdate.hoursAgo < 12) then  -- Test si le traitement apres 10h30 (validation RTE) est passé pour sortir.
	        return
	elseif TEMPOJ1.value == "GRIS" and nowDate.hour > 20 then  -- Test si aucune valeur récupérée durant la journée et alerte par email.
	        domoticz.notify("Alerte Tempo","Alerte pas de mise à jour de la couleur TEMPO pour demain", domoticz.PRIORITY_NORMAL)
        end

        -- Récupération saison tempo (démarrage au 1 er Septembre) pour url RTE.
        if (nowDate.month >= 1) and (nowDate.month <= 8) then
            tempoSeason=tostring(nowDate.year - 1)..'-'..tostring(nowDate.year)
        else
            tempoSeason=tostring(nowDate.year)..'-'..tostring(nowDate.year + 1)
        end
        domoticz.log("La saison tempo est: "..tempoSeason,domoticz.LOG_DEBUG)
        urlTempoJoursRTE = urlTempoJoursRTE..tempoSeason -- Mise à jour de l'url avec la saison Tempo. 
        domoticz.log("Url de récuperation des jours Tempo est: "..urlTempoJoursRTE,domoticz.LOG_DEBUG)
        
        if item.isTimer or item.isSystemEvent then
		domoticz.openURL({
                url = urlTempoJoursRTE,
		method = 'GET',
		headers = {["User-Agent"]= "Wget/1.20.3 (linux-gnu)",["Content-Type"]="application/json"},
		callback = scriptName, -- voir la reponse "httpResponses" à la suite.
		})

        elseif (item.isHTTPResponse) and (item.ok) then -- Traitement de la reponse à l'url chez RTE.
		   if (item.isJSON) then
                	local tempoSeasonData = domoticz.utils.fromJSON(item.data)
                	domoticz.log(tempoSeasonData, domoticz.LOG_DEBUG)
                	for k,v in pairs(tempoSeasonData.values) do
                    		-- Calcul du nombre de jours par couleur depuis le deput de la saison
                    		if     v == "BLUE"  then tempoCount.blue  = tempoCount.blue  + 1
                    		elseif v == "WHITE" then tempoCount.white = tempoCount.white + 1
                    		elseif v == "RED"   then tempoCount.red   = tempoCount.red   + 1
                    	end
                    -- Get J/J1 colors
                    if     k == DateTempoJ  then tempoColor.J  = v -- Récupération de la coucleur tempo du jour.
                    elseif k == DateTempoJ1 then tempoColor.J1 = v -- Récupération de la coucleur tempo du lendemain.
                    end
                end
            end
            tempoCount.blue = nbrTempoBleu - tempoCount.blue        -- nombre de jours BLEU restant pour la saison Tempo.
            tempoCount.white = nbrTempoBlanc - tempoCount.white     -- nombre de jours BLANC restant pour la saison Tempo.
            tempoCount.red = nbrTempoRouge - tempoCount.red         -- nombre de jours ROUGE restant pour la saison Tempo.
            tempoDay = {J = coloursFR[tempoColor.J], J1=coloursFR[tempoColor.J1]}   --Couleur des jours TEMPOJ et TEMPOJ1
            
            --- Update variables pour TEMPO RTE
            domoticz.variables('Tempo_J_Blanc').set(tempoCount.white)
            domoticz.variables('Tempo_J_Rouge').set(tempoCount.red)
            domoticz.variables('Tempo_J_Bleu').set(tempoCount.blue)
            domoticz.variables('TempoJ').set(tempoDay.J)
            domoticz.variables('TempoJ1').set(tempoDay.J1)
            
            domoticz.log("Nombre de jours bleu restant: "..tempoCount.blue, domoticz.LOG_DEBUG)
            domoticz.log("Nombre de jours blanc restant: "..tempoCount.white, domoticz.LOG_DEBUG)
            domoticz.log("Nombre de jours rouge restant: "..tempoCount.red, domoticz.LOG_DEBUG)
            domoticz.log("Couleur Tempo du jour: "..tempoDay.J, domoticz.LOG_DEBUG)
            domoticz.log("Couleur Tempo de demain: "..tempoDay.J1, domoticz.LOG_DEBUG)
        else
            domoticz.log('Réponse KO : '..item.statusText, domoticz.LOG_FORCE)            
        end
    end
}
et "script_device_Change_Icone_Widget"

Code : Tout sélectionner

--[[ gestion des Icons sur les Widgets en fonction de leurs status
Couleur pour tempo:
    - GRIS ........... 110
    - Rouge .......... 107
    - Blanc .......... 101
    - Bleu  .......... 104
    - ROUGE HP ....... 109
    - Rouge HC ....... 108
    - Blanc HP ....... 103
    - Blanc HC ....... 102
    - Bleu HP  ....... 106
    - Bleu HC  ....... 105
    Tempo: 300 Jours Bleus (Tout au long de l’année) - 43 jours blancs (Tout au long de l’année, hors dimanche) - 22 jours rouges (Du 1er novembre au 31 mars, hors week-end et jours fériés).
--]]

local scriptName            = 'script_device_Change_Icone_Widget'
local scriptVersion         = ' 1.0'
local NbrJBleu              = 300 -- Tout au long de l’année
local NbrJBlanc             = 43  -- Tout au long de l’année, hors dimanche
local NbrJRouge             = 22  -- Du 1er novembre au 31 mars, hors week-end et jours fériés

return  {   
        on = {  
                variables = { 'TempoJ',             -- Couleur Tempo du jour.
                              'TempoJ1',            -- Couleurl Tempo du lendemain.
                              'Tempo_HP-HC' },
            },
        
            logging =   {   -- La section de journalisation facultative vous permet de remplacer le paramètre de journalisation globale de dzVents.
                    -- comme défini dans Configuration> Paramètres> Autre> Système d'événements> Niveau de journalisation dzVents. 
                    -- Cela peut être pratique lorsque vous voulez que ce script ait une journalisation de débogage étendue pendant que le reste de votre script s'exécute en mode silencieux. 
                    level = domoticz.LOG_DEBUG, -- domoticz.LOG_INFO, domoticz.LOG_MODULE_EXEC_INFO, domoticz.LOG_DEBUG or domoticz.LOG_ERROR, domoticz.LOG_FORCE,
                    marker  = scriptName..' v'..scriptVersion
                    },

    execute = function(domoticz, item)

        local function logWrite(str,level)
            domoticz.log(tostring(str),level or domoticz.LOG_DEBUG)
        end
        
        local function text_color(text,color) -- Fonction pour écriture du texte en fonction de la couleur TEMPO.
            if color == "ROUGE"  then text = '<FONT COLOR=#FF0000>' .. text .. '</FONT>' end
            if color == "BLEU"   then text = '<FONT COLOR=#0000FF>' .. text .. '</FONT>' end
            if color == "GRIS"   then text = '<FONT COLOR=#708090>' .. text .. '</FONT>' end
            if color == "BLANC"  then text = '<FONT COLOR=#000000>' .. text .. '</FONT>' end
            return text
        end

        -- Variables et devices pour traitement des jours Tempo.
        local TEMPOJ  = domoticz.devices('Couleur Tempo Aujourd\'hui')
        local TEMPOJ1 = domoticz.devices('Couleur Tempo Demain')
        local TEMPOH  = domoticz.variables('Tempo_HP-HC') -- Variable HP-HC TEMPO.

	if item.isVariable then
            -------------------------
            -- Icones pour TEMPO J --        
            -------------------------
            if item.name == "TempoJ" then
                local icons = 110
                if item.value == "ROUGE" then
                    if TEMPOH.value == "HP" then
                        icons = 102
                    else
                        icons = 102
                    end
                    NbrJ = NbrJRouge
                    mode = item.value..'-'..TEMPOH.value
                    NbJours = domoticz.variables('Tempo_J_Rouge').value
                elseif item.value == "BLANC" then
                    if TEMPOH.value == "HP" then
                        icons = 103
                    else
                        icons = 103
                    end
                    NbrJ = NbrJBlanc
                    mode = item.value..'-'..TEMPOH.value
                    NbJours = domoticz.variables('Tempo_J_Blanc').value
                elseif item.value == "BLEU" then
                    if TEMPOH.value == "HP" then
                        icons = 101
                    else
                        icons = 101
                    end
                    NbrJ = NbrJBleu
                    mode = item.value..'-'..TEMPOH.value
                    NbJours = domoticz.variables('Tempo_J_Bleu').value
                else
                    icons = 101
                    mode = "GRIS"
                end
                if mode == "GRIS" then --- Couleur Indéfinie
                    texte = text_color('Pas de données communiquées. ',mode)
                else
                    texte = text_color('Nbr de jours restants: '..NbJours..'/'..NbrJ..'<br>'..'Couleur TEMPO Aujourd\'hui: '..item.value,item.value)
                end
                TEMPOJ.updateText(texte)
                TEMPOJ.setIcon(tonumber(icons))
            ----------------------
            -- Icones pour TEMPO J + 1 --        
            ----------------------
            elseif item.name == "TempoJ1" then
                
                local icons = 101
                if item.value == "ROUGE" then
                    icons = 102
                    NbrJ = NbrJRouge
                    mode = item.value
                    NbJours = domoticz.variables('Tempo_J_Rouge').value
                elseif item.value == "BLANC" then
                    icons = 103
                    NbrJ = NbrJBlanc
                    mode = item.value
                    NbJours = domoticz.variables('Tempo_J_Blanc').value
                elseif item.value == "BLEU" then
                    icons = 101
                    NbrJ = NbrJBleu
                    mode = item.value
                    NbJours = domoticz.variables('Tempo_J_Bleu').value
                else
                    icons = 101
                    mode = "GRIS"
                end
                if mode == "GRIS" then --- Couleur Indéfinie
                    texte = text_color('Pas de données communiquées. ',mode)
                else
                    texte = text_color('Nbr de jours restants: '..NbJours..'/'..NbrJ..'<br>'..'Couleur TEMPO demain: '..item.value,item.value)
                end
                TEMPOJ1.updateText(texte)
                TEMPOJ1.setIcon(tonumber(icons))
            end
        end
    end
}
les logs:
2024-11-18 18:10:21.839 Status: EventSystem: reset all events...
2024-11-18 18:10:21.841 Status: dzVents: Write file: /home/patrick/domoticz/scripts/dzVents/generated_scripts/time_Tempo_Couleur_RTE.lua
2024-11-18 18:10:21.841 Status: dzVents: Write file: /home/patrick/domoticz/scripts/dzVents/generated_scripts/script_device_Change_Icone_Widget.lua
et ça , mais pas le script de MAJ des Widgets, on dirait que ce script ne s'execute pas.
2024-11-18 18:40:00.402 dzVents: script_time_Tempo_Couleur_RTE v1.1: ------ Start internal script: time_Tempo_Couleur_RTE:, trigger: "at 10:00-22:00 at *:40"
2024-11-18 18:40:00.404 dzVents: script_time_Tempo_Couleur_RTE v1.1: ------ Finished time_Tempo_Couleur_RTE

par contre , j'ai ça dans les icons, pas de mise à jour !!!
Je ne trouve pas la correspondance des IDX des widgets "aujourd'hui et demain" qui sont 18 et 19 pour moi.
icon-tempos.jpg
icon-tempos.jpg (18.1 Kio) Consulté 683 fois
a+

salinois

PS: je suis nul en prog, désolé de polluer le post.
salinois
Messages : 330
Inscription : 08 févr. 2024, 19:10

Re: MAJ Tempo EDF

Message par salinois »

bon, toujours moi

j'ai ajouté ces lignes ( en italiques) au début du script "script_device_Change_Icone_Widget"
j'ai mis 20:20 pour test
local scriptName = 'script_device_Change_Icone_Widget'
local scriptVersion = ' 1.0'
local NbrJBleu = 300 -- Tout au long de l’année
local NbrJBlanc = 43 -- Tout au long de l’année, hors dimanche
local NbrJRouge = 22 -- Du 1er novembre au 31 mars, hors week-end et jours fériés

return {
on = { timer = { ' at 20:20', 'at 10:00-22:00 at *:05' },
system = { 'start' }, -- Pour execution en cas d'arret de plusieurs jours.

variables = { 'TempoJ', -- Couleur Tempo du jour.
'TempoJ1', -- Couleurl Tempo du lendemain.
'Tempo_HP-HC' },
et maintenant dans les logs
2024-11-18 20:20:00.579 dzVents: script_device_Change_Icone_Widget v 1.0: ------ Start internal script: script_device_Change_Icone_Widget:, trigger: " at 20:20"
2024-11-18 20:20:00.602 dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Aujourd'hui: Text device
2024-11-18 20:20:00.603 dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Demain: Text device
2024-11-18 20:20:00.604 dzVents: script_device_Change_Icone_Widget v 1.0: ------ Finished script_device_Change_Icone_Widget
salinois
Alain78
Messages : 75
Inscription : 05 févr. 2022, 09:18

Re: MAJ Tempo EDF

Message par Alain78 »

Bonjour salinois,

Les ajouts des lignes en italiques ne servent à rien, l’exécution des mises à jours des icônes se font sur:
"if item.isVariable then"
La mise à jours se fera demain lors de la mise à jours des 2 variables par le script RTE.

Ne pas oublier l’cône grise qui est manquant dans tes icônes personnalisées (actuellement en 110 dans le script)
Bonne fin de soirée.

Alain
salinois
Messages : 330
Inscription : 08 févr. 2024, 19:10

Re: MAJ Tempo EDF

Message par salinois »

bonjour alain78,

OK, j'ai remis comme à l'origine, il fallait que je sois patient et j'ai ajouté aussi l'icone gris.
couleur-tempo_7.JPG
couleur-tempo_7.JPG (24.64 Kio) Consulté 637 fois
est-ce qu'il faut que j'ajoute le script HP_HC aussi ?

Encore merci de ton aide

salinois
Alain78
Messages : 75
Inscription : 05 févr. 2022, 09:18

Re: MAJ Tempo EDF

Message par Alain78 »

Bonjour salinois,

Oui c'est le script HP_HC qui fait la bascule à 06h00 du tempo demain au tempo aujourd’hui et met le jour tempo demain à GRIS.

Bonne journée

Alain
salinois
Messages : 330
Inscription : 08 févr. 2024, 19:10

Re: MAJ Tempo EDF

Message par salinois »

ok Merci Alain78,

donc je dois créer des icones pers avec HC et HP aussi ?
si je comprends bien et modifier le script avec mes n°icons ?
couleur-tempo_8.JPG
couleur-tempo_8.JPG (33.03 Kio) Consulté 608 fois
si tout est good demain, je modifierai le tuto que j'ai commencé page 5 de ce post; tu me corrigeras au besoin.

a+

salinois

PS: tu habites où dans le 78 ?
salinois
Messages : 330
Inscription : 08 févr. 2024, 19:10

Re: MAJ Tempo EDF

Message par salinois »

hello Alain78,

la variable HC-HP est bien passée en HC à 22:07, mais mon widget n'a pas changé !!!
2024-11-19 22:07:00.374 dzVents: script_time_Tempo_HP-HC v1.0: ------ Start internal script: script_time_Tempo_HP-HC:, trigger: "at 22:07"
2024-11-19 22:07:00.376 dzVents: script_time_Tempo_HP-HC v1.0: ------ Finished script_time_Tempo_HP-HC
2024-11-19 22:07:00.377 Status: EventSystem: Script event triggered: /home/patrick/domoticz/dzVents/runtime/dzVents.lua
2024-11-19 22:07:00.398 Status: Set UserVariable Tempo_HP-HC = HC
2024-11-19 22:07:00.451 dzVents: Handling variable-events for: "Tempo_HP-HC", value: "HC"
2024-11-19 22:07:00.451 dzVents: script_device_Change_Icone_Widget v 1.0: ------ Start internal script: script_device_Change_Icone_Widget: Variable: "Tempo_HP-HC" Index: 6
2024-11-19 22:07:00.467 dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Aujourd'hui: Text device
2024-11-19 22:07:00.468 dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Demain: Text device
2024-11-19 22:07:00.469 dzVents: script_device_Change_Icone_Widget v 1.0: ------ Finished script_device_Change_Icone_Widget
2024-11-19 22:08:39.642 Status: EventSystem: reset all device statuses...
A suivre demain, je chercherai

salinois
Répondre