Duplicate server listed on iOS companion app

Since the companion app updated to the latest version to support multiple server, I have always been troubled by this problem.
Once for a while, the companion app will show two servers with exactly the same name, same address. I have to manually delete one of them in order for my apple watch actions to work, otherwise a prompt on phone side will ask me which server do I want to send the command to.

Whenever I delete the duplicate server (among the two servers, one has local push enabled, the other is not available), after one or two days, it shows up again!
Another annoying thing is that sometime my action setting was lost and all scenes shown up on my watch. I don’t want too many buttons on my watch so I always disable most of them.

Strangely enough, my other iPhone and iPad don’t have this problem. Only the iPhone connected to my apple watch has the problem, and this problem affect watch daily use most. I suspect it is related to apple watch?
I do have something unusual in my server setting. In the companion app side, I set local address using IP address, but in the HA server side, it was configured to homeassistant.local.

This is unexpected. Did you add a second server in the past but delete it?

It will likely be helpful for me to take a look at the app’s logs. You can export a .zip of them in App Configuration > Debugging and attach them at this link and I can take a look. It’s worth noting they likely have some personal information in them – URLs and some location data.

No, I have only one server from day one.
But there was some unusual thing about my setting.

The companion app was original installed on iPhone1. Then I got iPhone2, iPhone1’s data was automatically transferred to iPhone2. I didn’t notice the weird thing for a long time: in Mobile App integration, only one iPhone was listed. Both iPhone pushed data to the same set of entities.

After noticing this weird things, I uninstalled companion app from both phones, removed iPhone device from Home Assistant. Then reinstalled and reconfigured them, they appeared as two difference iPhone.

Now only the iPhone connected to an Apple Watch has the problem I described. Companion app log showed tons of HTTP 410 and the server side reported authentication error occasionally.

Last night, when server side reported authentication error every minute, I killed the companion app and restarted it. I haven’t seen any problem. Still wait to see whether that solved my problem.

I have uploaded the log file to the link you provided.

I think I have an idea what is causing them to reappear - deleting the server in the app makes the app know it’s deleted, but it’s possible another thing that runs from the background (local push, focus change handling, etc.) could resurrect the server.

For now, if you delete the server then immediately restart your phone, it should stay deleted and I’ll think about how to address the issue entirely. I’m not sure how the second server was originally created though – that’s a mystery but maybe related to how it handles restoration from backup in the scenario you highlighted.

That makes perfect sense to me!

Next time they reappear I will do as you said, or uninstalled the app and restart phone and watch before reinstall the app.

Now the story is like this:

  1. iPhone2 initialized from iPhone1 backup: both phone registered as the same device, using the same device identifier.
  2. New sensors were added to companion app, so I had iPhone1.sensorX and iPhone2.sensorX under the same device name but still different sensors. They was displayed like: sensor.iphone.sensorX and sensor.iphone_iphone_sensorX. So both phone were in a hybrid mode: some sensors are indistinguishable where some else are distinguishable. The latter became ghosts.
  3. When I reinstalled the app, iPhone1 got a clean reinstallation, but iPhone2’s reinstallation was not clean. Because it involved removing watch app, the uninstallation took much longer than a few seconds. So some services were not removed when i reinstall the app, those services were automatically registered to the newly installed app, using the old authentication token.
  4. Whenever the old services were called, I saw authentication errors on server side, and a new server configuration was created on app side.

I got the same error. My first HA Server from my virtual machine always shows up in the companion app. After force close and reopening the app the server is back in the list.

FYI Found a solution to this. At least it was for me. I am assuming because you are using the companion app, external URLS and certificates are being used. For me I am using the DuckDuckGo and NGINX addons. The external/internal urls are causing a clash/error when the iPhone is doing Local Network Discovery.
After I went to Settings>Privacy>Local Network and turned off the Home Assistant Companion App. Only allow the external connection. I have stopped getting the errors and duplicate server issues in the Companion App.
Hope this helps someone!

1 Like

That’s exactly the problem!!
I did the same as you did! Thanks!!

Hello guys! I have the same problem, but restarting does not fix it. I have resetted my home assistant instance a few weeks ago (i changed the port from 8123 to 2078 there) and the server keeps popping up and messes with my location. Can anyone




help me to get that old server deleted completely?

Same problem here, I ran up a docker instance of HA and then a Virtual Machine instance before settling on Rasperry PI running HassOS. Now I can’t remove the old obsolete servers from the IOS app and have to remove them every time I start the app, but they just won’t stay deleted. Surely there must be a fix for this?

Im having the same problem with my app, i have 3 severs all for the same phone, this happened when logging out and logging back in, i noticed that all three servers had different URLs, probably my fault a bit, because as i logged out and then logged back in i used an external URL on one server, then an external and internal URL on another, and the other showed an internal URL.
ive deleted all info in the unwanted servers, and set the location sent and sensors sent to never and none respectively, i have then tried to do the instructions above, delete server restart my phone, it doesnt work though
whenever i open the app back up it reconnects to the server without any info in it, it wouldn’t be a huge problem the it is causing all my notifications to not be sent
any help here please would be greatly appreciated

i seemed to have fixed it, i deleted the servers, and then the app, went into devices and services from a pc, if you have multiple devices in the mobile app integration then delete the unwanted ones, redownloaded the app and the unwanted servers are now gone. hopefully they dont come back again