Philips Hue - Incohérence tableau de bord

Bonjour,

Je ne sais pas si le sujet / bug a déjà été discuté ou signalé mais je me suis rendu compte d’une chose hier et je ne sais pas si ce comportement est normal :

  • J’allume les lampes Philips Hue de ma cuisine avec le bouton principal pour allumer toutes les lampes de la pièce.

  • Je demande à Google Home (en dehors de Gladys Assistant) d’éteindre les lumières dans X minutes.

  • La dashboard Gladys indique que les lampes sont allumées (alors qu’elles sont éteintes). Même constatation après un refresh (F5).

Est-ce lié au fait que les lampes s’arrêtent via un système externe ? Ou est-ce simplement un bug ?

Merci pour vos éclaircissement :blush:

Salut @Kevin ! C’est une bonne question :slight_smile:

Pour les intégrations qui peuvent être controllée de façon externe à Gladys, et notamment l’intégration Philips Hue, ce qu’on fait dans Gladys c’est qu’on rafraichit l’état de ces appareils toutes les 60 secondes pour pouvoir récupérer le dernier état si celui-ci a été changé en dehors de Gladys.

Donc normalement si tu ne vois pas le changement directement, c’est normal, ça devrait venir entre 0 et 60 secondes après !

Malheureusement on a pas trop le choix, dans l’idéal il faudrait que Philips Hue « broadcast » un évènement pour prévenir les applications tierces qu’un nouvel état est disponible, mais ils ne le font pas, donc on a pas le choix, on utilise les API dispo ^^

1 Like

En effet, en refaisant des tests hier, je me suis rendu compte qu’à certains moments, ça se mettait à jour. Et je me suis dit que vous deviez, d’une manière ou l’autre, faire un appel aux API disponibles tous les x temps. Au moins, ça répond à ma question.

Par contre, là où ça ne change jamais, c’est l’état de la couleur de l’ampoule. Gladys semble garder en mémoire ce que lui a sélectionné la dernière fois. Mais ça ne correspond pas à la réalité si le changement a été réalisé avec l’application Philips Hue par exemple.

On n’est pas sur un problème qui empêche le bon fonctionnement mais je préfère signaler ce léger bug :slight_smile:

Ah, là par contre c’est un bug :slight_smile: tu as des capacités en développement nous aider à le corriger ou pas ?

Sinon je t’invite à créer une issue sur notre repo Github pour ne pas perdre trace du bug !

J’ai des compétences en dev mais limitée à .NET c# principalement (et ce qui tourne autour) mais Node JS, j’ai dû en faire une fois par curiosité.
Il faudrait que je m’y penche un peu, ça ne doit pas être bien sorcier à régler comme bug.

Mais en attendant, j’irai créer une issue sur le Github.

1 Like

Merci pour ton issue Github @Kevin !

Je la reposte ici:

Si quelqu’un passe par là et a du Philips Hue, est-ce qu’il pourrait nous aider à trouver le bug ? @cicoub13 je crois que tu as du Philips Hue ? :slight_smile:

1 Like

J’ai revendu mon pont Philips Hue pour contrôler mes ampoules via Zigbee2Mqtt :neutral_face: mais je vais tester la remontée des couleurs au cas où (depuis Zigbee)

Ah mince :stuck_out_tongue: @VonOx tu as du Philips Hue avec bridge toi non ?

Oui j’ai ça uniquement pour une living color, le reste est sur z2m.

Ok, du coup tu as le contrôle de la couleur sur cette living color ? Tu pourrais tester ce bug et voir si tu vois une solution ?

Oui je suis en déplacement, je testerai en fin de semaine de retour à la maison.

2 Likes

Je confirme que ça ne fonctionne pas si un controle extérieur est fait ( App hue / Vocal etc )

Etat correct:

image

La synchro ne se fait que sur le on/off

1 Like

Seul le poll du On/Off a été développé. J’ai commenté l’issue en pointant vers le code à mettre à jour

1 Like

Effectivement bien vu @cicoub13 !

@VonOx Tu aurais moyen de voir la tête du state à cette ligne là : Gladys/light.poll.js at master · GladysAssistant/Gladys · GitHub ?

Ensuite il faut faire un this.gladys.event.emit avec la couleur

{
  on: true,
  bri: 120,
  hue: 45780,
  sat: 254,
  effect: 'none',
  xy: [ 0.1397, 0.0985 ],
  alert: 'select',
  colormode: 'xy',
  mode: 'homeautomation',
  reachable: true
}

J’ai bêtement fait ça mais je crois que la couleur doit être convertie

logger.info(state);
this.gladys.event.emit(EVENTS.DEVICE.NEW_STATE, {
      device_feature_external_id: `${LIGHT_EXTERNAL_ID_BASE}:${bridgeSerialNumber}:${lightId}:${DEVICE_FEATURE_TYPES.LIGHT.COLOR}`,
      state: state.hue,
    });

Tu as la fonction hsbToRgb puis rgbToInt dans servers/utils/colors.js !

Tu utilise hue + sat + bri !

hue direct ça marche j’avais pas assez patienté ( c’est pas exactement le même bleu mais en tout cas ça remonte )

image

1 Like

Yes, il manque la saturation et la brightness pour avoir le bleu pareil :slight_smile:

Cool si ça marche, merci d’avoir regardé !