Editer le type de feature des devices Philips Hue

Ajout d’un bouton « Editer » sur les cards des devices Philips Hue dans le but de pouvoir modifier la category de feature.

Explication du besoin :
Les prises connectées sont également utilisées pour allumer/éteindre des luminaires d’ambiance (par exemple dans mon salon j’ai 2 prises Philips Hue qui gèrent 3 lampes d’ambiance que j’allume lorsqu’on regarde la télé). Malheureusement comme elles sont ajoutées en tant que « switch » (ce qui paraît normal jusque là), elle ne peuvent pas être contrôlées par la commande du dashboard pour éteindre la pièce. Cette modification permettrait de le faire. Bien entendu cette feature request fonctionne également pour les autres Integration comme Tasmota par exemple.

Bien vu! Bonne idée :slight_smile:

Ca m’embête, je m’y mettrais bien, la semaine prochaine je suis en congé paternité pour 11 jours (ma louloute est née le 11 Novembre), j’ai un peu de temps du coup.
Seul hic, pas sûr de trouver comment changer la category ^^ pas de soucis pour reprendre la partie front je pense mais pour le reste… je vais voir si je peux m’y atteler.
Je voulais également bosser sur l’intégration Netatmo mais malheureusement je n’arrive à contacter @damalgos et sa PR ne contient pas les dernières modif qu’il avait apporté au mois de mai et qui permettait la connexion au compte Netatmo…

2 « J'aime »

Top :slight_smile: Profite aussi de la louloute :smiley:

T’as qu’à regarder comment d’autres intégrations font, et si tu comprend pas tu viens en parler sur le forum :slight_smile:

On avait abordé le sujet pour les devices Tasmota.
Il faut s’assurer que le feature type est le même, lorsqu’on choisit de changer de category.

Light.binary == Switch.binary

Et j’ai pensé, pendant mon sommeil, est-ce que des “virtual-devices” ne permettraient pas ce genre de choses ?

  • changer la category
  • changer une feature de pièce (pas tout le device)
  • controler un appel HTTP (incoming soon via les scenes)

le tout configuré depuis les scenes, si le virtual device change d’état, je change d’état tel autre device.

c’est peut-être un peu lourd et dur à comprendre non? L’utilisateur doit toujours se rappeler qu’il a 2 device juste pour définir une seule chose

Je pense que dans ce cas précis, il vaut mieux que l’utilisateur puisse dire « cette prise est une lumière » :slight_smile:

Je suis assez d’accord que c’est un peu lourd à gérer pour l’utilisateur lambda, ca peut refroidir. D’autant que ca doit pouvoir ce gérer assez simplement dans les parametre du device.

Ceci n’est pas a négliger, on rencontre le cas d’usage dans plusieurs cas de figure avec les devices Sonoff (4ch, 4chpro, dual, …) et pour le coup c’est plus compliqué à gérer. Peut-être a prévoir dans les menus "Découverte " de l’intégration, et avoir une option supplémentaire qui demande si on souhaite séparer les devices voir même pour ces modèles 2 devices, directement séparer les features en 2 ou 4 devices. Il vaut mieux avoir pour le 4ch par exemple 2 devices séparés même s’ils sont dans la même pièce. Ca se configuré de toute façon très bien après.

Mon cas d’usage peut être un bon exemple : j’ai un 4CH Pro qui gère :

  • 1 eclairage dans la salle de bain,
  • 1 prise dans la salle de bain (chauffage)
  • 1 eclairage dans les WC,
  • 1 eclairage dans la cuisine.
    Si les 4 sont des devices distincts j’ai juste a configurer ensuite les 2 premiers dans la salle de bain, le suivant dans les WC et le dernier dans la cuisine.
    Ceci résout également le problème des intitulés sur le dashboard puisque chacun a son nom de device. Reste plus qu’a pouvoir changer la feature dans les paramètres du device si c’est un eclairage.

Vous en pensez quoi ?

