rnilssoncx / homebridge-pico

Expose Lutron Pico Remotes in Homebridge: https://github.com/nfarina/homebridge
MIT License
63 stars 6 forks source link

not consistently triggering homekit on first press of Pico #5

Closed rcaruso90 closed 3 years ago

rcaruso90 commented 3 years ago

The log on homebridge shows that the casetta hub is being triggered with each press of the remote, but the plug in does not consistenly trigger the homekit accessory.

rnilssoncx commented 3 years ago

Are you sure you aren't being impacted by the double press support?

Outside that, I'm not sure what could be causing this issue. If you see the press in the log it's being processed.

rwgunther commented 3 years ago

I've been experiencing similar problems over the past few weeks. When I first started using it with just one remote, everything was solid. Once I started adding remotes, it became far more unreliable. I've tested the triggered scenes in HomeKit, and they work fine. Any chance you'd consider adding a device interface in Homebridge for each button to simulate the button actions? This could go a long way to help with troubleshooting.

rnilssoncx commented 3 years ago

Interesting. I've been using this with 12 picos for a couple of years now without any issues.

Is there a pattern to this? Perhaps timing?

Are you using any other home bridge plugins? Perhaps there's a pattern there?

I can look at adding a device interface when I have some time. Over the weekend I'll add a more aggressive debug mode that will drop a lot more data on the processing of the clicks. I'll respond here when it's posted.

rwgunther commented 3 years ago

Thanks. I hope we can figure this out, because as far as I'm concerned, this is the killer app for Homebridge.

rcaruso90 commented 3 years ago

For me it’s typically the first time I press it after a period of inactivity that it has the issue. After it works once, it will respond more reliably for awhile.

Because the log in homebridge reliably shows a click, I wonder if the issue is my HomeKit hub not always responding. I use an iPad Pro over wifi, I’ll try hooking it up with an Ethernet adapter tomorrow to see if that improves it.

On Fri, Oct 23, 2020 at 9:55 AM rwgunther notifications@github.com wrote:

Thanks. I hope we can figure this out, because as far as I'm concerned, this is the killer app for Homebridge.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rnilssoncx/homebridge-pico/issues/5#issuecomment-715392603, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARPM6J64FJ6HM3DNINQWNFDSMGKNTANCNFSM4S36LJEA .

--

Thanks, Robert Caruso

rwgunther commented 3 years ago

I haven't been able to figure out a pattern. Sometimes it works...sometimes it doesn't. I have three switches set up with one of them mapped to two identical-model picos.

rcaruso90 commented 3 years ago

Also, regarding the double press and long press potentially being an issue. I’ve set single, double, and long press to all do the same action (don’t need anything fancy for my setup). That still didn’t prevent it.

On Fri, Oct 23, 2020 at 11:23 AM rwgunther notifications@github.com wrote:

I haven't been able to figure out a pattern. Sometimes it works...sometimes it doesn't. I have three switches set up with one of them mapped to two identical-model picos.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rnilssoncx/homebridge-pico/issues/5#issuecomment-715442713, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARPM6J4NOZ56MOFZAH3E643SMGUZNANCNFSM4S36LJEA .

--

Thanks, Robert Caruso

rnilssoncx commented 3 years ago

I've reviewed my code and if you are seeing a message like the one below the code would have just sent the click to Homebridge, which should be getting to Homekit.

[10/24/2020, 08:42:37] [Pico] Living Room Scene - Scene Off single press

The code itself:

this.buttons[button].getCharacteristic(Characteristic.ProgrammableSwitchEvent).setValue(click);
this.log(`${this.name} - ${labels[button]} ${clickType[click]} press`);

If it ever works then you successfully have it tracking clicks and will see this the first time you press a button:

[10/24/2020, 08:42:37] [Pico] [x.x.x.x] Device 41 Button 11 - Created tracker

I have found in my environment that the AppleTV 4k and HomePod are reliable Homekit servers, but the AppleTV 3 would fail to work reliably.

If you are running multiple Homebridge plugins you might try and run only this plugin to see if there might be an issue.

Summarizing:

rcaruso90 commented 3 years ago

I am seeing the logs as described. I’m using an iPad Pro (11 inch) as a server. May be swapping that for a HomePod mini down the road. This is the only plug-in running.

On Sat, Oct 24, 2020 at 9:14 AM Robert Nilsson notifications@github.com wrote:

I've reviewed my code and if you are seeing a message like the one below the code would have just sent the click to Homebridge, which should be getting to Homekit.

[10/24/2020, 08:42:37] [Pico] Living Room Scene - Scene Off single press

The code itself:

this.buttons[button].getCharacteristic(Characteristic.ProgrammableSwitchEvent).setValue(click);this.log(${this.name} - ${labels[button]} ${clickType[click]} press);

If it ever works then you successfully have it tracking clicks and will see this the first time you press a button:

[10/24/2020, 08:42:37] [Pico] [x.x.x.x] Device 41 Button 11 - Created tracker

I have found in my environment that the AppleTV 4k and HomePod are reliable Homekit servers, but the AppleTV 3 would fail to work reliably.

If you are running multiple Homebridge plugins you might try and run only this plugin to see if there might be an issue.

Summarizing:

  • Verify you are seeing the presses logged as above - if this is the case Homebridge is being notified of the press
  • Share what you use for your Homekit server - is it an AppleTV 4k, HomePod, other?
  • Try running with only this plugin to rule out issues related to other plugins

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rnilssoncx/homebridge-pico/issues/5#issuecomment-715921061, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARPM6J4D3S25TRFAUS7TRMLSMLOMTANCNFSM4S36LJEA .

--

Thanks, Robert Caruso

rwgunther commented 3 years ago

I found my problem to be a combination of issues:

  1. Some of the actions I'd assigned to the Pico buttons in HomeKit had become disabled. I had to redefine the button actions, then they worked again. That could be a result of iOS 14 upgrades, betas, etc.
  2. Either the Homebridge Bond plug-in, Bond itself, or HomeKit itself seems to ignore shade control actions that would change the state to what it thinks is its current state. So if Home shows a shade is down, nothing happens when I press down on the Pico that triggers Bond's down action. That's not an issue with this plugin but somewhere else in the chain.