normen / homebridge-bravia

Homebridge plugin for Sony Bravia TVs (AndroidTV based ones and possibly others)
139 stars 26 forks source link

Each Input Being Displayed As An Accessory? #74

Closed tronny87 closed 4 years ago

tronny87 commented 4 years ago

Ever since upgrading to 2.0.4, my TV now appears in HomeKit as 6 different accessories (each Input is being listed as its own)

Any help is appreciated.

normen commented 4 years ago

Just wait a bit, maybe restart one or two of your iDevices. HomeKit is a distributed database that gets updated successively.

tronny87 commented 4 years ago

I have restarted all my iDevices several times since the update took place, as well as restarted homebridge several times. The issue seems to be within the plugin.

normen commented 4 years ago

I am pretty sure it's what I say. With the next update of this plugin theres dynamic updates of the channels, then you will see that more often (if you change your TV channels or connected devices often). When accessories change their services HomeKit is sometimes slow to pick up on that, especially when theres a lot of them (like 50 TV channels).

normen commented 4 years ago

I found that force-quitting the iOS Home app that you see the "ghost devices" in is the most reliable way to get rid of those.

tronny87 commented 4 years ago

I downgraded to v2.0.3 and it fixed itself. Upgraded back to 2.0.4 and it's back to normal

tronny87 commented 4 years ago

I only use my 4 HDMI inputs + Netflix. With dynamic updates, will it then consistently display my source in the Home app? I have seen very rarely it will say the actual source. Most of the time it just says "On". I have also tried to rename my HDMI inputs within the Home app, but then they always eventually revert to their default names (HDMI1, HDMI2, etc)

normen commented 4 years ago

The issue with that was that you probably had a homebridge boot where the CEC device wasn't accessible. So when the TV reported the CEC device as input the plugin didn't know what it was. You probably saw "HDMI" when you manually switched to e.g. "HDMI 2".

The new plugin version 2.1 behaves like the old one with an option to continually update channels via the channelupdaterate parameter. But come to think of it I guess I'll just enable a scan every 30 seconds or so by default.. Shouldn't be too much strain on the network or homebridge.

normen commented 4 years ago

Since v2.1.1 the default behavior of the plugin is that it will update the channel/input list every 30 seconds. That means that this issue might come up more often if the TV intermittently reports CEC devices or you otherwise change inputs often.

The best quickfix for this iOS/HomeKit display issue is still to force-quit the offending Home app.

To avoid this issue your options are:

  1. Disable automatic updating by setting channelupdaterate to false in config.json
    • this will only scan the channels when homebridge is booted, you can decide which devices are listed by timing the boot
  2. If the offending devices are CEC devices, remove extInput:cec from the list of sources
    • this will keep the device list relatively stable but you won't see the current input in HomeKit if it is a CEC input (you can still select the corresponding HDMI inputs though)
  3. Keep your channel list short
    • If you don't watch cable TV anyway, remove the dvb input, 50 TV channels less to synchronize means HomeKit gets it done quicker
  4. Keep your TV in your Favorites and enable "show as one device"
    • this way you simply won't see the ghost devices as they're grouped with the TV and they won't make the TV appear in the favorites as it's already there 🙂