Voir même si on ne tiens pas compte du modèle, juste une vérification de l’intégration qui sépare toute feature "commutateur " en plusieurs device.

Si vous êtes OK @pierre-gilles et @AlexTrovato, je peux regarder ça dans la semaine si je suis capable de faire.

Je réfléchissait à la question, là où je suis d’accord qu’on veut rendre le cas “lampe branchée sur prise” possible, je ne suis pas sur qu’on veuille que l’utilisateur puisse modifier toute la configuration de ces services censées être clé en main.

Il faut vraiment que le minimum vital soit exposé à l’utilisateur final.

On d’accord que l’on veut ajouter un bouton “Editer” à l’intégration Philips Hue, dans ce style: ?

Ensuite, ce bouton affiche une vue de ce style:

Sur cette vue, je pense que l’on ne veut permettre la modification de la catégorie que si c’est une prise que l’on veut transformer en lumière.

On pourrait par exemple mettre un toggle true/false “cette prise est une lampe, permettre à Gladys de contrôler cette prise en tant que lampe”, toggle qui switcherait la catégorie de switch à light et inversement.

Vous en pensez quoi ?

1 « J'aime »

@pierre-gilles, pour moi ce serait déjà parfait de ce point de vue là et amplement suffisant. Simple et efficace = Gladys v4 ^^

Mais qu’en est-il de la partie multi-switch relevé plus haut pour toi ?

Problème beaucoup plus complexe et beaucoup plus « philosophique » que juste ce changement de feature category dans les Philips Hue :slight_smile:

On peut avoir un topic spécifique pour parler de ce problème ?

Sinon dès qu’on va finir la tâche Philips Hue le problème du multi-switch va passer à la trappe.

Tu as totalement raison, désolé !!

Salut, on a ouvert un topic spécifique pour ce sujet ?

Oh non pas encore !!

C’est fait : https://community.gladysassistant.com/t/pouvoir-modifier-les-pieces-des-divers-features-composant-un-device-avec-multiples-relais/5935

PR créée ici : WIP - Philips Hue: Added a separate tab for device discovery + Add edit button + Add check #1054

Hello,

Pour faire suite à la PR et aux discussions sur le sujet, pour intégrer cette fonctionnalité, je comptais créer un param pour le device feature a la création du device du genre :

- device_id = id du device
- value = [
  {
    device_feature_external_id: id du device feature 2,
    create_category: "switch"
  },
  {
    device_feature_external_id: id du device feature 2,
    create_category: "switch"
  }

Du coup quand on cree le device on a bien l’info et quand on coche la case, ça change bien la category en “light” et ce dernier est pris en compte dans les light sans avoir de changement particulier à faire en plus en dev. Apres on peut même ce dire qu’on affiche dans sa card la category de base. Et ceci pourra être repris du coup pour les autres integrations qui ont le même problème (on parlait du souci des relais sonoff en switch qui contrôlaient souvent des lumières)

Est-ce que ca convient ? Pour les équipements déjà créés je comptais mettre dans les actions une condition “si device feature switch/binary et le paramdevice du create_category” n’existe pas, alors on le crée. Ca conviendrait ?

Il existe un fichier on l’on peut éditer manuellement ce paramètre en attendant ?

Hello !! Alors oui et non.

Pour ma part j’ai modifié directement en DB, dans la table t_device_feature dans la colonne category mais attention aux instabilité par la suite (de mon côté je stop le container gladys, et ensuite je modifie en ligne de commande avec sqlite3).
Si tu n’es pas en prod mais en dev, tu peux modifier le fichier server/services/philips-hue/lib/models/plugOnOff.js et changer dans features :

      category: DEVICE_FEATURE_CATEGORIES.SWITCH,

par

      category: DEVICE_FEATURE_CATEGORIES.LIGHT,

Après on peut peut-être modifier dans le container docker en prod, mais je ne sais pas faire et je pense que ce sera à refaire à chaqe maj.