[V4] Dev service Milight

Bonjour à tous,

je me penche sur le dev du service milight. Ca prendra surement du temps car je ne suis pas un expert en dev, mais je suis bien motivé :wink:. Pour le moment j’arrive à récupérer la gateway, l’inclure dans Gladys et créer les 4 zones Milight en tant que device.

Prochaine étape, envoyer l’ordre pour allumer/éteindre les lumières.

Il y a du monde qui utilise des milights ?

Quelques aperçus

2 Likes

Salut @link39

Je l’utilise donc je peux être dispo pour faire des tests :slight_smile:

1 Like

Salut @link39,
si tu veux de l’aide sur le dev, ou des reviews, je suis à ta disposition :wink:.
N’hésite pas créer une Pull Request sur le repo Gladys (en draft tant que le developpement n’est pas terminé) afin qu’on puisse y jeter un oeil plus facilement, et suivre le dev.

pr_draft

A +

1 Like

Merci @AlexTrovato et @Totof .
je vais me remettre sur le service dans la semaine et je ferai donc une PR comme indiqué.

J’ai réussi à allumer/éteindre les lumières. Niveau code, je bloque sur la création des paramètres au niveau des devices et la récupération de ceux-ci. Je vous solliciterai surement pour ce point.

à bientôt.

Salut.

j’ai toujours pas eu le temps d’avancer sur le sujet car trop peu de temps à consacrer à Gladys en ce moment.
Mais oui il faudra que je gère la partie couleur, choses que je ne fais pas actuellement. De manière plus général, je pense que tout les services manipulant des ampoules doivent utiliser le même component ‘color’. Je ne sais pas si @pierre-gilles à déjà réalisé quelque chose dans le module Philips Hue pour les couleurs. Auquel cas nous pourrions nous appuyer la dessus. Je sais qu’il y a eu pas mal de discussion à ce sujet sur le forum mais là j’ai perdu le fil :wink:

Je ne connaissais pas les Magic Device. Ca ressemble carrement au mi-light, c’est récent ? Est-ce que tu as le retour d’état avec ou bien c’est juste de l’envoie de commande ON / OFF / couleur ?

Salut @AlexTrovato,

j’ai essayé de créer une PR en mode Draft mais je n’ai pas trouvé comment faire :sweat_smile: J’ai que l’option Create a pull request.

Salut, sur le bouton “create PR” tu as une petite flèche (dropdown), c’est la que tu trouveras le draft.
Mais je n’ai pas trouvé le moyen de passer de PR a draft, tu n’as pas le droit à l’erreur.
Sinon tu mets “WIP” dans le titre de la PR.

Salut, pour le MultiLevelDeviceFeature je passe mon tour, j’avoue que je ne me suis pas encore beaucoup penché sur le core de Gladys, je me concentre surtout sur la partie services.

Oui en effet, et après tu as SensorDeviceFeature et BinaryDeviceFeature qui sont actuellement utilisés. L’affichage est donc bien principalement gérée par feature, non pas par device. Mais aussi, le device ne connaît pas son propre type (light, switch…), ce ne sont que les features qui le connaissent.

Super boulot, en ce qui concerne la variation de couleurs, on en a parlé ici.
La vue d’un cercle chromatique a été mise en avant.
https://community.gladysassistant.com/t/parlons-de-gladys-v4/3578/672?u=tlse-vins

Pour un affichage de plusieurs features en un, on a eu ce débat plein de fois sur le forum (Probablement dans le sujet « parlons de Gladys 4 »), et je suis complètement pour :slight_smile: Si un capteur gère en même temps la température, l’humidité, la luminosité, ça fait sens de n’afficher qu’une fois le périphérique et de grouper les informations retournées, on gagne de la place.

Il faut juste trouver une façon clean de le faire, si quelqu’un a des idées de présentations je suis preneur.

Je suis pas fan de ce genre de solution, je trouve ça fouilli et pas forcément utile de présent 16 millions de couleurs à l’utilisateurs :stuck_out_tongue: je préfère une sélection de 10-16 couleurs judicieusement choisie, comme la palette qu’à proposé @renaiku en PR

Autant pour moi, je pensais qu’un mixe des 2 était pas mal.

Salut,

une PR pour le service mi-light :

https://github.com/GladysAssistant/Gladys/pull/647

Je suis pas dev alors soyez indulgent…et je suis preneur de toutes remarques et conseil :wink:
Je me suis fortement inspiré du module hue pour comprendre la logique de dev et j’avoue que certains éléments m’échappent encore, notamment pour les interactions entre UI et server.

Ce qui dois fonctionner :

  • Détecter les ponts Mi-light sur le réseau
  • Ajouter les zones en tant que device
  • Allumer / éteindre les zones

Bug et reste à faire :

  • Corriger un bug d’affichage quand on ajoute un bridge déjà existant
  • Supprimer les devices liés à un bridge quand on supprime celui-ci
  • Rendre compatible avec les autres bridges que le v6.
  • Tester avec plusieurs bridges sur le réseau
  • Réaliser les tests décrit dans la pull-request check-list

Pour la gestion de la luminosité / couleur j’attend que les réflexions plus globale sur le sujet mûrissent.

Remarque pour les testeurs :
Si vous voulez tester et que vous êtes sur Windows il y a un fichier à modifier. En effet Windows gère assez étrangement le broadcast.
Le fichier à modifier est le suivant : server/services/mi-light/lib/light/light.getBridges.js
Les explications sont en commentaire.

Dans l’attente de vos retours.

5 Likes

Salut,
Super boulot !! Je suis très intéressé par le développement de ce service sur la V4.
@link39 Peux-tu nous faire un retour sur l’état d’avancement du service et sur la façon dont sera gérée la gestion de la couleur et la luminosité ?
Je suis dispo si tu as besoin de test ou de retour utilisateur.
Encore bravo pour le boulot :clap:t2:

Salut,

Pierre Gilles et Alexandre m’ont fait des retour sur la PR. Je dois corriger quelques éléments, ensuite ce sera bon je pense pour un passage en prod.

Concernant la couleur ainsi que l’intensité de la lumière, je n’ai pas avancé. Sur ce point je vais suivre le mouvement. Quand ce sera plus clair. Pierre Gilles devrait intégrer cela au Philips hue. À ce moment là je ferai des modifications sur le service mi light pour être cohérent.

1 Like

Ça vient de me faire penser a un truc. Vu que j’ai déménager,je vais refaire mon installation Gladys (en v3).
J’avais remarquer sur la v3, qu’au niveau des détection de device, lorsque tu as plusieurs interface réseau ça ne fonctionnait pas.

Mon cas :

  • Device domo sur wlan0 (bloquer pour aller sur le net)
  • lan eth0

Pour que les détection fonctionne, je devais reboot le pi en désactivant eth0 et en lançant la détection en me connectant via wlan0.

Est-ce que pour ta détection tu gère ce type de cas ?

Salut !
Ou en est ce service ?

Salut,

il fonctionne, j’avais quelques tests à revoir. Je crois que j’ai fais le nécessaire. la PR doit être en attente.

1 Like

@pierre-gilles ou en est ce service ?

Il y a plusieurs remarques de @AlexTrovato et de moi même sur la PR en Mars 2020, mais je crois que @link39 n’est plus disponible et il n’y a plus eu de changements depuis.

Si quelques a du milight et souhaite rependre le flambeau sur la PR :slight_smile: