francispoisson / hilo

Hilo integration for Home Assistant
The Unlicense
26 stars 8 forks source link

Contrôle des lumières très irrégulier #25

Closed Eradash closed 2 years ago

Eradash commented 3 years ago

Contrôler les lumières avec un pourcentage est pratiquement impossible Utiliser le contrôle On/Off est plus facile, mais pas parfait L'application indique 10000% quand on active la lumière dans HA, et revient à 100% après un court moment L'application indique 10000% quand on met la lumière à 100% dans HA, et revient à 16% après un court moment L'indication de l'état de la lumière n'est pas bonne dans HA

francispoisson commented 3 years ago

Bonjour, je n'ai pas d'interrupteurs à la maison pour pouvoir tester. Si vous désirez revoir le code ça serait aidant. Tant que Hilo ne rendra pas un API public, le développement reste difficile.

Eradash commented 3 years ago

La synchronisation entre les actions effectuées sur l'application et HA est très lente La synchronisation entre les actions physique sur le gradateur et HA ne fonctionne pas encore, je vais y retravailler un autre fois. Normalement ça ne cause pas de problèmes, excepté si on veut réagir aux changements d'états pour des automations

thib5 commented 2 years ago

Merci encore pour cette intégration, je l’utilise depuis 2 jours et tout semble beau en effet mais j’ai le meme porbleme avec les switch

Le contrôle des switch va bien mais si j’utilise manuellement les switch la synchronisation ne ce fait pas ( ou très lente )

francispoisson commented 2 years ago

Le problème, c'est que la communication avec Hilo se fait sur le cloud plutôt que localement.

Si j'étais vous, je connecterais les appareils autre que les thermostats directement à HA avec une dongle ZigBee zzh et l'intégration ZHA.

Le sam. 25 sept. 2021 8:37 p.m., thib5 @.***> a écrit :

Merci encore pour cette intégration, je l’utilise depuis 2 jours et tout semble beau en effet mais j’ai le meme porbleme avec les switch

Le contrôle des switch va bien mais si j’utilise manuellement les switch la synchronisation ne ce fait pas ( ou très lente )

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/francispoisson/hilo/issues/25#issuecomment-927204181, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRNQSCRW2QAUV2EISHR7HTUDZTLVANCNFSM5DXZVCOQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

thib5 commented 2 years ago

C’est pas grave, je souslignais le problème simplement !

valleedelisle commented 2 years ago

Je crois avoir une idée du problème, ça semble survenir lorsqu'on trig un changement sans que les objets soient pleinement populés. Par exemple, lorsque la lumière est à off et que je l'allume en définissant spécifiquement une intensité, j'ai ce traceback.

2021-10-12 19:44:34 INFO (SyncWorker_7) [custom_components.hilo.light] DVD Updating dimmer {'_Device__name': 'Dimmer Salle a manger', '_Device__deviceType': 'LightDimmer', '_Device__supportedAttributes': 'OnOff, Intensity, Power, Disconnected', '_Device__settableAttributes': 'OnOff, Intensity', '_Device__deviceId': xxx, '_Device__category': 'Light'}
2021-10-12 19:44:34 ERROR (MainThread) [homeassistant.helpers.entity] Update for light.dimmer_salle_a_manger fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 446, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 641, in async_device_update
    raise exc
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/hilo/light.py", line 75, in update
    self._brightness = self._h.d[self.index].Intensity*255
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'

Y'a l'air d'avoir aussi une autre race ou l'intégration fait un set_attribute sur la valeur qu'hilo a au lieu de la valeur définie par l'usager, comme si la thread qui roule le get_devices écraserait l'objet du set_attribute.

Je ne suis vraiment pas familier avec le développement d'intégration d'home assistant, j'essaie encore de comprendre l'architecture. J'ai mis plein de debug partout.

Je présume que c'est facile à reproduire avec les thermostat si tu joue un peu avec les set points plus ou moins rapidement. Tu n'as probablement pas eu le problème car ce n'est normalement pas un attribut qu'on "joue" avec.

J'ai essayé de définir la variable de class Intensity à 0 à la place de None et j'ai un nouveau bug: si le dimmer est éteint, et que je défini une brightness en l'allumant, l'entity aura 50%, mais la bonne valeur sera défini sur Hilo API. Ensuite, si je change la brightness pour autre chose, l'entity aura la brightness que j'ai défini à l'allumage et la Hilo api aura encore une fois la bonne valeur. Ainsi de suite, l'Entity est une valeur en retard sur ce que j'veux vraiment et ce qui est envoyé à Hilo API. Depuis que j'ai défini Intensity à 0, je n'ai plus de traceback.