C’est quoi cette clé specialAttributes dans le fichier info.json ? La doc est très explicite sur ce sujet mais je ne vois pas du tout à quel moment c’est utilisé ni où ça apparait :
specialAttributes Permet aux plugin de demander des parametre suplémentaire sur des objets ou des utilisateurs (bien regarder l’exemple du plugin template)
"specialAttributes" : {
"object" : {
"toto" : {"name" : {"fr_FR" : "Plop je suis un attribut spécial"},"type" : "input"},
"toto2" : {"name" : {"fr_FR" : "Plop je suis un attribut spécial number"},"type" : "number"}
},
"user" : {
"toto" : {"name" : {"fr_FR" : "Plop je suis un attribut spécial users"},"type" : "select","values" : [{"value" : "1", "name" : "valeur 1"},{"value" : "plop", "name" : "valeur plop"}]}
}
},
De ce que j en ai compris : ce sont des éléments qui permettent a chaque utilisateur de définir un paramètre qui sera utile pour ton plugin, de façon propre a chaque utilisateur (et donc pas définit globalement par l admin sur l équipement)
Par exemple (bon?) :
Attribut spécial : « votre couleur préférée ? »
→ chaque utilisateur peut la spécifier, via le menu « préférence »
Et dans ton plugin tu te sers de cette infos pour mettre cette couleur en background de ton widget (par exemple) ce qui permet d avoir un élément perso
Du coup, je comprends qu’il s’agit de paramètres globaux qui peuvent être partagés entre plusieurs plugins, vrai ? Et, question subsidiaire, comment puis-je récupérer leur valeur ? Ha, et aussi, quelle différence entre les attributs object et user ?
non pas partagé
regarde le titre de la catégorie
c’est bien dédié à ton plugin
user => dispo dans la partie préférence de l’utilisateur connecté
object => attribut peut ajouter à la définition d’un objet (au sens jeedom (ie : majoritairement une « piece »))
bonne question
pour l’utilisateur : $preferedColor = $user->getOptions('plugin::JeedomConnect::preferedColor')
pour l’objet : $customObject=$jeeObject->getConfiguration('plugin::JeedomConnect::objectPrefered');