Describe the bug
As of iOS 14 GM, a node-red based Television accessory has a generic "house" icon, rather than a TV icon, in the Home app. I believe this appeared in GM, and wasn't in the betas of iOS 14, but am not 100% certain
To Reproduce
Steps to reproduce the behavior:
Expected behavior
In iOS 13, all Television accessories had a generic TV panel as the icon. iOS 14 introduced new options (such as a receiver, or a TV panel with a STB attached), but apparently you have to do something to select one, it doesn't default to the TV panel anymore
Screenshots
In my screenshot, TV is a real HomeKit TV, has a TV icon. Home Theater is a Homebridge-based receiver. The plugin was updated, and has a receiver icon. in iOS 13 it appeared as a TV. TiVo is a NRCHKB-based Television accessory, in iOS 13 it had a TV icon, now it has a house.

Desktop (please complete the following information):
Additional context
I saw a reddit thread, but can't find it now, reporting this problem in homebridge. Someone said you need to update the plugin to select the icon type. Apparently if you don't, it defaults to the house instead of the TV.
This is fixable but will likely require a new version of the plugin. I believe all still works, correct? Just shows a house instead of a tv?
Related issue on HAP-NodeJS with more discussion and a couple other references:
We’ve never had icon options for tv before. It’s odd to me that the icon is decided by the service instead of within homekit app like a light bulb or valve item...
Yes, works fine, just a cosmetic issue
Just FYI: can confirm - works fine but macOS BigSur Beta is also showing the home icon instead of TV. Seems to be a recent change in iOS and macOS. Previous betas of it were right!

This might be resolved via #310
It looks like it can be caused by the bridge.
Possibly when we eject from the bridge for some accessories then they will start to behave better.
Also for consideration:
homebridge/HAP-NodeJS#846
If I am right then this is no longer a Bug but New Feature.
In this plugin is it fixed and working:
https://github.com/lukasroegner/homebridge-philips-hue-sync-box/issues/23
In this plugin is it fixed and working:
lukasroegner/homebridge-philips-hue-sync-box#23
They did it by making it an external accessory, rather than bridged.
@mishakim and is possible another way?
They did it by making it an external accessory, rather than bridged.
This is a proposed feature for the next version. Turns out there are a few services which will do better as non-bridged accessories. That’s the potential fix for #310 - we are hopeful it will help television and camera services as well. Stand by for the next dev branch.
@NRCHKB/test please check if latest dev solves the issue
@radokristof please confirm if you succesfully create Television Service with correct Accessory icon on dev version.
Nope - Once I got the dev branch installed and working, setup a new TV as a stand-alone accessory, it still has a house icon.
Also, not sure if the Wait for Setup message option should be used here? TVs seemed to need setup commands in the past, but checking that box leaves it "waiting for setup" despite getting the appropriate messages.
Edit: after deleting the TV and trying again, as the input selector wasn't working, now I can't add the accessory at all. The Home App doesn't see it to add, and manually entering the code doesn't do anything. The NodeRed debug log has an entry of "ERROR: Cannot update reachability of non-bridged accessory!" for each of the linked input source nodes immediately upon restarting.
My bridged TV also quit working, it seems the old way of injecting setup doesn't work, and I can't figure out the new way. If I check the box to wait, I get errors from the linked services, and an error about the syntax of the setup message from the parent. But when I conform to what it says it wants, it just stays in the Waiting for Setup state.
@mishakim just to check, are you running dev 14? Came out about 4 hours ago.
No, looks like I'm on 11. Tried bumping to 14 but it didn't work, still on 11. What is the correct command to get the latest version of a branch?
Inside the nodered data folder:
npm i [email protected]
That's what I thought, and did, but the pallet manager shows I'm still on 11, and that's what HomeKit nodes show pre-filled in the version fields
Looking at the code itself, I do have 14 installed, the UI is just not reflecting that. Not sure if that means there's something cached I need to clear, or some file in 14 is reporting the wrong version to the UI?
@mishakim if pallet shows 11 then 11 is installed. Possibly your node-red is running from other place then you installed 14. By default it is ~/.node-red
Also join us on our Discord so we can chat about that dev and other stuff :)
Ok. Not sure why that is (installed 11 and then 14 in the same place, same command), but my node-red version was 1.0.1, so I'm updating the whole thing right now, will come back to this later.
just realized I included --save when I installed 11, that's probably it. node-red installer is running now, so I'll clean it app up in a bit
Cleaned everything up, and it is now working - I have the TV icon, and then got it working with the STB icon instead. I'm still having problems with inputs, but I can start a new issue for that, as it's not related to 1.3 as far as I know.
Closing as reporter accepted resolution (on dev currently).
Most helpful comment
This is a proposed feature for the next version. Turns out there are a few services which will do better as non-bridged accessories. That’s the potential fix for #310 - we are hopeful it will help television and camera services as well. Stand by for the next dev branch.