j'ai fait la requête en json:
et mes icônes personnalisés, j'en ai pas d'autres: et la config du script:
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"
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
end2024-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