tonesto7 / homebridge-smartthings

SmartThings Homebridge Plugin
384 stars 770 forks source link

(BUG) Some shades not completing in timed HomeKit automation #388

Open JJJ opened 3 years ago

JJJ commented 3 years ago

I have 4 Bali shades that operate through this plugin. They work fine normally, via buttons and scenes and an automation to raise them.

However, when attempting to lower them from 100% to 0% via a Scene on a timed automation, 2 out of 4 of my shades always stop at around 80% and kind of poop-out when it happens. They don't stop as if they've received a stop command. They stop as if they've malfunctioned and continue to slowly lower a few more percent until their inertia stops.

Verify the following before opening an trouble issue


About Your Setup

Expected Behavior

I expect for all shades to work for all scenes, automations, etc...

Current Behavior

2 out of 4 shades poop-out when performing a timed lowering automation.

Steps to Reproduce (for bugs)

I'm unsure if it will be possible to reproduce, but I'll include some generic steps.

  1. Add 4 shades to HomeKit
  2. Create a Scene to lower all shades
  3. Add an automation for Sunset to call the Scene
  4. Only 2 of 4 shades will lower to 0%. Then other 2 will poop-out.

Context

In my testing, it appears as if using a Scene does not matter. Even if I add all 4 shades separately to a timed automation, the same 2 shades still do not lower completely.

Things I've tried and eliminated as the problem:

I understand that this issue is extremely quirky. My gut tells me it's probably a bug in HomeKit, but I'm unable to test, tune, or debug anything in there anymore.

I'm mostly creating this issue out of some desperation, and to see if there is any possibility anyone else has encountered this, and/or as a reminder to myself to dig into the code in this plugin and see if there is some debounce collision happening or something.

Thank you for coming to my Ted talk. 🤪

JJJ commented 3 years ago

I've worked around this issue using the Homebridge Dummy plugin.

I can assign a virtual button on/off to represent the shades being up/down.