Le problème c’est que moi (mais aussi d’autres utilisateurs du plugin) on a plusieurs chatières : chez moi une donne accès à la terrasse et l’autre à la chaterie et les autorisations ne sont pas les mêmes (tous les chats ont accès à la chaterie seul le chien ne peut pas entrer) donc je ne peux pas intégrer ton code tel quel il n’est pas assez général.
Effectivement, cela n’est du coup pas aussi simple.
Est-ce qu’on ne pourrait pas, dans la même philo que mon idée, rajouter une propriété « unauthorized » à chaque pet, mais de type « tableau », qui contiendrait tous les devices sur lesquels le pet est interdit ? On serait alors capable de lister dans l’objet « pet », les chatières sur lesquelles l’animal ne peut pas passer. Ensuite, libre à l’utilisateur de gérer cette commande info comme bon lui semble.
Du coup dans mon code que j’ai donné, à la place de ça :
$item['unauthorized'] = in_array($item['tag']['id'], $tagIdsWithProfile3);
il faudrait faire un truc comme ça :
$item['unauthorized'] = $tagIdsWithProfile3;
Dans ce cas, au lieu de stocker un boolean dans la propriété « unauthorized », on stock directement le tableau entier de tags de device pour lequel le pet est interdit.
Et du coup on peut jouer avec cette commande info dans l’objet animal sur jeedom, au lieu de l’objet chatière. Et accessoirement, si ce profile=3 est aussi valable pour les « bols connectés », on aurait aussi l’information « ce pet ne peut pas manger dans ce bol ».
Une solution serait que la liste des animaux interdits soit une commande de chaque chatière mais je ne sais pas si çà conviendrait à ton usage ?
En l’état moi ça m’irait, je pourrai jouer avec des scripts pour extraire la donnée dans un virtuel, mais c’est pas forcément très user-friendly pour l’utilisateur « novice ».
Je pense que dans tous les cas, y’a moyen de trouver un compromis qui aille pour tout le monde, sans devoir refondre tout le plugin 