fel-x Posté(e) vendredi à 17:24 Signaler Posté(e) vendredi à 17:24 Hello Je suis assez fan du design et je crée facilement des icônes pour Fibaro Par propreté je voudrais associer des icônes à chacun de mes modules, mais je constate que les parents, même s'ils sont souvent "invisibles" par défaut, n'ont pas d'icône. Y a-t-il un moyen pour remplacer ce petit point d'interrogation sur fond gris par l'icône de mon choix? Les modules parents n'ont pas de fonction pour télécharger d'icône visibmement.
Lazer Posté(e) vendredi à 17:42 Signaler Posté(e) vendredi à 17:42 En effet, pas possible de changer l’icône. C'est un détail cosmétique, mais j'ai une préférence pour l'ancien jeu d’icônes par défaut :
Lazer Posté(e) vendredi à 19:04 Signaler Posté(e) vendredi à 19:04 (modifié) Peut être en forçant par l'API. Si tu es motivé, avec les outils de développement (F11) de ton navigateur, tu peux regarder comment est chargé l'icône sur les devices qui permettent le changement via l'interface Web, puis tu essayes de le reproduire en LUA. Modifié vendredi à 19:04 par Lazer 1
fel-x Posté(e) vendredi à 21:48 Auteur Signaler Posté(e) vendredi à 21:48 Bon sang mais c'est bien sûr ! J'ai suivi ta piste et j'ai réalisé que c'est plus simple qu'on ne le pensait. quelques lignes dans une QA et hop... ça fonctionne ! Icône Parent modifié > c'est largement plus esthétique que toutes ces boites avec un gros point d'interrogation. Voici le code pour ceux que ça intéresse : function QuickApp:onInit() local deviceID = 123 local iconID = 1234 self:debug("Attribution de l'icône " .. iconID .. " au module " .. deviceID) local payload = { properties = { deviceIcon = iconID } } api.put("/devices/" .. deviceID, payload) end 2
jojo Posté(e) samedi à 10:23 Signaler Posté(e) samedi à 10:23 et l'ID que tu réfère, c'est celle qu'on retrouve dans le JSON d'un device ?
fel-x Posté(e) samedi à 12:19 Auteur Signaler Posté(e) samedi à 12:19 (modifié) Si tu fais ça, tu réfères à l'ID de l'icône est cours d'utilisation pour ce device. Donc dans ta capture d'écran, le device dont tu affiches le JSON emploie l'icône 1129. Tu peux donc attribuer ce icondD à n'importe quel autre device bien entendu avec le petit code LUA ci-dessus. Moi ce que je fais, c'est uploader une icône de mon choix dans l'un des modules enfant. Ensuite j'en récupère l'ID en simulant un "enregistrer sous" par click droit sur l'icône. J'attribue cet iconID au module Parent avec mon code. De cette manière, si je supprime un jour le module, l'icône personnalisée disparaîtra aussi. Voici une petite illustration de ce que j'ai fait ce matin en réinstallant mon thermostat SRT-323, et créé une icône : 1. Inclusion du module 2. Ajoute de mon icône personnalisée dans le module enfant (877) 3. Click-droit sur l'icône uploadée pour en connaître l'ID --> je découvre que c'est le 1143 4. Attribution de l'iconID 1143 au deviceID 876 function QuickApp:onInit() local deviceID = 876 local iconID = 1143 self:debug("Attribution de l'icône " .. iconID .. " au module " .. deviceID) local payload = { properties = { deviceIcon = iconID } } api.put("/devices/" .. deviceID, payload) end Citation [DEBUG] [QUICKAPP875]: Attribution de l'icône 1143 au module 876 5. On admire le résultat CQFD. PS: je n'ai pas testé un reboot pour savoir si l'effet est permanent. Modifié samedi à 14:11 par fel-x 2
jojo Posté(e) samedi à 15:45 Signaler Posté(e) samedi à 15:45 en fait, il faut continuer à creuser le sujeet. Je veux le faire pour un FGS223n et les modules enfants sont donc de type "interrupteur", c'est à dire une icone pour chaque status. Exple : parent Device ID = 1128 Device ID du child qui correspond à R1 : 1732 ID Icône si R1 à on (avec ta méthode): 1003100 ID Icône si R1 à off (avec ta méthode): 10030 d'après le JSON (que R1 soit à On ou Off): 1003 En tout cas, l'icône du parent ne change pas ... (Mais j'ai des idées et je vais creuser le sujet)
fel-x Posté(e) samedi à 20:04 Auteur Signaler Posté(e) samedi à 20:04 Tu voudrais que l'icône Parent soit dynamiquement changé selon l'état du child ? Avec GEA ce devrait être facile
jojo Posté(e) hier à 09:51 Signaler Posté(e) hier à 09:51 non, pas jusque là (car quoi mettre sur le parent si R1=ON et R2=OFF ???), juste modifier l'icône parent pour faire joli ...
fel-x Posté(e) hier à 10:41 Auteur Signaler Posté(e) hier à 10:41 moi aussi c'est pour faire joli. Alors tu peux uploader ton icône dans un autre module et en utiliser l'ID pour l'attribuer à n'importe quel parent ! Pour le coup j'ai créé une scène LUA avec mon code ci-dessus, et j'y ai uploadé plusieurs icônes que j'avais créées pour usage ultérieur. J'emploie la scène à chaque Parent que je veux "enjoliver" : je modifie l'ID du parent et l'ID de l'icône qui peut très bien provenir de n'importe quel module, script ou QA ! Donc rien ne t'empêche d'utiliser un iconID provenant de n'importe où, l'unique raison de l'uploader dans un enfant c'est la logique et la "propreté", mais après... 1
Lazer Posté(e) hier à 11:17 Signaler Posté(e) hier à 11:17 @jojo il te faut utiliser le jeu d’icônes ON/OFF d'un module du même type, à savoir binary switch. Car le module parent n'a qu'une seul icône, statique, donc il n'est pas utilisable pour ton module ON/OFF. Il y a encore d'autre types de modules, par exemple tous les multilevel switch (dimmer, volet roulant) qui ont un jeu de 10 icônes. Bref, rien de nouveau en fait, les icônes ont toujours été gérées de la meme façon chez Fibaro, c'était déjà comme ça sur HC2.
jojo Posté(e) il y a 21 heures Signaler Posté(e) il y a 21 heures En fait je voulais mettre un parent une des icônes déjà chargée dans le binary switch et ça nne fonctionnait pas. Je crois (mais je dois/veux encore le valider), que l'icône doit être chargée dans un module (type FGBS par exple), et alors elle serait dispo partout. Mais comme c'est de la cosmétique de module caché ce n'est pas ma top priorité ...
Lazer Posté(e) il y a 20 heures Signaler Posté(e) il y a 20 heures C'est comme j'ai dit : pour ton parent, il faut que tu utilises une icône du même type, donc avec 1 seule position, puisque par principe, le parent ne change jamais de status. Tu ne dois pas utiliser l'icône "déjà chargée" provenant d'un binary switch, puisque par définition, il s'agit d'un double icône.
fel-x Posté(e) il y a 7 heures Auteur Signaler Posté(e) il y a 7 heures allez, pour tes modules parents @jojo, petit cadeau emballé en 128*128 2
Messages recommandés