Aller au contenu

id icones dans QA Binary Switch


Messages recommandés

Posté(e)

Bonjour,

Vous voyez que je tien parole :60: : je vous avait prévenu que j'aurais beaucoup de questions ...

 

Pour les QA de type "Generic device" :

  1. on charge l'icône depuis l'onglet général
  2. puis pour connaitre son id, on regarde le # qui se trouve après User quand on fait click droit -> Enregistrer sous (User1007.png)
  3. puis dans le code, on peut l'assigner à ce ou un autre QA de même type
    self:updateProperty("deviceIcon", 1007)

Pour les QA de type "Binary Switch" (je les aime bien car on peut faire faire qqch en cliquant  juste sur l'icône) :

  1. on char l'icône Off et l'icône On
  2. puis comment trouver l'id de ces icônes ? (car si click droit-> Enregistrer sous on a un id à 7 chiffres (pour le On - User1001100.png) et pour le Off?
    et de tout façon
    NI
    self:updateProperty("deviceIcon", 1007)
    NI
    self:updateProperty("deviceIcon", 1001100)
    NI
    self:updateProperty("deviceIcon", 1001101)
    NI
    self:updateProperty("deviceIcon", 10011)
    NI
    self:updateProperty("deviceIcon", 1011)
    ne fonctionne

 

Il y a sûrement un truc ...
 

Posté(e)

Pour un binary switch tu n'as pas besoin de connaitre l'ID de l'icone, car tu n'as pas besoin de changer toi même l'icone.

 

C'est lorsque tu changeras la propriété "value" du module (true/false), que l'icone changera automatiquement.

Posté(e) (modifié)

oui, je savais cela, mais le Binary Switch, ne permet que 2 icône ( "Binary Switch") et moi je voudrais 4 positions : pour mon QA GestionChauffage, qu'il m'affiche la belle icône en fonction de la valeur de ma VG.

Ceci est possible avec un QA de type générique, mais alors, je dois aller sans les settings -> General -> Variables pour changer la valeur de ma VG.

Avec un BS, je peux directement cliquer sur l'icône du QA qui lancera la fonction TurnOn ou TurnOff en fonction du status. Je voulais dans chacune de ses fonctions appeler une fonction perso qui me permettrais de modifier directement ma VG et l'icône de mon QA. Je sais c'est un peu tordu, mais c'est le seul moyen que j'ai trouvé pour faire faire à la HC3 ce que je veux.

 

Donc en regardant dans le JSON du device

// 20220520155433
// http://192.168.1.xxx/api/devices/160

{
  "id": 160,
  "name": "Chauf_Circul_RdC",
  "roomID": 239,
 ...
  "properties": {
  ...
    "deviceIcon": 1002,
    "icon": {
      "path": "assets/userIcons/devices/User1002/User1002100.png",
      "source": "HC_USER"
    },
...
    "value": true,
...
  }

j'étais sûr de tout y trouver.

La propriété "deviceIcon" me plaisait bien.

Mais quand je click sur l'icône du device, son status passe bien à Off ("value"; false) et l'icône de l'interface change bien :yes:,

MAIS aucune autre propriété (et donc pas la "deviceIcon") ne change :angry:.

Donc, le JSON d'un device ne contiendrait pas tout l"info d'affichage/du statut du device.:huh:.

 

Donc, en y réfléchissant, ce n'est pas la propriété "deviceIcon" que je dois modifier (pour un QA de type Binary Switch) mais laquelle alors ?

 

Ma question est-elle assez tordue/complexe pour toi ?:P

Modifié par jojo
Posté(e)

de ce que je lis,

je ferai un QA de type générique,

tu y crées les 2 méthodes turnOn/turnOff,

et tu gères les icônes avec le code que tu as cité dans le premier post...

Posté(e)

merci, mais j'ai déjà essayé cela, et le QA générique ne réagit pas aux clic sur l'icône, donc créer ces fonctions ne sert à rien ...

MAIS tu vien de me faire penser à qqch:

dans le JSON d'un generic QA, il n'y a rien dans les actions 

  "actions": {
    
  },

mais dans celui d'un Binary Sensoe ;

"actions": {
    "toggle": 0,
    "turnOff": 0,
    "turnOn": 0
  },

avec les fonctions

function QuickApp:turnOn()
function QuickApp:turnOff()

qui ont le même nom que les valeurs dans le JSON.

donc déjà (ce serait rigolo) si on créait la fonction

function QuickApp:toggle()

ça pourrait fonctionner (à la place des fonctions turnOn() et turnOff()-

Je mr disais qu'on pourrais rajouter ces actions au JSON du QA générique, mais en fait non, cela doit être codé dans le QA d'appeler ces fonctions => c'est mort et il faut trouver où il enregistre qu'il faut mettre telle ou telle icône pour les QA Binary Switch.

Posté(e)

je confirme, on peut pas changer l'icone du QA binarySwitch par code... ??!!

Après tu peux ajouter un bouton dans ton QA generic, mais il faudra "l'ouvrir" pour l'actionner...

 

Posté(e)
il y a 14 minutes, jjacques68 a dit :

mais il faudra "l'ouvrir" pour l'actionner...

c'est précisément ce que je voulais éviter ... mais je vais devoir y passer

Posté(e)

S'agissant d'un QA de gestion des modes de chauffage, donc que tu vas changer... quoi... 4 fois dans l'année... tu te prends la tête pour rien à vouloir cliquer directement sur l'icone.

Un QA générique, tu ouvres sa vue, et tu cliques sur l'un des 4 boutons, me semble de loin le plus simple.
Et tu pourras gérer l’icône simplement sans hack tordu en essayant de contourner le mécanisme du binaryswitch.

 

Autre possibilité, utiliser le nouveau type QA MultiPosition.

Mais ça ne résoudra pas ton problème d’icône, car le QA multiposition peut avoir plusieurs valeurs, mais seulement 2 icônes, exactement comme un Binary switch, et ça c'est très bête (raison pour laquelle je ne l'utilise pas sur mes fils pilotes, je préfère le multilevel switch qui permet 10 icônes)

Posté(e)
Il y a 13 heures, Lazer a dit :

S'agissant d'un QA de gestion des modes de chauffage, donc que tu vas changer... quoi... 4 fois dans l'année... tu te prends la tête pour rien à vouloir cliquer directement sur l'icone.

 

c'est ce que je me disais également, mais c'était plus pour le "fun"

Il y a 13 heures, Lazer a dit :

je préfère le multilevel switch qui permet 10 icônes)

je vais essayer celui là pour mes idées tordues .. (en fait cela répondrait à la question que j''avais posée ici 

- mais elle n'était peut-être pas assez précise)

×
×
  • Créer...