Hi,
I just changed my Galaxy Watch 5 for a 7. I am now unable to connect it to Home Assistant as the 5 was connected.
I know that you can’t have 2 watch connected at the same time. I removed the 5 from the Mobile App integration. But when I try to connect the watch, it seems to still see the old watch as when I login, it gives me a device name that match the old one and then I get an error “Could not register watch”.
If I go in the Home Assistant app on my phone in the Companion app section and under Wear OS Settings, I have a “Manage device Galaxy Watch5 Pro (XXXX)” and no option to remove it.
I guess I could erase all data from the Home Assisant app on the phone, but I’m afraid login back again will create a new mobile app registration with all new device and I’ve got a whole bunch of automation linked to the current registration. I would hate having to redo all of it.
Any idea on how to fix this?
the app only pulls the first connected watch, youll need to disconnect/remove the old watch to be able to control the new watch. This is probably done in the samsung companion app for the watch
Ok, I just removed the Watch 5 and now I only have the new watch and it’s the one that appear when I try to connect it. But I still get the same error message though.
whats the error in the companion app logs? Settings > companion app > troubleshooting > show and share logs.
Thanks for the hint on where to find the logs. I was actually searching for that.
The problem seems to be with the SSL handshake. Here a part of the logs (hard to get it all while on the phone)
1
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: Watch was unable to register: javax.net.ssl.SSLHandshakeException: connection closed
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at com.android.org.conscrypt.SSLUtils.toSSLHandshakeException(SSLUtils.java:356)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:239)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:218)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.connection.ConnectPlan.connectTls(ConnectPlan.kt:346)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.connection.ConnectPlan.connectTlsEtc(ConnectPlan.kt:201)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:78)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:275)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:72)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:203)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:527)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: at java.lang.Thread.run(Thread.java:1012)
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: Caused by: java.io.EOFException: connection closed
08-23 21:06:50.326 6980 6980 E SettingsWearViewModel: … 19 more
08-23 21:06:50.331 6980 6980 D SettingsWearViewModel: onDataChanged 1
Ok, I switched the Url to home assistant cloud and it worked. Seems that the watch doesn’t like the certificate I am using.
yes the app itself does not handle SSL errors, those are meant for the client.