merdok / homebridge-webos-tv

Homebridge plugin for LG webOS TVs
MIT License
646 stars 88 forks source link

TV name changes in HomeKit #534

Open mrfatboy opened 1 month ago

mrfatboy commented 1 month ago

I have setup an LG TV successfully in Homebridge and is visible and working in HomeKit.

The tv's name is defined as "TV" in the plugin. However, when Homebridge is restarted the tv in HomeKit is actually named "TV CAC8" (HomeKit device id?). I think this happens if the TV is off when Homebridge is restarted.

Eventually the tv name will change to the correct "TV" name. Again, I think this happens when the TV is turned on manually or by the HomeKit.

The problem actually arises if you tell Siri to turn on "TV". Siri can't find it because it is named "TV CAC8" temporarily. Worst yet I have a second home (500 miles away) in my HomeKit. It also has a "TV". When Siri can't find "TV" in the primary home she finds it and turns it on in the secondary home.

Can this bug be fixed?

merdok commented 1 month ago

The name which you mention here TV CAC8 is certainly not generated or assigned by the plugin. The tv accessory created in HomeKit will always have the name which you specify in the config, it does not matter if the tv is off or on when you start homebridge. Either something changed recently which I am not aware of or there is something on your side which changes the name...

mrfatboy commented 1 month ago

Hi thanks for the response. I have done some more investigating and I see that TV CAC8 name is registered in Homebridge settings (Unpair bridges/cameras/tvs/external accessories. It also has a different MAC address than what is configured in the config.json.

The TV CAC8 name definitely shows up in HomeKit after a Homebridge restart and will not switch to the TV name until the TV is actually turned on by HomeKit. It's almost as if two devices are coming competing with each other.

Is there anything else I can provide or do to figure out the issue? Thanks.

merdok commented 1 month ago

I hardly suspect that you have the native HomeKit support enabled on the tv and that is why you see it twice. Again the plugin just creates a tv accessory with the name which you provide in the config, if something else appears then it is not from the plugin.

mrfatboy commented 1 month ago

I seem to remember two tv accessories showed up in HomeKit when I added tv to HomeKit through the "add accessories" function. I don't remember which one I picked.

However, why would "TV CAC8" be listed in the "unpair accessories" section in HomeKit? Isn't that the Homebridge version from the plugin?

Should I delete the TV accessory out of HomeKit and also unpair and re-add everything?

merdok commented 1 month ago

I would recommend indeed to unpair all the TVs and re-add them.

mrfatboy commented 1 month ago

I have removed the lg tv (this has been labled "TV" or "TV CAC8" from Homekit and removed "TV CAC8" from the homebridge settings "bridged accessories". Restarted Homebridge. I have included the homebridge log section below as well as the config.json. Also, I included the "add accessory" screen shot with the new "TV CAC8" showing up and wanting to be added. Why is it named "TV CAC8" and not just TV like I defined in the config.json?

        {
            "devices": [
                {
                    "name": "TV",
                    "ip": "192.168.xx.xx",
                    "mac": "xx:xx:xx:xx:xx:xx",
                    "pollingInterval": 5,
                    "volumeLimit": 100,
                    "volumeControl": "fan",
                    "channelControl": false,
                    "screenControl": false,
                    "screenSaverControl": false,
                    "serviceMenuButton": false,
                    "ezAdjustButton": false,
                    "colorControl": false
                }
            ],
            "platform": "webostv"
        },

hblog

hkacc (Small)

mrfatboy commented 1 month ago

Here is one more pic of the Homebridge setting page (Unpair Bridges /cameras/ TVs/ external accessories. Of course TV CAC8 shows up after I deleted it original then restarted Homebridge. The question is why is it not lables as just "TV" as it was defined in the config.json?

Thanks

hbsett

merdok commented 1 month ago

Oh, this is just an auto generated id by homebridge if i remember correctly. It literally does not matter, and is generated by [config_tv_name] + [random_id] (not quite sure if it is random). Nevertheless, the name of your tv is still should just be "TV". Or maybe the name "tv" is too generic and homekit ot homebridge automatically adds the id to your name, so you could try to give it a more specific name.

mrfatboy commented 1 month ago

When I add the "TV CAC8" to HomeKit I can change the name to "TV" in the accessory properties. However it does not keep the name "TV" if Homebridge is rebooted. It reverts to "TV CAC8" until I turn on the TV manually or thru HomeKit.

When I first load HomeKit on my phone you can the TV button display with the name TV CAC8 for a split second then changes to just TV. However if you immediately go into the TV properties it is displayed at TV CAC8. This is the name Siri is looking for instead of actual "TV".

Is there a way to remove the 4 digit serial number after TV permanently? Somehow HomeKit keeps seeing it after reboots.

merdok commented 1 month ago

Sorry, the plugin has nothing to do with the "CAC8" 4 chars which you are seeing and i have no control over it. The plugin just creates a new television accessory with the exact name which you specify in the config.

mrfatboy commented 1 month ago

As you can see I have name "TV" defined in the config.json. But it it gets labeled as "TV xxxx" in Homebridge. You can see it being labeled as "TV xxxx" in the Homebridge paired accessories setting pictured above.

That has to be the plugin assigning the "tv xxxx" name to it because I have not even added back into HomeKit yet. It's all on the Homebridge side now.

Thoughts?

merdok commented 1 month ago

As mentioned there is nothing i can do about that as it is not the plugin that assigns the name to the accessory...

mrfatboy commented 1 month ago

It must be something to do with paired accessories that actually need to be added in HomeKit as opposed to something like simple dummy switches.

I do notice that adding Homebridge into HomeKit also has a 4 digit identifier added to its name when added to HomeKit.

As I said before when I add the TV into HomeKit I can change the name at that moment. It's only when Homebridge restarts when the original name reasserts itself for awhile. Maybe it's just a HomeKit bug. The issue only comes to light when you use Siri voice control. Thanks for the plugin!

merdok commented 1 month ago

Siri always uses the name which you provide in the config or set in the home app itself.