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.
salinois
Messages : 330
Inscription : 08 févr. 2024, 19:10

Re: MAJ Tempo EDF

Message par salinois »

pour @Alain78

j'ai fait la requête en json:

result
0
Description "Icon Jour_bleu generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/Jour_bleu.png"
IconFile48Off "images/Jour_bleu48_Off.png"
IconFile48On "images/Jour_bleu48_On.png"
Title "Button Jour_bleu"
idx 1
1
Description "Icon Jour_rouge generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/Jour_rouge.png"
IconFile48Off "images/Jour_rouge48_Off.png"
IconFile48On "images/Jour_rouge48_On.png"
Title "Button Jour_rouge"
idx 2
2
Description "Icon Jour_blanc generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/Jour_blanc.png"
IconFile48Off "images/Jour_blanc48_Off.png"
IconFile48On "images/Jour_blanc48_On.png"
Title "Button Jour_blanc"
idx 3
3
Description "Icon linky_icon-gris generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/linky_icon-gris.png"
IconFile48Off "images/linky_icon-gris48_Off.png"
IconFile48On "images/linky_icon-gris48_On.png"
Title "Button linky_icon-gris"
idx 4
4
Description "Icon linky-icon_bleu_HP generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/linky-icon_bleu_HP.png"
IconFile48Off "images/linky-icon_bleu_HP48_Off.png"
IconFile48On "images/linky-icon_bleu_HP48_On.png"
Title "Button linky-icon_bleu_HP"
idx 5
5
Description "Icon linky-icon_rouge_HP generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/linky-icon_rouge_HP.png"
IconFile48Off "images/linky-icon_rouge_HP48_Off.png"
IconFile48On "images/linky-icon_rouge_HP48_On.png"
Title "Button linky-icon_rouge_HP"
idx 6
6
Description "Icon linky-icon_blanc_HP generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/linky-icon_blanc_HP.png"
IconFile48Off "images/linky-icon_blanc_HP48_Off.png"
IconFile48On "images/linky-icon_blanc_HP48_On.png"
Title "Button linky-icon_blanc_HP"
idx 7
7
Description "Icon linky-icon_bleu_HC generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/linky-icon_bleu_HC.png"
IconFile48Off "images/linky-icon_bleu_HC48_Off.png"
IconFile48On "images/linky-icon_bleu_HC48_On.png"
Title "Button linky-icon_bleu_HC"
idx 8
8
Description "Icon linky-icon_rouge_HC generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/linky-icon_rouge_HC.png"
IconFile48Off "images/linky-icon_rouge_HC48_Off.png"
IconFile48On "images/linky-icon_rouge_HC48_On.png"
Title "Button linky-icon_rouge_HC"
idx 9
9
Description "Icon linky-icon_blanc_HC generate via https://domoticz-icon.aurelien-loyer.fr/"
IconFile16 "images/linky-icon_blanc_HC.png"
IconFile48Off "images/linky-icon_blanc_HC48_Off.png"
IconFile48On "images/linky-icon_blanc_HC48_On.png"
Title "Button linky-icon_blanc_HC"
idx 10
status "OK"
title "GetCustomIconSet"
et mes icônes personnalisés, j'en ai pas d'autres:
icones-perso_2.jpg
icones-perso_2.jpg (58.29 Kio) Consulté 779 fois
et la config du script:

Code : Tout sélectionner

