[Résolu] dzVents -> pbm changement d'icône sur un custom sensor
Re: dzVents -> pbm changement d'icône sur un custom sensor
Ca ne fonctionne pas avec un device text, pas de custom icon pour ce type de device
par contre ça devrait fonctionner pour un custom device finalement
je continue demain
par contre ça devrait fonctionner pour un custom device finalement
je continue demain
Re: dzVents -> pbm changement d'icône sur un custom sensor
Bonsoir,papoo a écrit : 29 juil. 2019, 22:43 mes premières constatations.
le custom sensor n'est pas le device le plus adapté à ce que l'on veut faire. il sert plutôt pour les sensors de type mesures avec un nom d'axe pour tracer une courbe.
j'ai fais l'essai avec un switch Selector et j'arrive à mettre à jour l'icone.
je suis en train de faire des tests avec un device texte, mais cela semble plus compliqué à gérer.
C'est déjà super si tu peux mettre à jour l'icône sur un switch selector, moi ça me va bien
Chapeau, t'es vraiment un bon pour les scripts, et certainement pour beaucoup d'autres choses.
Pour le device texte je ne suis pas surpris, j'avais lu quelque part qu'on ne pouvais pas le faire.
On est pas les premiers à se casser les dents là dessus, j'ai lu plein de proses, mais qui n'aboutissent pas.
Tu arrives à le faire sur le switch selector, par dzVents, mais tu changes le niveau, ou le texte, comment ?
J'ai eu beau fouillé, je change bien l'icône comme sur le custom sensor, même commande, mais pas le level ou texte affiché
Je suppose qu'il faut indiquer les phases de la lune sur les niveaux, non ? Ou tu renseignes cela aussi avec du code ?
Bref, je bute avec dzVents pour envoyer plusieurs commandes sur le même device, c'est peut-être pas possible ?
Je verrai ça à tête reposée, demain.
HS
C'est quoi ton thème, j'aime beaucoup le noir, mais j'ai pas les boutons bleus sur les thèmes que j'ai
Fin de HS
Bonne soirée, enfin peut-être bonne nuit plutôt
Laurent
Re: dzVents -> pbm changement d'icône sur un custom sensor
Bonjour,
J'ai toujours le pbm de ne pas mettre à jour le texte (ou le niveau du selector switch dans le cas présent), je suis surpris par une indication dans les logs : La ligne 'construted_time' m'interpelle un peu, il y aurait du temps avant que la commande ne s'exécute ?
Toujours est-il que ça ne se met pas à jour, ni même au niveau du lastupdate, alors que l'icône change
J'ai vérifié mes paramètres dans domoticz mais j'ai rien vu de choquant dzVents est activé et je remonte le plus d'infos possibles.
Bonne journée
J'ai toujours le pbm de ne pas mettre à jour le texte (ou le niveau du selector switch dans le cas présent), je suis surpris par une indication dans les logs : La ligne 'construted_time' m'interpelle un peu, il y aurait du temps avant que la commande ne s'exécute ?
Toujours est-il que ça ne se met pas à jour, ni même au niveau du lastupdate, alors que l'icône change
J'ai vérifié mes paramètres dans domoticz mais j'ai rien vu de choquant dzVents est activé et je remonte le plus d'infos possibles.
Bonne journée
Re: dzVents -> pbm changement d'icône sur un custom sensor
pour le custom sensor c'est mort, je n'arrive à rien.
je reste donc sur le selector switch.
j'ai modifié plusieurs choses dans ta fonction. J'ai fais le choix de ne transmettre que le Level au format numérique, transmettre le nom du niveau est trop aléatoire et plantait la fonction de mise à jour de l'icone une fois sur deux.
pour que cela marche à chaque fois et pour chacun des 8 jours fournis par darksky j'ai externalisé la fonction (qui n'est pas de moi)
Le code du fichier moonSelectorIcons.lua
le lien vers le script darksky.lua avec les phases lunaires, les previsions de vents ...
https://github.com/papo-o/domoticz_scri ... arksky.lua
je reste donc sur le selector switch.
j'ai modifié plusieurs choses dans ta fonction. J'ai fais le choix de ne transmettre que le Level au format numérique, transmettre le nom du niveau est trop aléatoire et plantait la fonction de mise à jour de l'icone une fois sur deux.
pour que cela marche à chaque fois et pour chacun des 8 jours fournis par darksky j'ai externalisé la fonction (qui n'est pas de moi)
Le code du fichier moonSelectorIcons.lua
Code : Tout sélectionner
--[[
moonSelectorIcons.lua
source : https://www.domoticz.com/forum/viewtopic.php?f=59&t=27501&p=210819&hilit=seticon#p210819
https://easydomoticz.com/forum/viewtopic.php?f=10&t=8758&p=71951#p71951
https://github.com/papo-o/domoticz_scripts/blob/master/dzVents/scripts/moonSelectorIcons.lua.lua
update/mise à jour = 29/07/2019
--]]
local scriptName = 'moonSelectorIcons'
local scriptVersion = ' 1.0'
return {
active = true,
on = {
devices = {2479}, -- change to your device(s) separated by a comma like {2479,2480}
},
logging = { level = domoticz.LOG_DEBUG, -- Seulement un niveau peut être actif; commenter les autres
-- level = domoticz.LOG_INFO, -- Only one level can be active; comment others
-- level = domoticz.LOG_ERROR,
-- level = domoticz.LOG_MODULE_EXEC_INFO,
marker = scriptName..' v'..scriptVersion
},
execute = function(domoticz, item)
local function logWrite(str,level)
domoticz.log(tostring(str),level or domoticz.LOG_DEBUG)
end
local icons = { -- level = iconNumber
[10] = 129,-- level correspondant à Nouvelle lune
[20] = 130,-- level correspondant à Premier croissant
[30] = 131,-- level correspondant à Premier quartier
[40] = 132,-- level correspondant à Gibbeuse croissante
[50] = 133,-- level correspondant à Pleine lune
[60] = 134,-- level correspondant à Gibbeuse décroissante
[70] = 135,-- level correspondant à Dernier quartier
[80] = 136,-- level correspondant à Dernier croissant
--[80] = 137,
}
local function setIcon(iconNumber)
local url = domoticz.settings['Domoticz url'] .. '/json.htm?type=setused&used=true&name=' .. domoticz.utils.urlEncode(item.name) ..
'&description=' .. domoticz.utils.urlEncode(item.description) .. -- Required. If not set it will be blanked out.
'&idx=' .. item.id ..
'&switchtype=' .. item.switchTypeValue ..
'&customimage=' .. iconNumber
logWrite(url)
return domoticz.openURL(url)
end
logWrite('lastLevel'.. tostring(item.lastLevel))
logWrite('level'.. tostring(item.level))
if item.level ~= item.lastLevel then
setIcon(icons[item.level])
else
domoticz.log('No Icon change necessary' .. item.id,domoticz.LOG_DEBUG)
end
end
}https://github.com/papo-o/domoticz_scri ... arksky.lua
- Pièces jointes
-
- 2019-07-29 21_55_49-Window.png (55.09 Kio) Consulté 7360 fois
Re: dzVents -> pbm changement d'icône sur un custom sensor
Bonsoir,
Heuuu que dire sinon BRAVO !!!
J'ai regardé vite fait, c'est super, clair et concis.
Je dois aller à la pref demain pour ma femme, renouvellement de sa carte de résident
Du coup je regarderai cela au calme, demain, après les démarches, là il faut aller au dodo
Mais super, ta solution est parfaite, un selector switch est tout aussi bien.
J'ai pas compris comment je suis passé à côté de l'update du level sur le switch selector. Peut-être les 2 commandes qui étaient envoyées l'une derrière l'autre, peut importe. Mais je faisais à peu près comme toi, à la différence que je renvoyais directement la valeur numérique
Et bien ma méthode ne fonctionne pas
c'est à n'y rien comprendre parrfois
Respect Mr Scripts
Et merci de ton implication.
Bonne soirée ou nuit.
Laurent
Heuuu que dire sinon BRAVO !!!
J'ai regardé vite fait, c'est super, clair et concis.
Je dois aller à la pref demain pour ma femme, renouvellement de sa carte de résident
Du coup je regarderai cela au calme, demain, après les démarches, là il faut aller au dodo
Mais super, ta solution est parfaite, un selector switch est tout aussi bien.
J'ai pas compris comment je suis passé à côté de l'update du level sur le switch selector. Peut-être les 2 commandes qui étaient envoyées l'une derrière l'autre, peut importe. Mais je faisais à peu près comme toi, à la différence que je renvoyais directement la valeur numérique
Code : Tout sélectionner
mavariable = 10, 20, 30 etc par la même fonction que pour l'icône
puis
domoticz.devices(mondevice.idx).switchSelector(mavariable)
versus
domoticz.devices(MoonPhaseSelect[k]).switchSelector(levelMoonhase(moonphase))
que tu utilises.
Respect Mr Scripts
Et merci de ton implication.
Bonne soirée ou nuit.
Laurent
Re: dzVents -> pbm changement d'icône sur un custom sensor
Bonjour,lolo6112 a écrit : 30 juil. 2019, 23:44 Bonsoir,
.../...
J'ai pas compris comment je suis passé à côté de l'update du level sur le switch selector. Peut-être les 2 commandes qui étaient envoyées l'une derrière l'autre, peut importe. Mais je faisais à peu près comme toi, .../...
Et bien ma méthode ne fonctionne pasc'est à n'y rien comprendre parrfois
![]()
@ Papoo:
Tout fonctionne très bien, merci.
L'externalisation de la mise à jour de l'icône était donc la solution, bravo pour ta perspicacité et pour avoir trouvé ça
J'ai mis le fil en "Résolu" du coup.
@ à tous :
J'avais dis que je referai un post plus complet d'explication, mais le code est très bien commenté et le fil explique globalement tout.
Peut-être rappeler comment on détermine le numéro des icônes.
1 - On importe les icônes dans Domoticz sous format complet d'un fichier zip, 1 par icône, il y a de nombreux posts à ce sujet ;
2 - On compte les icônes en partant de 101, et voilà. Je suppose que de 1 à 100 ce sont des icônes natifs de Domoticz et l'espace est réservé.
Bonne journée.
Re: dzVents -> pbm changement d'icône sur un custom sensor
je viens juste repenser à ta question pour laquelle je n'avais pas apporter de réponselolo6112 a écrit : 30 juil. 2019, 00:34 HS
C'est quoi ton thème, j'aime beaucoup le noir, mais j'ai pas les boutons bleus sur les thèmes que j'ai
Fin de HS
le thème que j'utilise est simple blue. mais, car il y a un mais, j'utilise l'extension dark reader pour chrome.
Re: dzVents -> pbm changement d'icône sur un custom sensor
Bonjour,papoo a écrit : 04 août 2019, 20:34 je viens juste repenser à ta question pour laquelle je n'avais pas apporter de réponse
le thème que j'utilise est simple blue. mais, car il y a un mais, j'utilise l'extension dark reader pour chrome.
Merci !
Bon pour moi c'est mort, j'utilise Firefox.
EDIT: Bah non, Firefox a exactement le même extension
Bonne piste Papoo, Super ce thème, ça repose les yeux
Bonne journée.
Re: dzVents -> pbm changement d'icône sur un custom sensor [Résolu]
Bonjour a tous
Suivant le script proposé par Papoo pour le changement d'icone sur un selecteur "Lune" soit 8 boutons
Cela fonctionne mais a moitié
Sur mon interrupteur Sélecteur il me faut rafraîchir la page après avoir sélectionne un de mes huit boutons pour avoir le changement d''image
J'ai enregistre le script moonSelectorIcons.lua sous /home/pi/domoticz/scripts/dzVents/scripts
Mes 3x8 Images ont ete integrer manuellement dans le dossier /home/pi/domoticz/www/images
Les denominations dans le fichier /home/pi/domoticz/www/switch_icons.txt
Oui car l'integration automatique des fichiers au format .ZIP dans domoticz onglet "Icones Personnalise" me notifie une ERREUR de transfert
Dans mon script les icones sont numérotées de 31 a 38
Mon materiel, un raspberry PI3 connecter sur un SSD avec Domoticz V2020.1 et Raspbian Buster option bureau
Si quelqu'un a une idée ? Merci d'avance
Suivant le script proposé par Papoo pour le changement d'icone sur un selecteur "Lune" soit 8 boutons
Code : Tout sélectionner
--[[ moonSelectorIcons.lua
update/mise à jour = 27/12/2019
source : https://www.domoticz.com/forum/viewtopic.php?f=59&t=27501&p=210819&hilit=seticon#p210819
https://pon.fr/ddzvents-darksky-probabilite-de-vent-et-phases-lunaires/
https://easydomoticz.com/forum/viewtopic.php?f=10&t=8758&p=71951#p71951
pour afficher un icone personnalisé à chaque nouvelle phase lunaire il vous faut uploader
(Réglages=>Plus d'options=> Icones personnalisés) sans les décompresserc hacun des packs d'icones suivants
dans l'ordre c'est plus facile : MoonPhases1NM, MoonPhases2WC, MoonPhases3FQ, etc
icones : https://github.com/papo-o/domoticz_scripts/tree/master/Icons/MoonPhases
pour connaitre le numero de chaque iconeuploadé, comptez vos icônes perso en commençant à 101 pour le premier
puis modifiez la référence des icones (129 à 136 dans ce script) pour afficher vos icones.
ainsi que la (es) référence(s) au(x) device(s) selector (dans l'exemple ci dessous l'idx 2479)
--]]
local scriptName = 'moonSelectorIcons'
local scriptVersion = ' 1.02'
return {
active = true,
on = {
devices = {268}, -- change to your device(s) separated by a comma like {2479,2480}
},
logging = { level = domoticz.LOG_DEBUG, -- Seulement un niveau peut être actif; commenter les autres
-- level = domoticz.LOG_INFO, -- Only one level can be active; comment others
-- level = domoticz.LOG_ERROR,
-- level = domoticz.LOG_MODULE_EXEC_INFO,
marker = scriptName..' v'..scriptVersion
},
execute = function(dz, item)
local function logWrite(str,level)
dz.log(tostring(str),level or dz.LOG_DEBUG)
end
local icons = {
[10] = 31,-- level correspondant à Nouvelle lune MoonPhases1NM
[20] = 32,-- level correspondant à Premier croissant MoonPhases2WC
[30] = 33,-- level correspondant à Premier quartier MoonPhases3FQ
[40] = 34,-- level correspondant à Gibbeuse croissante MoonPhases4WG
[50] = 35,-- level correspondant à Pleine lune MoonPhases5FM
[60] = 36,-- level correspondant à Gibbeuse décroissante MoonPhases6WG
[70] = 37,-- level correspondant à Dernier quartier MoonPhases7LQ
[80] = 38,-- level correspondant à Dernier croissant MoonPhases8WC
}
logWrite('lastLevel'.. tostring(item.lastLevel))
logWrite('level'.. tostring(item.level))
if item.level ~= item.lastLevel then
item.setIcon(icons[item.level])
else
logWrite('No Icon change necessary' .. item.id)
end
end
}Sur mon interrupteur Sélecteur il me faut rafraîchir la page après avoir sélectionne un de mes huit boutons pour avoir le changement d''image
J'ai enregistre le script moonSelectorIcons.lua sous /home/pi/domoticz/scripts/dzVents/scripts
Mes 3x8 Images ont ete integrer manuellement dans le dossier /home/pi/domoticz/www/images
Les denominations dans le fichier /home/pi/domoticz/www/switch_icons.txt
Oui car l'integration automatique des fichiers au format .ZIP dans domoticz onglet "Icones Personnalise" me notifie une ERREUR de transfert
Dans mon script les icones sont numérotées de 31 a 38
Mon materiel, un raspberry PI3 connecter sur un SSD avec Domoticz V2020.1 et Raspbian Buster option bureau
Si quelqu'un a une idée ? Merci d'avance
Re: dzVents -> pbm changement d'icône sur un custom sensor [Résolu]
Bonjour,Jmrios a écrit : 12 avr. 2020, 21:39 Bonjour a tous
Suivant le script proposé par Papoo pour le changement d'icone sur un selecteur "Lune" soit 8 boutons
Cela fonctionne mais a moitié
Sur mon interrupteur Sélecteur il me faut rafraîchir la page après avoir sélectionne un de mes huit boutons pour avoir le changement d''image
J'ai enregistre le script moonSelectorIcons.lua sous /home/pi/domoticz/scripts/dzVents/scripts
Le script est bien dans ce dossier chez moi.
L'histoire du rafraîchissement peut aussi venir d'un navigateur capricieux, où de son cache mal géré.
Je ne vois pas pourquoi il faudrait sélectionner un des équipements "Selecteur" ? Le script est là pour automatiser la mise à jour justement. Donc si c'est à des fins de tests, c'est pas la bonne manip, il faut utiliser une réponse http "custom".
Domoticz est assez capricieux avec ce genre de manip, on est sur du script "avancé".
Même en y travaillant de concert avec Papoo nous ne sommes jamais arrivé à changer de concert le texte de la phase de la lune et l'icône sur un équipement "custom". Pourtant réputé pour accepter les changements d'icône, et d'ailleurs on peut le faire dans l'application.
Sauf que ça n'a jamais fonctionné à la volée par code !
D'où le choix d'un équipement "Selector".
A mon avis il va falloir bosser un peu pour résoudre vos soucis.
Pour information ce script fonctionne parfaitement chez moi depuis le déploiement, et je parie mon billet qu'il fonctionne parfaitement chez Papoo et bien d'autres.
La seule aide, vu les infos données, est de suivre les indications données pour le script à la lettre.
Ce script n'a pas été testé dans cette version pour moi mais sur la v4.10717, il faudrait que quelqu'un valide le script en version 2020.1.
Pour ma part il ne le sera probablement jamais testé sur cette version.
La dernière fois en date que j'ai fait un update avec la dernière version j'avais paumé pratiquement tout mes équipements, alors basta !
Bonne journée.