dvd-dev / hilo

Home Assistant Hilo Integration via HACS
MIT License
135 stars 26 forks source link

Wrong dimmer switch state (on/off) (Jasco Enbrighten 43082) #310

Closed vincentleclerc closed 10 months ago

vincentleclerc commented 1 year ago

Version of the custom_component

I'm using the latest, released yesterday. 2023.10.2

Configuration

logger:
  default: info
  logs:
    # log level for HA core
    homeassistant.core: fatal

    homeassistant.components.hilo: info
    homeassistant.components.pyhilo: info

Running the latest HA OS under a VM in Proxmox.. let me know if we need more details, it isn't clear what I have to list in this section.

Describe the bug

The state of a dimmer switch is always shown as "On" or "Off" (depending on the dimmer; it varies. some are stuck "On" others "Off")

Playing with the brightness always works and the actual light is gonna turn on right away after changing the brightness.

i.e of usecase: If the dimmer is stuck with the "On" state, and the lights are actually off, then hitting the on/off button is doing absolutely nothing. In this specific case, we have to click twice rapidly to make the lights come on. If the lights are on, and the switch is in the "On" state, then clicking it once will close the lights (as it should), but a few seconds later the state of the switch will update itself back to "On" (even though the lights are still off).

As far as I understand, HA cannot reliably poll the right entity state for a dimmer switch. I've attached some logs because it's required to open an issue, but honestly they're useless imo. The action is working fine (as shown in the logs), but when we're refreshing the state of the entity it's grabbing wrong data (I couldn't find any trace of the entity state refresh, let me know if there's a way to log that out)

The dimmers were working fine 2 years ago. I started to have issues last winter and I think this issue went under the radar.. I have a few dimmers installed in my house so let me know if I can debug anything else.

Logs

Clicking the toggle twice:

2023-10-30 15:58:17.718 INFO (MainThread) [custom_components.hilo] [LightDimmer Dining Room Dimmer (312913)] Turning off
2023-10-30 15:58:18.145 INFO (MainThread) [custom_components.hilo] [LightDimmer Dining Room Dimmer (312913)] Turning on

Clicking once: 2023-10-30 15:58:17.718 INFO (MainThread) [custom_components.hilo] [LightDimmer Dining Room Dimmer (312913)] Turning off

ic-dev21 commented 1 year ago

Does this do this right after a reboot or at all times? (Tu peux parler français aussi ici si tu veux)

vincentleclerc commented 1 year ago

https://github.com/dvd-dev/hilo/assets/7295423/59fb6720-0771-4d8c-9750-46a06bf0fe15

tout le temps! je peux reproduire anytime, sur tous mes dimmers.. je vais upload un video, desfois c'est plus facile à comprendre en le voyant. Sur le video en gros le state est stuck à "Off" ... faque peu importe si j'allume ou éteint, le dimmer va revert son state à "Off" après 1-2sec... (compare avec le vrai state des pot lights dans la cuisine / la lumière bleu sur le dimmer)

je double tap à ~10sec dans le vidéo pour véritablement les fermer... (le restant du temps c'est un single tap)

ic-dev21 commented 1 year ago

@andymang est-ce que ça peut être lié au debounce?

ic-dev21 commented 11 months ago

compressed_video_hilo_bug.mov

tout le temps! je peux reproduire anytime, sur tous mes dimmers.. je vais upload un video, desfois c'est plus facile à comprendre en le voyant. Sur le video en gros le state est stuck à "Off" ... faque peu importe si j'allume ou éteint, le dimmer va revert son state à "Off" après 1-2sec... (compare avec le vrai state des pot lights dans la cuisine / la lumière bleu sur le dimmer)

je double tap à ~10sec dans le vidéo pour véritablement les fermer... (le restant du temps c'est un single tap)

Désolé pour le délai de réponse, peux-tu te mettre en mode débug et uploader les logs? Je pourrais possiblement m’essayer.

nlz242 commented 11 months ago

J'ai regardé ça.. Le probleme vient du fait qu'on update pas l'état des appareils, on attends le retour de SignalR... Dans l'ordre:

  1. On envoie la consigne (Dimmer On) (dans le UI on passe de Off à On, mais le state est encore à Off)
  2. On dit à HA d'updater son UI (le ui s'update selon la valeur du state, donc Off)
  3. On recoit l'info de SignalR apres un petit délais (1-2s), ce qui fait updater le UI, qui passe donc à On

Pour éviter ça, avec la PR que j'ai fait, on assigne la valeur attendu au state (optimiste) et on recoit ensuite la vrai valeur de SignalR. Dans l'ordre:

  1. On onvoie la consigne (Dimmer On) et si l'envoie n'a pas fait d'erreur, on assigne le state à On. (Le UI passe de Off à On)
  2. On dit à HA d'update son UI (le ui s'update selon la valeur du state, donc il reste à On)
  3. On recoit l'info de SignalR apres un petit délais (1-2s), ce qui fait updater le UI à la vrai valeur (soit On si tout à bien été, Off sinon).

Je l'ai tester localement, ça semble tenir la route

ic-dev21 commented 11 months ago

Prochaine version le fix sera dedans. Probablement fin de cette semaine. Merci de ta patience.

ic-dev21 commented 10 months ago

Possiblement fixed dans #352, merci d'updater lorsque j'aurai releasé et me donner des news.

ic-dev21 commented 10 months ago

compressed_video_hilo_bug.mov tout le temps! je peux reproduire anytime, sur tous mes dimmers.. je vais upload un video, desfois c'est plus facile à comprendre en le voyant. Sur le video en gros le state est stuck à "Off" ... faque peu importe si j'allume ou éteint, le dimmer va revert son state à "Off" après 1-2sec... (compare avec le vrai state des pot lights dans la cuisine / la lumière bleu sur le dimmer)

je double tap à ~10sec dans le vidéo pour véritablement les fermer... (le restant du temps c'est un single tap)

Peux-tu essayer un update et nous donner des news please?

vincentleclerc commented 10 months ago

compressed_video_hilo_bug.mov tout le temps! je peux reproduire anytime, sur tous mes dimmers.. je vais upload un video, desfois c'est plus facile à comprendre en le voyant. Sur le video en gros le state est stuck à "Off" ... faque peu importe si j'allume ou éteint, le dimmer va revert son state à "Off" après 1-2sec... (compare avec le vrai state des pot lights dans la cuisine / la lumière bleu sur le dimmer) je double tap à ~10sec dans le vidéo pour véritablement les fermer... (le restant du temps c'est un single tap)

Peux-tu essayer un update et nous donner des news please?

Je viens de tester, tout marche correctement! Good job guys.

ic-dev21 commented 10 months ago

Bonnes nouvelles!