--[[ gestion des Icons sur les Widgets en fonction de leurs status
Couleur pour tempo:
    - GRIS ........... 104
    - Rouge .......... 102
    - Blanc .......... 103
    - Bleu  .......... 101
    - ROUGE HP ....... 106
    - Rouge HC ....... 109
    - Blanc HP ....... 107
    - Blanc HC ....... 110
    - Bleu HP  ....... 105
    - Bleu HC  ....... 108
    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 = 104
                if item.value == "ROUGE" then
                    if TEMPOH.value == "HP" then
                        icons = 106
                    else
                        icons = 109
                    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 = 107
                    else
                        icons = 110
                    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 = 105
                    else
                        icons = 108
                    end
                    NbrJ = NbrJBleu
                    mode = item.value..'-'..TEMPOH.value
                    NbJours = domoticz.variables('Tempo_J_Bleu').value
                else
                    icons = 104
                    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 = 104
                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 = 104
                    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
et j'ai ça dans les logs , hier soir à 22:07; ça m'a l'air normal.
2024-11-22 22:07:00.330 Status: dzVents: Info: script_time_Tempo_HP-HC v1.0: ------ Start internal script: script_time_Tempo_HP-HC:, trigger: "at 22:07"
2024-11-22 22:07:00.331 Status: dzVents: Info: script_time_Tempo_HP-HC v1.0: ------ Finished script_time_Tempo_HP-HC
2024-11-22 22:07:00.331 Status: EventSystem: Script event triggered: /domoticz/dzVents/runtime/dzVents.lua
2024-11-22 22:07:00.340 Status: Set UserVariable Tempo_HP-HC = HC
2024-11-22 22:07:00.382 Status: dzVents: Info: Handling variable-events for: "Tempo_HP-HC", value: "HC"
2024-11-22 22:07:00.382 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Start internal script: script_device_Change_Icone_Widget: Variable: "Tempo_HP-HC" Index: 6
2024-11-22 22:07:00.391 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Aujourd'hui: Text device
2024-11-22 22:07:00.392 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Demain: Text device
2024-11-22 22:07:00.392 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Finished script_device_Change_Icone_Widget

A suivre , ce soir

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

Re: MAJ Tempo EDF

Message par salinois »

Bonjour Alain78,

Bon hier soir , c'était pareil, l'icone Bleu HP n'est pas passé à Bleu HC, je l'ai donc forcé en Bleu HC, et ce matin, il a bien changé en Bleu HP; donc ça fonctionne le matin mais pas le soir; la variable change bien aux heures du script mais pas l'icone !!!!

bizarre

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

Re: MAJ Tempo EDF

Message par Alain78 »

Bonjour salinois,

Tu as bien enlevé les exécutions toutes les minutes sur tes scripts et surtout si tu as ajouté le critère timer et qu' il ne doit pas être présent,
cela peut poser des problèmes, tu risques d'avoir un conflit sur la détection du critère de déclenchement.
Cordialement

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

Re: MAJ Tempo EDF

Message par salinois »

j'ai remis comme à l'origine , juste modifier Debug pour les logs

Code : Tout sélectionner

--------------------------------------------
-- Changement des jours et HP - HC à 22h et 6h.
--------------------------------------------
local scriptName        = 'script_time_Tempo_HP-HC'
local scriptVersion     = '1.0'

return {
    on = {  
        timer =     { 'at 05:55', 'at 22:07' },
        system =    { 'start' },
        },

            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)

et

Code : Tout sélectionner

----------- 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)
et

Code : Tout sélectionner

eturn  {   
        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
salinois
Alain78
Messages : 75
Inscription : 05 févr. 2022, 09:18

Re: MAJ Tempo EDF

Message par Alain78 »

Bonjour salinois,

Ne pas oublier de redémarrer Domoticz si tu fais des modifications d’icônes, suppression et/ou ajout. cela règle le PB de mauvais icônes sélectionnées, Avant relancer la commande JSON qui liste les Numéros d’icônes pour s'assurer que c'est toujours bon ou pas.

Bonne journée

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

Re: MAJ Tempo EDF

Message par salinois »

rebonjour Alain,

j'ai fait un restart de domoticz, lancer la requête json ( c'est toujours bon ).
on attends ce soir.

a+

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

Re: MAJ Tempo EDF

Message par salinois »

Bonjour Alain78,

bon , c'est pareil, le soir l'icone perso ne change pas mais le matin oui...
bizarre.

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

Re: MAJ Tempo EDF

Message par Alain78 »

Bonjour salinois,

Oui c'est bizarre, est-ce que l'heure des modifications des variables "TempoJ, TempoJ1 et Tempo_HP-HC" sont biens modifiées à 22h07 ?

Est-ce que la mise à jours des Widgets est réalisé pour la partie texte ? si non peux-tu me partager le script qui réalise la mise à jours des widgets.

Bonne journée

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

Re: MAJ Tempo EDF

Message par salinois »

Bonjour Alain

oui c'est bien executé à 22h07
je te mets les logs du matin et soir , plus le script
a+

Salinois

logs hier soir:
2024-11-25 22:07:00.294 Status: dzVents: Info: script_time_Tempo_HP-HC v1.0: ------ Start internal script: script_time_Tempo_HP-HC:, trigger: "at 22:07"
2024-11-25 22:07:00.296 Status: dzVents: Info: script_time_Tempo_HP-HC v1.0: ------ Finished script_time_Tempo_HP-HC
2024-11-25 22:07:00.297 Status: EventSystem: Script event triggered: /domoticz/dzVents/runtime/dzVents.lua
2024-11-25 22:07:00.317 Status: Set UserVariable Tempo_HP-HC = HC
2024-11-25 22:07:00.370 Status: dzVents: Info: Handling variable-events for: "Tempo_HP-HC", value: "HC"
2024-11-25 22:07:00.370 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Start internal script: script_device_Change_Icone_Widget: Variable: "Tempo_HP-HC" Index: 6
2024-11-25 22:07:00.379 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Aujourd'hui: Text device
2024-11-25 22:07:00.379 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Demain: Text device
2024-11-25 22:07:00.380 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Finished script_device_Change_Icone_Widget
logs de ce matin:
2024-11-26 05:55:00.123 Status: dzVents: Info: script_time_Tempo_HP-HC v1.0: ------ Start internal script: script_time_Tempo_HP-HC:, trigger: "at 05:55"
2024-11-26 05:55:00.124 Status: dzVents: Info: script_time_Tempo_HP-HC v1.0: ------ Finished script_time_Tempo_HP-HC
2024-11-26 05:55:00.124 Status: EventSystem: Script event triggered: /domoticz/dzVents/runtime/dzVents.lua
2024-11-26 05:55:00.141 Status: Set UserVariable Tempo_HP-HC = HP
2024-11-26 05:55:00.142 Status: Set UserVariable TempoJ = BLEU
2024-11-26 05:55:00.142 Status: Set UserVariable TempoJ1 = GRIS
2024-11-26 05:55:00.180 Status: dzVents: Info: Handling variable-events for: "TempoJ", value: "BLEU"
2024-11-26 05:55:00.180 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Start internal script: script_device_Change_Icone_Widget: Variable: "TempoJ" Index: 1
2024-11-26 05:55:00.189 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Aujourd'hui: Text device
2024-11-26 05:55:00.190 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: Processing device-adapter for Couleur Tempo Demain: Text device
2024-11-26 05:55:00.190 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: url = http://127.0.0.1:8080/json.htm?type=com ... mimage=105
2024-11-26 05:55:00.190 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: method = GET
2024-11-26 05:55:00.190 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: post data = nil
2024-11-26 05:55:00.190 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: headers = nil
2024-11-26 05:55:00.190 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: callback = nil
2024-11-26 05:55:00.190 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Finished script_device_Change_Icone_Widget
2024-11-26 05:55:00.191 Status: dzVents: Info: Handling variable-events for: "TempoJ1", value: "GRIS"
2024-11-26 05:55:00.191 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Start internal script: script_device_Change_Icone_Widget: Variable: "TempoJ1" Index: 2
2024-11-26 05:55:00.191 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: url = http://127.0.0.1:8080/json.htm?type=com ... mimage=104
2024-11-26 05:55:00.191 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: method = GET
2024-11-26 05:55:00.191 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: post data = nil
2024-11-26 05:55:00.191 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: headers = nil
2024-11-26 05:55:00.191 Status: dzVents: Debug: script_device_Change_Icone_Widget v 1.0: OpenURL: callback = nil
2024-11-26 05:55:00.191 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Finished script_device_Change_Icone_Widget
2024-11-26 05:55:00.191 Status: dzVents: Info: Handling variable-events for: "Tempo_HP-HC", value: "HP"
2024-11-26 05:55:00.191 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Start internal script: script_device_Change_Icone_Widget: Variable: "Tempo_HP-HC" Index: 6
2024-11-26 05:55:00.191 Status: dzVents: Info: script_device_Change_Icone_Widget v 1.0: ------ Finished script_device_Change_Icone_Widget
les variables MAJ ce matin:
variables_tempo.jpg
variables_tempo.jpg (27.49 Kio) Consulté 678 fois
et le script:

Code : Tout sélectionner

--[[ gestion des Icons sur les Widgets en fonction de leurs status
Couleur pour tempo:
    - GRIS ........... 104
    - Rouge .......... 102
    - Blanc .......... 103
    - Bleu  .......... 101
    - ROUGE HP ....... 106
    - Rouge HC ....... 109
    - Blanc HP ....... 107
    - Blanc HC ....... 110
    - Bleu HP  ....... 105
    - Bleu HC  ....... 108
    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 = 104
                if item.value == "ROUGE" then
                    if TEMPOH.value == "HP" then
                        icons = 106
                    else
                        icons = 109
                    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 = 107
                    else
                        icons = 110
                    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 = 105
                    else
                        icons = 108
                    end
                    NbrJ = NbrJBleu
                    mode = item.value..'-'..TEMPOH.value
                    NbJours = domoticz.variables('Tempo_J_Bleu').value
                else
                    icons = 104
                    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 = 104
                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 = 104
                    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
}
et les widgets de ce matin:
widgets_tempo.jpg
widgets_tempo.jpg (23.88 Kio) Consulté 678 fois

il y a plus de logs le matin que le soir, mais peut-être est-ce dû à la prévision de la couleur Tempo.

salinois
Dernière modification par Keros le 26 nov. 2024, 12:31, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer les message précedent lors d'une réponse directe.
Alain78
Messages : 75
Inscription : 05 févr. 2022, 09:18

Re: MAJ Tempo EDF

Message par Alain78 »

Bonjour Salinois,

Désolé du délai, j'ai vu le problème pour le HP vers HC. Je pense que cela n'a jamais fonctionné.
J'essaye de corriger rapidement et je publierai le correctif.

Bonne journée.

Alain
Répondre