home-assistant / home-assistant/android

WearOS - not able to connect with mTLS client certificate

Open
#7,122 5 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Kotlin
Stars
3.9k
Forks
1.1k
Avg merge
1d 12h
Merged PRs (30d)
81

Description

**Home Assistant Android app version(s):**
2026.6.5-full
2026.6.5-22884
**Android version(s):**
16
**Device model(s):**
Pixel 7, OnePlus Watch 4
**Home Assistant version:**
Home Assistant OS
Core 2026.6.4
Supervisor 2026.06.2
Operating System 18.1
Frontend 20260527.7

**Last working Home Assistant release (if known):**
never worked

**Description of problem, include YAML if issue is related to notifications:**
Trying to setup my WearOS watch with a client certificate (mTLS). Instance is available public with LetsEncryot certificate and mTLS works in Android Browser and Android Home Assistant app.

However I can not get WearOS connected as I can not find the field to insert the client certificate as hinted in https://github.com/home-assistant/android/pull/3924 . I have also read https://companion.home-assistant.io/docs/troubleshooting/networking/#tls-client-authentication but the instructions seem very vague on how to provide the certificate. The log clearly show the HTTP 400 due to missing cert.

**Companion App Logs:**
```
--------- beginning of main
07-03 16:58:29.460 29446 29446 I Zygote : Process 29446 created for io.homeassistant.companion.android
07-03 16:58:29.461 29446 29446 I mpanion.android: Using generational CollectorTypeCMC GC.
07-03 16:58:29.479 29446 29446 D nativeloader: Load libframework-connectivity-tiramisu-jni.so using APEX ns com_android_tethering for caller /apex/com.android.tethering/javalib/framework-connectivity-t.jar: ok
07-03 16:58:29.492 29446 29446 D ApplicationLoaders: Returning zygote-cached class loader: /system_ext/framework/androidx.window.extensions.jar
07-03 16:58:29.492 29446 29446 D ApplicationLoaders: Returning zygote-cached class loader: /system_ext/framework/androidx.window.sidecar.jar
07-03 16:58:29.635 29446 29446 W mpanion.android: Failed to find entry 'classes.dex': Entry not found
07-03 16:58:29.636 29446 29446 W mpanion.android: Failed to find entry 'classes.dex': Entry not found
07-03 16:58:29.637 29446 29446 D nativeloader: Configuring clns-9 for other apk /data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/base.apk:/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/split_config.arm64_v8a.apk:/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/split_config.xxhdpi.apk. target_sdk_version=36, uses_libraries=, library_path=/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/lib/arm64:/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/base.apk!/lib/arm64-v8a:/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/split_config.arm64_v8a.apk!/lib/arm64-v8a:/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/split_config.xxhdpi.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/io.homeassistant.companion.android
07-03 16:58:29.645 29446 29446 V GraphicsEnvironment: Currently set values for:
07-03 16:58:29.645 29446 29446 V GraphicsEnvironment: angle_gl_driver_selection_pkgs=[com.android.angle]
07-03 16:58:29.645 29446 29446 V GraphicsEnvironment: angle_gl_driver_selection_values=[angle]
07-03 16:58:29.645 29446 29446 V GraphicsEnvironment: io.homeassistant.companion.android is not listed in per-application setting
07-03 16:58:29.645 29446 29446 V GraphicsEnvironment: No special selections for ANGLE, returning default driver choice
07-03 16:58:29.645 29446 29446 V GraphicsEnvironment: Neither updatable production driver nor prerelease driver is supported.
07-03 16:58:29.653 29446 29446 I FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT]
07-03 16:58:29.654 29446 29446 I FirebaseInitProvider: FirebaseApp initialization successful
07-03 16:58:29.655 29446 29446 D WM-WrkMgrInitializer: Initializing WorkManager with default configuration.
07-03 16:58:29.657 29446 29446 D WM-PackageManagerHelper: Skipping component enablement for androidx.work.impl.background.systemjob.SystemJobService
07-03 16:58:29.657 29446 29446 D WM-Schedulers: Created SystemJobScheduler and enabled SystemJobService
07-03 16:58:29.657 29446 29464 D WM-ForceStopRunnable: The default process name was not specified.
07-03 16:58:29.657 29446 29464 D WM-ForceStopRunnable: Performing cleanup operations.
07-03 16:58:29.659 29446 29446 D Sentry : io.sentry.auto-init read: false
07-03 16:58:29.666 29446 29446 I WebViewFactory: Loading com.google.android.webview version 149.0.7827.159 (code 782715903)
--------- beginning of system
07-03 16:58:29.667 29446 29446 V ResourcesManager: The following library key has been added: ResourcesKey{ mHash=ad48fe4 mResDir=null mSplitDirs=[] mOverlayDirs=[] mLibDirs=[/data/app/~~MkKV2LZKDhZUQTqJnzhEpg==/com.google.android.webview-LWKXu-EYRJZbN_2fnK5JVg==/base.apk,/system/framework/android.test.base.jar,/system_ext/framework/androidx.window.extensions.jar] mDisplayId=0 mOverrideConfig=v36 mCompatInfo={420dpi always-compat} mLoaders=[]}
07-03 16:58:29.668 29446 29446 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.test.base.jar
07-03 16:58:29.668 29446 29446 D ApplicationLoaders: Returning zygote-cached class loader: /system_ext/framework/androidx.window.extensions.jar
07-03 16:58:29.672 29446 29446 D nativeloader: Configuring clns-10 for other apk /data/app/~~MkKV2LZKDhZUQTqJnzhEpg==/com.google.android.webview-LWKXu-EYRJZbN_2fnK5JVg==/base.apk. target_sdk_version=36, uses_libraries=, library_path=/data/app/~~MkKV2LZKDhZUQTqJnzhEpg==/com.google.android.webview-LWKXu-EYRJZbN_2fnK5JVg==/lib/arm64:/data/app/~~MkKV2LZKDhZUQTqJnzhEpg==/com.google.android.webview-LWKXu-EYRJZbN_2fnK5JVg==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand
07-03 16:58:29.675 29446 29464 D WM-SystemJobScheduler: Reconciling jobs
07-03 16:58:29.680 29446 29464 D WM-ForceStopRunnable: Application was force-stopped, rescheduling.
07-03 16:58:29.685 29446 29464 D WM-SystemJobScheduler: Scheduling work ID b6ed7c6f-caf7-43da-b696-d7a78c2aa5c4Job ID 315
07-03 16:58:29.686 29446 29464 D WM-SystemJobScheduler: Scheduling work ID 818a1f31-198a-43a9-b51c-6dd328fb9152Job ID 316
07-03 16:58:29.688 29446 29473 D WM-PackageManagerHelper: Skipping component enablement for androidx.work.impl.background.systemalarm.RescheduleReceiver
07-03 16:58:29.697 29446 29446 I cr_WVCFactoryProvider: version=149.0.7827.159 (782715903) minSdkVersion=29 multiprocess=true packageId=2 splits=config.arm64_v8a,config.xxhdpi
07-03 16:58:29.697 29446 29446 D DesktopExperienceFlags: Toggle override initialized to: false
07-03 16:58:29.701 29446 29446 D nativeloader: Load /data/app/~~MkKV2LZKDhZUQTqJnzhEpg==/com.google.android.webview-LWKXu-EYRJZbN_2fnK5JVg==/base.apk!/lib/arm64-v8a/libwebviewchromium.so using class loader ns clns-10 (caller=/data/app/~~MkKV2LZKDhZUQTqJnzhEpg==/com.google.android.webview-LWKXu-EYRJZbN_2fnK5JVg==/base.apk): ok
07-03 16:58:29.702 29446 29446 D nativeloader: Load /system/lib64/libwebviewchromium_plat_support.so using class loader ns clns-10 (caller=/data/app/~~MkKV2LZKDhZUQTqJnzhEpg==/com.google.android.webview-LWKXu-EYRJZbN_2fnK5JVg==/base.apk): ok
07-03 16:58:29.705 29446 29477 E chromium: [0703/165829.704906:ERROR:android_webview/browser/variations/variations_seed_loader.cc:39] Seed missing signature.
07-03 16:58:29.707 29446 29446 I cr_LibraryLoader: Successfully loaded native library
07-03 16:58:29.708 29446 29446 I cr_CachingUmaRecorder: Flushed 41 samples from 19 histograms, 0 samples were dropped.
07-03 16:58:29.788 29446 29446 I HomeAssistantApplication: Running 2026.6.5-full on SDK 36
07-03 16:58:29.806 29446 29446 D SensorReceiverBase: Received intent: android.net.wifi.WIFI_STATE_CHANGED
07-03 16:58:29.806 29446 29446 D SensorReceiverBase: Received intent: android.net.wifi.STATE_CHANGE
07-03 16:58:29.807 29446 29492 D SensorReceiverBase$onReceive: Sensor(s) [wifi_state] corresponding to received event android.net.wifi.WIFI_STATE_CHANGED are disabled, skipping sensors update
07-03 16:58:29.810 29446 29446 I cr_ChildProcLH: ScopedServiceBindingBatch.tryActivate: false
07-03 16:58:29.813 29446 29446 I cr_CombinedPProvider: #registerProvider() provider:WV.wk@17c1ed isPolicyCacheEnabled:false policyProvidersSize:0
07-03 16:58:29.813 29446 29446 I cr_PolicyProvider: #setManagerAndSource() 0
07-03 16:58:29.813 29446 29464 D WM-Processor: Processor cancelling 818a1f31-198a-43a9-b51c-6dd328fb9152
07-03 16:58:29.813 29446 29464 D WM-Processor: WorkerWrapper could not be found for 818a1f31-198a-43a9-b51c-6dd328fb9152
07-03 16:58:29.814 29446 29476 I cr_policy: registerReceiver succeeded after 1ms
07-03 16:58:29.814 29446 29446 I cr_DisplayManager: Is Display Topology available: false
07-03 16:58:29.817 29446 29464 D WM-GreedyScheduler: Cancelling work ID 818a1f31-198a-43a9-b51c-6dd328fb9152
07-03 16:58:29.819 29446 29446 D DesktopModeFlags: Toggle override initialized to: OVERRIDE_UNSET
07-03 16:58:29.820 29446 29446 I DisplayManager: Implicitly registering for refresh rate
07-03 16:58:29.829 29446 29446 I cr_CombinedPProvider: #linkNativeInternal() 1
07-03 16:58:29.829 29446 29446 I cr_AppResProvider: #getApplicationRestrictionsFromUserManager() Bundle[EMPTY_PARCEL]
07-03 16:58:29.829 29446 29446 I cr_PolicyProvider: #notifySettingsAvailable() 0
07-03 16:58:29.829 29446 29446 I cr_CombinedPProvider: #onSettingsAvailable() 0
07-03 16:58:29.829 29446 29446 I cr_CombinedPProvider: #flushPolicies()
07-03 16:58:29.789 29446 29446 W pool-11-thread-: type=1400 audit(0.0:1928): avc: denied { read } for name="version" dev="proc" ino=4026532005 scontext=u:r:untrusted_app:s0:c244,c256,c512,c768 tcontext=u:object_r:proc_version:s0 tclass=file permissive=0 app=io.homeassistant.companion.android
07-03 16:58:29.843 29446 29464 W JobInfo : Requested important-while-foreground flag for job317 is ignored and takes no effect
07-03 16:58:29.844 29446 29464 D WM-SystemJobScheduler: Scheduling work ID 4add6b66-3c85-4c1b-a6c6-964c584d10acJob ID 317
07-03 16:58:29.849 29446 29464 D WM-GreedyScheduler: Starting work for 4add6b66-3c85-4c1b-a6c6-964c584d10ac
07-03 16:58:29.851 29446 29464 D WM-Processor: Processor cancelling 4add6b66-3c85-4c1b-a6c6-964c584d10ac
07-03 16:58:29.851 29446 29464 D WM-Processor: WorkerWrapper could not be found for 4add6b66-3c85-4c1b-a6c6-964c584d10ac
07-03 16:58:29.853 29446 29464 D WM-GreedyScheduler: Cancelling work ID 4add6b66-3c85-4c1b-a6c6-964c584d10ac
07-03 16:58:29.854 29446 29464 W JobInfo : Requested important-while-foreground flag for job318 is ignored and takes no effect
07-03 16:58:29.854 29446 29464 D WM-SystemJobScheduler: Scheduling work ID 6dcd0861-546c-4679-8bd9-2943f82a30d5Job ID 318
07-03 16:58:29.857 29446 29464 D WM-GreedyScheduler: Starting work for 6dcd0861-546c-4679-8bd9-2943f82a30d5
07-03 16:58:29.857 29446 29464 W WM-Processor: Didn't find WorkSpec for id WorkGenerationalId(workSpecId=4add6b66-3c85-4c1b-a6c6-964c584d10ac, generation=0)
07-03 16:58:29.857 29446 29464 D WM-StopWorkRunnable: StopWorkRunnable for 4add6b66-3c85-4c1b-a6c6-964c584d10ac; Processor.stopWork = false
07-03 16:58:29.858 29446 29464 D WM-Processor: Processor: processing WorkGenerationalId(workSpecId=6dcd0861-546c-4679-8bd9-2943f82a30d5, generation=0)
07-03 16:58:29.877 29446 29446 W chromium: [WARNING:android_webview/browser/network_service/net_helpers.cc:137] HTTP Cache size is: 40152535
07-03 16:58:29.882 29446 29446 D HomeAssistantApplication$configureWebViewDebugging: Current webview package com.google.android.webview and version 149.0.7827.159
07-03 16:58:29.886 29446 29446 I cr_AppResProvider: #getApplicationRestrictionsFromUserManager() Bundle[EMPTY_PARCEL]
07-03 16:58:29.886 29446 29533 I CameraManagerGlobal: Connecting to camera service
07-03 16:58:29.886 29446 29446 I cr_PolicyProvider: #notifySettingsAvailable() 0
07-03 16:58:29.886 29446 29446 I cr_CombinedPProvider: #onSettingsAvailable() 0
07-03 16:58:29.886 29446 29446 I cr_CombinedPProvider: #flushPolicies()
07-03 16:58:29.886 29446 29446 D SensorReceiverBase: Received intent: android.media.RINGER_MODE_CHANGED
07-03 16:58:29.887 29446 29468 D SensorReceiverBase$onReceive: Sensor(s) [audio_sensor] corresponding to received event android.media.RINGER_MODE_CHANGED are disabled, skipping sensors update
07-03 16:58:29.889 29446 29535 D vulkan : searching for layers in '/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/lib/arm64'
07-03 16:58:29.890 29446 29535 D vulkan : searching for layers in '/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/base.apk!/lib/arm64-v8a'
07-03 16:58:29.891 29446 29535 D vulkan : searching for layers in '/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/split_config.arm64_v8a.apk!/lib/arm64-v8a'
07-03 16:58:29.895 29446 29535 D vulkan : searching for layers in '/data/app/~~XQE0ee5Rb0q5NVA_riRUFA==/io.homeassistant.companion.android-6QmKEwmDXL4j42oioyBdJg==/split_config.xxhdpi.apk!/lib/arm64-v8a'
07-03 16:58:29.903 29446 29446 D CompatChangeReporter: Compat change id reported: 377864165; UID 10244; state: ENABLED
07-03 16:58:29.905 29446 29446 I ContentCaptureHelper: Setting logging level to OFF
07-03 16:58:29.926 29446 29446 D WM-SystemJobService: 4add6b66-3c85-4c1b-a6c6-964c584d10ac executed on JobScheduler
07-03 16:58:29.926 29446 29446 D WM-WorkerWrapper: Starting work for io.homeassistant.companion.android.websocket.WebsocketManager
07-03 16:58:29.928 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@e93affe
07-03 16:58:29.929 29446 29472 D WM-GreedyScheduler: Cancelling work ID 4add6b66-3c85-4c1b-a6c6-964c584d10ac
07-03 16:58:29.941 29446 29446 D VRI[LaunchActivity]: WindowInsets changed: 1080x2400 statusBars:[0,136,0,0] navigationBars:[0,0,0,126] mandatorySystemGestures:[0,168,0,126]
07-03 16:58:29.951 29446 29464 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=6dcd0861-546c-4679-8bd9-2943f82a30d5, tags={ io.homeassistant.companion.android.websocket.WebsocketManager } ]
07-03 16:58:29.952 29446 29446 D WM-SystemJobService: onStartJob for WorkGenerationalId(workSpecId=6dcd0861-546c-4679-8bd9-2943f82a30d5, generation=0)
07-03 16:58:29.954 29446 29446 D WM-Processor: Processor 6dcd0861-546c-4679-8bd9-2943f82a30d5 executed; reschedule = false
07-03 16:58:29.954 29446 29446 D WM-SystemJobService: 6dcd0861-546c-4679-8bd9-2943f82a30d5 executed on JobScheduler
07-03 16:58:29.955 29446 29464 D WM-Processor: Processor: processing WorkGenerationalId(workSpecId=6dcd0861-546c-4679-8bd9-2943f82a30d5, generation=0)
07-03 16:58:29.956 29446 29464 D WM-GreedyScheduler: Cancelling work ID 6dcd0861-546c-4679-8bd9-2943f82a30d5
07-03 16:58:29.958 29446 29464 D WM-SystemJobScheduler: Scheduling work ID 6dcd0861-546c-4679-8bd9-2943f82a30d5Job ID 319
07-03 16:58:29.959 29446 29446 D LaunchViewModel: Server (id=2) is connected and registered checking network status
07-03 16:58:29.960 29446 29464 D WM-WorkerWrapper: Delaying execution for io.homeassistant.companion.android.websocket.WebsocketManager because it is being executed before schedule.
07-03 16:58:29.961 29446 29464 D WM-WorkerWrapper: Status for 6dcd0861-546c-4679-8bd9-2943f82a30d5 is ENQUEUED; not doing any work and rescheduling for later execution
07-03 16:58:29.963 29446 29446 D WM-SystemJobService: onStopJob for WorkGenerationalId(workSpecId=6dcd0861-546c-4679-8bd9-2943f82a30d5, generation=0)
07-03 16:58:29.966 29446 29469 D NetworkChangeObserverImpl$observerNetworkChange: Register network callback
07-03 16:58:29.969 29446 29496 D LocationSensorManager: Registering for zone based location updates
07-03 16:58:29.971 29446 29446 I LaunchViewModel: Current network state READY_NET_VALIDATED
07-03 16:58:29.971 29446 29492 D NetworkChangeObserverImpl$observerNetworkChange: Unregister network callback
07-03 16:58:29.972 29446 29473 D WM-SystemJobScheduler: Scheduling work ID 6dcd0861-546c-4679-8bd9-2943f82a30d5Job ID 319
07-03 16:58:29.974 29446 29473 W JobInfo : Requested important-while-foreground flag for job320 is ignored and takes no effect
07-03 16:58:29.974 29446 29473 D WM-SystemJobScheduler: Scheduling work ID f6243e68-2171-4a77-be85-65e7c6134bbdJob ID 320
07-03 16:58:29.977 29446 29473 D WM-GreedyScheduler: Starting tracking for f6243e68-2171-4a77-be85-65e7c6134bbd
07-03 16:58:29.978 29446 29473 D WM-WorkConstraintsTrack: NetworkRequestConstraintController register shared callback
07-03 16:58:29.981 29446 29483 D WM-WorkConstraintsTrack: NetworkRequestConstraintController onCapabilitiesChanged callback
07-03 16:58:29.981 29446 29483 D WM-WorkConstraintsTrack: Not dispatching constraint state yet: isBlocked=null, capabilitiesInitialized=true
07-03 16:58:29.981 29446 29483 D WM-WorkConstraintsTrack: NetworkRequestConstraintController onBlockedStatusChanged callback false
07-03 16:58:29.981 29446 29471 D WM-GreedyScheduler: Constraints met: Scheduling work ID WorkGenerationalId(workSpecId=f6243e68-2171-4a77-be85-65e7c6134bbd, generation=0)
07-03 16:58:29.981 29446 29471 D WM-Processor: Processor: processing WorkGenerationalId(workSpecId=f6243e68-2171-4a77-be85-65e7c6134bbd, generation=0)
07-03 16:58:29.998 29446 29446 D WM-Processor: Processor 6dcd0861-546c-4679-8bd9-2943f82a30d5 executed; reschedule = true
07-03 16:58:29.998 29446 29446 D WM-SystemJobService: 6dcd0861-546c-4679-8bd9-2943f82a30d5 executed on JobScheduler
07-03 16:58:30.000 29446 29446 D WM-WorkerWrapper: Starting work for io.homeassistant.companion.android.common.util.ResyncRegistrationWorker
07-03 16:58:30.001 29446 29471 D WM-GreedyScheduler: Cancelling work ID 6dcd0861-546c-4679-8bd9-2943f82a30d5
07-03 16:58:30.006 29446 29446 D VRI[LaunchActivity]: visibilityChanged oldVisibility=true newVisibility=false
07-03 16:58:30.009 29446 29446 D WM-SystemJobService: onStartJob for WorkGenerationalId(workSpecId=f6243e68-2171-4a77-be85-65e7c6134bbd, generation=0)
07-03 16:58:30.009 29446 29473 D WM-Processor: Work WorkGenerationalId(workSpecId=f6243e68-2171-4a77-be85-65e7c6134bbd, generation=0) is already enqueued for processing
07-03 16:58:30.017 29446 29446 D CompatChangeReporter: Compat change id reported: 386727721; UID 10244; state: ENABLED
07-03 16:58:30.042 29446 29446 I ContentCaptureHelper: Setting logging level to OFF
07-03 16:58:30.044 29446 29464 D WM-Processor: Processor cancelling b6ed7c6f-caf7-43da-b696-d7a78c2aa5c4
07-03 16:58:30.044 29446 29464 D WM-Processor: WorkerWrapper could not be found for b6ed7c6f-caf7-43da-b696-d7a78c2aa5c4
07-03 16:58:30.047 29446 29464 D WM-GreedyScheduler: Cancelling work ID b6ed7c6f-caf7-43da-b696-d7a78c2aa5c4
07-03 16:58:30.047 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@3912c86
07-03 16:58:30.048 29446 29464 W JobInfo : Requested important-while-foreground flag for job321 is ignored and takes no effect
07-03 16:58:30.048 29446 29464 D WM-SystemJobScheduler: Scheduling work ID c20f8121-37e5-4f60-94f9-44c5269160c9Job ID 321
07-03 16:58:30.049 29446 29446 D VRI[WebViewActivity]: WindowInsets changed: 1080x2400 statusBars:[0,136,0,0] navigationBars:[0,0,0,126] mandatorySystemGestures:[0,168,0,126]
07-03 16:58:30.051 29446 29464 D WM-GreedyScheduler: Starting tracking for c20f8121-37e5-4f60-94f9-44c5269160c9
07-03 16:58:30.051 29446 29464 D WM-GreedyScheduler: Starting tracking for c20f8121-37e5-4f60-94f9-44c5269160c9
07-03 16:58:30.052 29446 29464 D WM-WorkConstraintsTrack: NetworkRequestConstraintController send initial capabilities
07-03 16:58:30.052 29446 29464 D WM-GreedyScheduler: Constraints met: Scheduling work ID WorkGenerationalId(workSpecId=c20f8121-37e5-4f60-94f9-44c5269160c9, generation=0)
07-03 16:58:30.053 29446 29464 D WM-Processor: Processor: processing WorkGenerationalId(workSpecId=c20f8121-37e5-4f60-94f9-44c5269160c9, generation=0)
07-03 16:58:30.126 29446 29446 I ContentCaptureHelper: Setting logging level to OFF
07-03 16:58:30.129 29446 29446 D WebViewActivity$onCreate: Matter/Thread step changed to NOT_STARTED
07-03 16:58:30.131 29446 29472 D WM-Processor: Processor cancelling 6dcd0861-546c-4679-8bd9-2943f82a30d5
07-03 16:58:30.131 29446 29472 D WM-Processor: WorkerWrapper could not be found for 6dcd0861-546c-4679-8bd9-2943f82a30d5
07-03 16:58:30.132 29446 29446 D WM-SystemJobService: onStartJob for WorkGenerationalId(workSpecId=c20f8121-37e5-4f60-94f9-44c5269160c9, generation=0)
07-03 16:58:30.132 29446 29472 D WM-GreedyScheduler: Cancelling work ID 6dcd0861-546c-4679-8bd9-2943f82a30d5
07-03 16:58:30.132 29446 29446 D WM-WorkerWrapper: Starting work for io.homeassistant.companion.android.sensors.SensorWorker
07-03 16:58:30.135 29446 29472 W JobInfo : Requested important-while-foreground flag for job322 is ignored and takes no effect
07-03 16:58:30.135 29446 29472 D WM-SystemJobScheduler: Scheduling work ID 0142c899-892e-4ccb-a8e3-731cde08b896Job ID 322
07-03 16:58:30.137 29446 29472 D WM-GreedyScheduler: Starting work for 0142c899-892e-4ccb-a8e3-731cde08b896
07-03 16:58:30.138 29446 29472 D WM-Processor: Work WorkGenerationalId(workSpecId=c20f8121-37e5-4f60-94f9-44c5269160c9, generation=0) is already enqueued for processing
07-03 16:58:30.138 29446 29472 I WM-Processor: Moving WorkSpec (c20f8121-37e5-4f60-94f9-44c5269160c9) to the foreground
07-03 16:58:30.143 29446 29446 D WM-SystemJobService: onStartJob for WorkGenerationalId(workSpecId=0142c899-892e-4ccb-a8e3-731cde08b896, generation=0)
07-03 16:58:30.143 29446 29470 D SensorWorkerBase$doWork: Updating all Sensors in foreground.
07-03 16:58:30.144 29446 29472 D WM-Processor: Processor: processing WorkGenerationalId(workSpecId=0142c899-892e-4ccb-a8e3-731cde08b896, generation=0)
07-03 16:58:30.144 29446 29472 D WM-Processor: Work WorkGenerationalId(workSpecId=0142c899-892e-4ccb-a8e3-731cde08b896, generation=0) is already enqueued for processing
07-03 16:58:30.144 29446 29446 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND xflg=0x4 cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
07-03 16:58:30.144 29446 29446 D WM-SystemFgDispatcher: Notifying with (id:42, workSpecId: c20f8121-37e5-4f60-94f9-44c5269160c9, notificationType :1)
07-03 16:58:30.145 29446 29472 D WM-WorkConstraintsTrack: NetworkRequestConstraintController send initial capabilities
07-03 16:58:30.147 29446 29446 D WM-SystemFgDispatcher: Notifying with (id:42, workSpecId: c20f8121-37e5-4f60-94f9-44c5269160c9, notificationType :1)
07-03 16:58:30.153 29446 29527 D AudioSystem: onNewService: media.audio_policy service obtained 0xb4000073f48c4990
07-03 16:58:30.155 29446 29446 D WM-WorkerWrapper: Starting work for io.homeassistant.companion.android.websocket.WebsocketManager
07-03 16:58:30.156 29446 29446 W ServerManagerImpl: Activate with SERVER_ID_ACTIVE is not doing anything
07-03 16:58:30.156 29446 29527 D AudioSystem: getService: IAudioPolicyService retrieved: 0xb4000073f48c4990 cached: 0xb4000073f48c4990
07-03 16:58:30.160 29446 29446 D IntegrationRepositoryImpl: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1783090629930, currentMillis: 1783090710160)
07-03 16:58:30.161 29446 29446 D IntegrationRepositoryImpl: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1783090629930, currentMillis: 1783090710161)
07-03 16:58:30.162 29446 29446 D InsetsController: hide(ime())
07-03 16:58:30.162 29446 29446 I ImeTracker: io.homeassistant.companion.android:6e4f22ca: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
07-03 16:58:30.163 29446 29446 D IntegrationRepositoryImpl: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1783090629930, currentMillis: 1783090710163)
07-03 16:58:30.168 29446 29472 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=0142c899-892e-4ccb-a8e3-731cde08b896, tags={ io.homeassistant.companion.android.websocket.WebsocketManager } ]
07-03 16:58:30.169 29446 29493 D NetworkChangeObserverImpl$observerNetworkChange: Register network callback
07-03 16:58:30.183 29446 29566 W chromium: [WARNING:android_webview/browser/gfx/display_webview.cc:33] WebView overlays are enabled!
07-03 16:58:30.188 29446 29446 D WM-Processor: Processor 0142c899-892e-4ccb-a8e3-731cde08b896 executed; reschedule = false
07-03 16:58:30.188 29446 29446 D WM-SystemJobService: 0142c899-892e-4ccb-a8e3-731cde08b896 executed on JobScheduler
07-03 16:58:30.191 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): null
07-03 16:58:30.192 29446 29446 D ViewRootImpl: Skipping stats log for color mode
07-03 16:58:30.208 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:30.209 29446 29446 D WebViewActivity: Loading HIDDEN (keepHistory true, openInApp true, serverHandleInsets false)
07-03 16:58:30.209 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): androidx.navigationevent.OnBackInvokedInput$createOnBackAnimationCallback$1@77caa28
07-03 16:58:30.209 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@3912c86
07-03 16:58:30.210 29446 29464 D WM-GreedyScheduler: Cancelling work ID 0142c899-892e-4ccb-a8e3-731cde08b896
07-03 16:58:30.211 29446 29464 D WM-SystemJobScheduler: Scheduling work ID 0142c899-892e-4ccb-a8e3-731cde08b896Job ID 323
07-03 16:58:30.213 29446 29446 D WebViewActivity: Waiting for loadedUrl HIDDEN
07-03 16:58:30.225 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:30.228 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:30.229 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:30.231 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:30.235 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:30.237 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:30.281 29446 29493 D LocationSensorManager: Zone enabled servers changed. Reconfigure zones.
07-03 16:58:30.281 29446 29493 D LocationSensorManager: Removing geofence location requests.
07-03 16:58:30.282 29446 29493 D LocationSensorManager: Registering for zone based location updates
07-03 16:58:30.416 29446 29621 I HWUI : Using FreeType backend (prop=Auto)
07-03 16:58:30.508 29446 29496 D LocationSensorManager: Registering for location updates.
07-03 16:58:30.601 29446 29493 D LocationSensorManager: Background location updates appear to have stopped, restarting location updates
07-03 16:58:30.602 29446 29493 D LocationSensorManager: Removing background location requests.
07-03 16:58:30.608 29446 29493 D LocationSensorManager: Registering for location updates.
07-03 16:58:30.729 29446 29446 D LocationSensorManager: Received geofence update.
07-03 16:58:30.730 29446 29446 D WebViewActivity: External bus id=1 type=config/get raw=HIDDEN
07-03 16:58:30.731 29446 29446 D WebViewActivity: Sending: externalBus({"id":1,"type":"result","success":true,"result":{"hasSettingsScreen":true,"canWriteTag":true,"hasExoPlayer":true,"canCommissionMatter":true,"canImportThreadCredentials":true,"hasAssist":true,"hasBarCodeScanner":1,"canSetupImprov":true,"downloadFileSupported":true,"appVersion":"2026.6.5-full (22884)","hasEntityAddTo":true,"hasAssistSettings":true}});
07-03 16:58:30.734 29446 29446 D LocationSensorManager: Received geofence update.
07-03 16:58:30.735 29446 29588 D LocationSensorManager: Last Location:
07-03 16:58:30.735 29446 29588 D LocationSensorManager: Coords:(52.5260059, 11.4111706)
07-03 16:58:30.735 29446 29588 D LocationSensorManager: Accuracy: 24.756
07-03 16:58:30.735 29446 29588 D LocationSensorManager: Bearing: 0.0
07-03 16:58:30.739 29446 29493 D LocationSensorManager: Begin evaluating if location update should be skipped
07-03 16:58:30.739 29446 29493 D LocationSensorManager: Received location that is 104743 milliseconds old, 1783090605996 compared to 1783090710739 with source fused
07-03 16:58:30.740 29446 29493 D LocationSensorManager: Last Location:
07-03 16:58:30.740 29446 29493 D LocationSensorManager: Coords:(52.5260059, 11.4111706)
07-03 16:58:30.740 29446 29493 D LocationSensorManager: Accuracy: 24.756
07-03 16:58:30.740 29446 29493 D LocationSensorManager: Bearing: 0.0
07-03 16:58:30.743 29446 29587 D LocationSensorManager: Begin evaluating if location update should be skipped
07-03 16:58:30.744 29446 29587 D LocationSensorManager: Received location that is 104747 milliseconds old, 1783090605996 compared to 1783090710743 with source fused
07-03 16:58:30.819 29446 29446 D ExternalConfigResponse: Callback from external config (id=1): null
07-03 16:58:30.822 29446 29446 D WebViewActivity$getAndSetStatusBarNavigationBarColors: Color from webview is "#1c1c1c-SPACER-#111111"
07-03 16:58:30.822 29446 29496 D WebViewPresenterImpl$parseWebViewColor: Try getting color from webview color "#1c1c1c".
07-03 16:58:30.822 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:30.822 29446 29496 I WebViewPresenterImpl$parseWebViewColor: Found color -14935012.
07-03 16:58:30.823 29446 29469 D WebViewPresenterImpl$parseWebViewColor: Try getting color from webview color "#111111".
07-03 16:58:30.824 29446 29469 I WebViewPresenterImpl$parseWebViewColor: Found color -15658735.
07-03 16:58:30.840 29446 29493 D LocationSensorManager$handleGeoUpdate: Event sent to Home Assistant
07-03 16:58:30.845 29446 29586 D LocationSensorManager$handleGeoUpdate: Event sent to Home Assistant
07-03 16:58:30.847 29446 29496 D LocationSensorManager$handleGeoUpdate: Event sent to Home Assistant
07-03 16:58:30.999 29446 29468 D LocationSensorManager$sendLocationUpdate: Location update sent successfully for 2 as exact
07-03 16:58:31.151 29446 29470 D LocationSensorManager$sendLocationUpdate: Location update sent successfully for 2 as exact
07-03 16:58:31.155 29446 29493 I SensorReceiverBase: Sensor updates and sync completed
07-03 16:58:31.155 29446 29468 I SensorReceiverBase: Sensor updates and sync completed
07-03 16:58:31.156 29446 29472 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=c20f8121-37e5-4f60-94f9-44c5269160c9, tags={ io.homeassistant.companion.android.sensors.SensorWorker } ]
07-03 16:58:31.161 29446 29446 D WM-Processor: Processor c20f8121-37e5-4f60-94f9-44c5269160c9 executed; reschedule = false
07-03 16:58:31.162 29446 29446 D WM-GreedyScheduler: Stopping tracking for WorkGenerationalId(workSpecId=c20f8121-37e5-4f60-94f9-44c5269160c9, generation=0)
07-03 16:58:31.162 29446 29446 D WM-SystemJobService: c20f8121-37e5-4f60-94f9-44c5269160c9 executed on JobScheduler
07-03 16:58:31.162 29446 29446 D WM-SystemFgDispatcher: Removing Notification (id: 42, workSpecId: WorkGenerationalId(workSpecId=c20f8121-37e5-4f60-94f9-44c5269160c9, generation=0), notificationType: 1
07-03 16:58:31.162 29446 29446 I WM-SystemFgDispatcher: Stopping foreground service
07-03 16:58:31.162 29446 29446 D WM-SystemFgService: Shutting down.
07-03 16:58:31.165 29446 29493 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:31.165 29446 29464 D WM-GreedyScheduler: Cancelling work ID c20f8121-37e5-4f60-94f9-44c5269160c9
07-03 16:58:31.166 29446 29493 D WebSocketCoreImpl: Creating WebSocket connection
07-03 16:58:31.167 29446 29496 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:31.168 29446 29446 D WM-SystemJobService: onStopJob for WorkGenerationalId(workSpecId=c20f8121-37e5-4f60-94f9-44c5269160c9, generation=0)
07-03 16:58:31.168 29446 29464 D WM-SystemJobScheduler: Scheduling work ID c20f8121-37e5-4f60-94f9-44c5269160c9Job ID 324
07-03 16:58:31.169 29446 29468 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:31.169 29446 29494 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:31.170 29446 29493 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:31.728 29446 29611 D WebSocketCoreImpl: Websocket: onOpen
07-03 16:58:31.729 29446 29611 D WebSocketCoreImpl: Websocket: onMessage (text: HIDDEN)
07-03 16:58:31.731 29446 29611 D WebSocketCoreImpl: Message id null received
07-03 16:58:31.731 29446 29611 D WebSocketCoreImpl: Auth Requested
07-03 16:58:31.879 29446 29611 D WebSocketCoreImpl: Websocket: onMessage (text: HIDDEN)
07-03 16:58:31.880 29446 29611 D WebSocketCoreImpl: Message id null received
07-03 16:58:31.880 29446 29494 D WebSocketCoreImpl: Sending message 1: {type=supported_features, id=1, features={coalesce_messages=1}}
07-03 16:58:31.881 29446 29585 D WebSocketCoreImpl: Sending message 2: {type=auth/current_user, id=2}
07-03 16:58:32.044 29446 29611 D WebSocketCoreImpl: Websocket: onMessage (text: HIDDEN)
07-03 16:58:32.046 29446 29611 D WebSocketCoreImpl: Message id 1 received
07-03 16:58:32.049 29446 29494 W WebSocketCoreImpl: Response for message not in activeMessage id(1) skipping
07-03 16:58:32.201 29446 29611 D WebSocketCoreImpl: Websocket: onMessage (text: HIDDEN)
07-03 16:58:32.202 29446 29611 D WebSocketCoreImpl: Message id 2 received
07-03 16:58:32.214 29446 29471 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=f6243e68-2171-4a77-be85-65e7c6134bbd, tags={ io.homeassistant.companion.android.common.util.ResyncRegistrationWorker } ]
07-03 16:58:32.216 29446 29446 D WM-Processor: Processor f6243e68-2171-4a77-be85-65e7c6134bbd executed; reschedule = false
07-03 16:58:32.216 29446 29446 D WM-GreedyScheduler: Stopping tracking for WorkGenerationalId(workSpecId=f6243e68-2171-4a77-be85-65e7c6134bbd, generation=0)
07-03 16:58:32.217 29446 29446 D WM-SystemJobService: f6243e68-2171-4a77-be85-65e7c6134bbd executed on JobScheduler
07-03 16:58:32.230 29446 29471 D WM-GreedyScheduler: Cancelling work ID f6243e68-2171-4a77-be85-65e7c6134bbd
07-03 16:58:32.234 29446 29464 D WM-WorkConstraintsTrack: NetworkRequestConstraintController unregister shared callback
07-03 16:58:33.483 29446 29446 D WebViewActivity: External bus id=1 type=config/get raw=HIDDEN
07-03 16:58:33.484 29446 29446 D WebViewActivity: Sending: externalBus({"id":1,"type":"result","success":true,"result":{"hasSettingsScreen":true,"canWriteTag":true,"hasExoPlayer":true,"canCommissionMatter":true,"canImportThreadCredentials":true,"hasAssist":true,"hasBarCodeScanner":1,"canSetupImprov":true,"downloadFileSupported":true,"appVersion":"2026.6.5-full (22884)","hasEntityAddTo":true,"hasAssistSettings":true}});
07-03 16:58:33.486 29446 29446 D ExternalConfigResponse: Callback from external config (id=1): null
07-03 16:58:33.486 29446 29446 E WebViewActivity: Cannot set status bar color. Skipping coloring...
07-03 16:58:33.486 29446 29446 E WebViewActivity: Cannot set background color. Skipping coloring...
07-03 16:58:33.488 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:33.599 29446 29446 D TLSWebViewClient: onReceivedClientCertRequest invoked looking for cert in local storage or ask the user for it
07-03 16:58:34.416 29446 29446 D WebViewActivity: External bus id=1 type=config/get raw=HIDDEN
07-03 16:58:34.417 29446 29446 D WebViewActivity: Sending: externalBus({"id":1,"type":"result","success":true,"result":{"hasSettingsScreen":true,"canWriteTag":true,"hasExoPlayer":true,"canCommissionMatter":true,"canImportThreadCredentials":true,"hasAssist":true,"hasBarCodeScanner":1,"canSetupImprov":true,"downloadFileSupported":true,"appVersion":"2026.6.5-full (22884)","hasEntityAddTo":true,"hasAssistSettings":true}});
07-03 16:58:34.421 29446 29446 D ExternalConfigResponse: Callback from external config (id=1): null
07-03 16:58:34.421 29446 29446 E WebViewActivity: Cannot set status bar color. Skipping coloring...
07-03 16:58:34.421 29446 29446 E WebViewActivity: Cannot set background color. Skipping coloring...
07-03 16:58:34.424 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:34.846 29446 29717 D ProfileInstaller: Skipping profile installation for io.homeassistant.companion.android
07-03 16:58:34.980 29446 29446 D WebViewActivity: External bus id=2 type=connection-status raw=HIDDEN
07-03 16:58:36.122 29446 29446 D WebViewActivity: External bus id=3 type=theme-update raw=HIDDEN
07-03 16:58:36.146 29446 29446 D WebViewActivity$getAndSetStatusBarNavigationBarColors: Color from webview is "#1c1c1c-SPACER-#111111"
07-03 16:58:36.147 29446 29493 D WebViewPresenterImpl$parseWebViewColor: Try getting color from webview color "#1c1c1c".
07-03 16:58:36.147 29446 29493 I WebViewPresenterImpl$parseWebViewColor: Found color -14935012.
07-03 16:58:36.147 29446 29493 D WebViewPresenterImpl$parseWebViewColor: Try getting color from webview color "#111111".
07-03 16:58:36.147 29446 29493 I WebViewPresenterImpl$parseWebViewColor: Found color -15658735.
07-03 16:58:39.591 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): androidx.navigationevent.OnBackInvokedInput$createOnBackAnimationCallback$1@77caa28
07-03 16:58:40.790 29446 29494 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:40.790 29446 29446 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:41.740 29446 29446 D WebViewActivity: External bus id=4 type=config_screen/show raw=HIDDEN
07-03 16:58:41.767 29446 29446 D SensorReceiverBase: Received intent: io.homeassistant.companion.android.UPDATE_SENSORS
07-03 16:58:41.810 29446 29446 I ContentCaptureHelper: Setting logging level to OFF
07-03 16:58:41.815 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@1983be4
07-03 16:58:41.815 29446 29446 D VRI[SettingsActivity]: WindowInsets changed: 1080x2400 statusBars:[0,136,0,0] navigationBars:[0,0,0,126] mandatorySystemGestures:[0,168,0,126]
07-03 16:58:41.819 29446 29587 D LocationSensorManager: Background location updates appear to have stopped, restarting location updates
07-03 16:58:41.819 29446 29587 D LocationSensorManager: Removing background location requests.
07-03 16:58:41.824 29446 29635 D LocationSensorManager: Registering for location updates.
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 W TextView: onProvideContentCaptureStructure(): calling assumeLayout()
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 W TextView: onProvideContentCaptureStructure(): calling assumeLayout()
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 W TextView: onProvideContentCaptureStructure(): calling assumeLayout()
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 W TextView: onProvideContentCaptureStructure(): calling assumeLayout()
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 W TextView: onProvideContentCaptureStructure(): calling assumeLayout()
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.868 29446 29446 W TextView: onProvideContentCaptureStructure(): calling assumeLayout()
07-03 16:58:41.870 29446 29446 D IntegrationRepositoryImpl: setAppActive(): false
07-03 16:58:41.870 29446 29446 D IntegrationRepositoryImpl: setAppActive(): false
07-03 16:58:41.945 29446 29446 D IntegrationRepositoryImpl: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1783090629930, currentMillis: 1783090721945)
07-03 16:58:41.956 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.972 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:41.991 29446 29446 D InsetsController: hide(ime())
07-03 16:58:41.991 29446 29446 I ImeTracker: io.homeassistant.companion.android:2b572222: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
07-03 16:58:41.992 29446 29446 D IntegrationRepositoryImpl: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1783090629930, currentMillis: 1783090721992)
07-03 16:58:41.993 29446 29446 D IntegrationRepositoryImpl: setAppActive(): true
07-03 16:58:42.044 29446 29470 D SensorReceiverBase: Nothing to update for server 2 (Home)
07-03 16:58:42.044 29446 29470 I SensorReceiverBase: Sensor updates and sync completed
07-03 16:58:42.388 29446 29446 D VRI[WebViewActivity]: visibilityChanged oldVisibility=true newVisibility=false
07-03 16:58:42.389 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@3912c86
07-03 16:58:43.432 29446 29446 E mpanion.android: Invalid resource ID 0x00000000.
07-03 16:58:43.466 29446 29446 I ContentCaptureHelper: Setting logging level to OFF
07-03 16:58:43.470 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@fa0e3ea
07-03 16:58:43.482 29446 29446 D VRI[SettingsWearActivity]: WindowInsets changed: 1080x2400 statusBars:[0,136,0,0] navigationBars:[0,0,0,126] mandatorySystemGestures:[0,168,0,126]
07-03 16:58:43.532 29446 29446 D SettingsWearViewModel$settingsWearOnboardingViewUiState: Missing on all devices
07-03 16:58:43.532 29446 29446 D SettingsWearViewModel: Capable Nodes: [Node{OnePlus Watch 4 017Y, id=1c8ec1c5, hops=1, isNearby=true}, Node{TicWatch Pro 5 Enduro 1019, id=3eed9bb9, hops=2147483647, isNearby=false}, Node{TicWatch Pro 4G 0485, id=f359ac17, hops=2147483647, isNearby=false}]
07-03 16:58:43.532 29446 29446 D SettingsWearViewModel$settingsWearOnboardingViewUiState: Installed on all devices
07-03 16:58:43.544 29446 29446 D SettingsWearViewModel: Requesting config from node 1c8ec1c5
07-03 16:58:43.553 29446 29446 D SettingsWearViewModel: Request for config sent successfully
07-03 16:58:43.553 29446 29446 D IntegrationRepositoryImpl: setAppActive(): false
07-03 16:58:43.553 29446 29446 D IntegrationRepositoryImpl: setAppActive(): false
07-03 16:58:43.556 29446 29446 I ContentCaptureHelper: Setting logging level to OFF
07-03 16:58:43.562 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@9273943
07-03 16:58:43.568 29446 29446 D VRI[SettingsWearMainView]: WindowInsets changed: 1080x2400 statusBars:[0,136,0,0] navigationBars:[0,0,0,126] mandatorySystemGestures:[0,168,0,126]
07-03 16:58:43.582 29446 29446 D SettingsWearViewModel: Requesting config from node 1c8ec1c5
07-03 16:58:43.585 29446 29446 D SettingsWearViewModel: Request for config sent successfully
07-03 16:58:43.589 29446 29446 D VRI[SettingsActivity]: visibilityChanged oldVisibility=true newVisibility=false
07-03 16:58:43.597 29446 29535 D HWUI : endAllActiveAnimators on 0xb40000750499b2f0 (RippleDrawable) with handle 0xb400007594946dc0
07-03 16:58:43.687 29446 29446 D InsetsController: hide(ime())
07-03 16:58:43.687 29446 29446 I ImeTracker: io.homeassistant.companion.android:170a6d3e: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
07-03 16:58:44.086 29446 29446 D VRI[SettingsWearActivity]: visibilityChanged oldVisibility=true newVisibility=false
07-03 16:58:44.117 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): null
07-03 16:58:44.119 29446 29446 D ViewRootImpl: Skipping stats log for color mode
07-03 16:58:44.122 29446 29446 D SettingsWearViewModel: onDataChanged 1
07-03 16:58:44.911 29446 29446 I ContentCaptureHelper: Setting logging level to OFF
07-03 16:58:44.915 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@c39212c
07-03 16:58:44.916 29446 29446 D VRI[LaunchActivity]: WindowInsets changed: 1080x2400 statusBars:[0,136,0,0] navigationBars:[0,0,0,126] mandatorySystemGestures:[0,168,0,126]
07-03 16:58:44.972 29446 29446 D ServerConnectionStateProviderImpl: Using external URL
07-03 16:58:44.978 29446 29483 D HomeAssistantSearcherKt$getDiscoveryListener: Service discovery started
07-03 16:58:45.069 29446 29446 D InsetsController: hide(ime())
07-03 16:58:45.069 29446 29446 I ImeTracker: io.homeassistant.companion.android:43c0201a: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
07-03 16:58:45.464 29446 29446 D VRI[SettingsWearMainView]: visibilityChanged oldVisibility=true newVisibility=false
07-03 16:58:45.481 29446 29535 D HWUI : endAllActiveAnimators on 0xb4000075049a06a0 (UnprojectedRipple) with handle 0xb400007594943af0
07-03 16:58:46.017 29446 29446 D LocationSensorManager: Received location update.
07-03 16:58:46.739 29446 29635 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:47.245 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): androidx.navigationevent.OnBackInvokedInput$createOnBackAnimationCallback$1@8665a54
07-03 16:58:47.269 29446 29446 D ConnectionViewModel: Building auth url based on https:///
07-03 16:58:47.270 29446 29446 D ConnectionViewModel: Auth url is: https:///auth/authorize?response_type=code&client_id=https://home-assistant.io/android&redirect_uri=homeassistant://auth-callback
07-03 16:58:47.312 29446 29446 I cr_A11yState: Enabled accessibility services list updated. [com.x8bit.bitwarden/.Accessibility.AccessibilityService]
07-03 16:58:47.313 29446 29446 I cr_A11yState: Informing listeners of changes.
07-03 16:58:47.313 29446 29446 I cr_A11yState: New AccessibilityState: State{isComplexUserInteractionServiceEnabled=false, isTouchExplorationEnabled=false, isPerformGesturesEnabled=false, isAnyAccessibilityServiceEnabled=true, isAccessibilityToolPresent=false, isTextShowPasswordEnabled=true, isOnlyAutofillRunning=false, isOnlyPasswordManagersEnabled=true, isKnownScreenReaderEnabled=false}
07-03 16:58:47.330 29446 29566 W chromium: [WARNING:android_webview/browser/gfx/display_webview.cc:33] WebView overlays are enabled!
07-03 16:58:48.358 29446 29446 I AutofillManager: showAutofillDialog() return false due to improve fill dialog
07-03 16:58:48.364 29446 29446 I ImeTracker: io.homeassistant.companion.android:ddc6dc8: onRequestShow at ORIGIN_CLIENT reason SHOW_SOFT_INPUT fromUser false userId 0 displayId 0
07-03 16:58:48.371 29446 29446 D InsetsController: show(ime())
07-03 16:58:48.371 29446 29446 D InsetsController: Setting requestedVisibleTypes to 511 (was 503)
07-03 16:58:48.376 29446 29446 I AssistStructure: Flattened final assist data: 3196 bytes, containing 1 windows, 7 views
07-03 16:58:48.417 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.view.ImeBackAnimationController@8c550e2
07-03 16:58:48.474 29446 29446 D VRI[LaunchActivity]: WindowInsets changed: ime:[0,0,0,1048]
07-03 16:58:48.476 29446 29446 W InteractionJankMonitor: Initializing without READ_DEVICE_CONFIG permission. enabled=false, interval=1, missedFrameThreshold=3, frameTimeThreshold=64, package=io.homeassistant.companion.android
07-03 16:58:48.784 29446 29446 I ImeTracker: io.homeassistant.companion.android:ddc6dc8: onShown
07-03 16:58:49.368 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): androidx.navigationevent.OnBackInvokedInput$createOnBackAnimationCallback$1@8665a54
07-03 16:58:49.368 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.view.ImeBackAnimationController@8c550e2
07-03 16:58:50.349 29446 29446 I ImeTracker: io.homeassistant.companion.android:3907e24a: onRequestHide at ORIGIN_CLIENT reason HIDE_SOFT_INPUT fromUser false userId 0 displayId 0
07-03 16:58:50.349 29446 29446 D InsetsController: hide(ime())
07-03 16:58:50.349 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): androidx.navigationevent.OnBackInvokedInput$createOnBackAnimationCallback$1@8665a54
07-03 16:58:50.349 29446 29446 D InsetsController: Setting requestedVisibleTypes to 503 (was 511)
07-03 16:58:50.350 29446 29446 D CompatChangeReporter: Compat change id reported: 395521150; UID 10244; state: ENABLED
07-03 16:58:50.352 29446 29446 D VRI[LaunchActivity]: WindowInsets changed: ime:null
07-03 16:58:50.370 29446 29446 I ImeTracker: system_server:ab28d33f: onCancelled at PHASE_CLIENT_ON_CONTROLS_CHANGED
07-03 16:58:50.821 29446 29451 W mpanion.android: Cleared Reference was only reachable from finalizer (only reported once)
07-03 16:58:51.528 29446 29446 D HAWebViewKt: onRelease WebView, stopping loading
07-03 16:58:52.210 29446 29446 D ViewRootImpl: Skipping stats log for color mode
07-03 16:58:52.232 29446 29446 D SettingsWearViewModel: Successfully sent auth to wear
07-03 16:58:52.269 29446 29446 D InsetsController: hide(ime())
07-03 16:58:52.269 29446 29446 I ImeTracker: io.homeassistant.companion.android:4dcb1400: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
07-03 16:58:52.757 29446 29446 D VRI[LaunchActivity]: visibilityChanged oldVisibility=true newVisibility=false
07-03 16:58:52.761 29446 29587 D ServerConnectionStateProviderImplKt: Using external URL
07-03 16:58:52.763 29446 29535 D HWUI : endAllActiveAnimators on 0xb4000075049c1680 (UnprojectedRipple) with handle 0xb4000075948b7de0
07-03 16:58:52.771 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@c39212c
07-03 16:58:52.778 29446 29446 I AutofillManager: onInvisibleForAutofill(): expiringResponse
07-03 16:58:52.781 29446 29446 D HomeAssistantSearcherImpl$nsdDiscoveryFlow: Stop discovery
07-03 16:58:52.783 29446 29446 D HomeAssistantSearcherImpl$nsdDiscoveryFlow: Release multicast lock
07-03 16:58:52.783 29446 29483 D HomeAssistantSearcherKt$getDiscoveryListener: Service discovery stopped
07-03 16:58:52.784 29446 29446 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): null
07-03 16:58:52.785 29446 29446 D ViewRootImpl: Skipping stats log for color mode
07-03 16:58:54.027 29446 29446 D SettingsWearViewModel: onDataChanged 1
07-03 16:58:54.028 29446 29446 E SettingsWearViewModel$onAuthenticateResult: retrofit2.HttpException: HTTP 400
07-03 16:58:54.028 29446 29446 E SettingsWearViewModel$onAuthenticateResult: at retrofit2.KotlinExtensions$await$2$2.onResponse(KotlinExtensions.kt:53)
07-03 16:58:54.028 29446 29446 E SettingsWearViewModel$onAuthenticateResult: at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:164)
07-03 16:58:54.028 29446 29446 E SettingsWearViewModel$onAuthenticateResult: at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:582)
07-03 16:58:54.028 29446 29446 E SettingsWearViewModel$onAuthenticateResult: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
07-03 16:58:54.028 29446 29446 E SettingsWearViewModel$onAuthenticateResult: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
07-03 16:58:54.028 29446 29446 E SettingsWearViewModel$onAuthenticateResult: at java.lang.Thread.run(Thread.java:1119)
07-03 16:58:54.036 29446 29446 D SettingsWearViewModel: onDataChanged 1
```

**Screenshot or video of problem:**

**Additional information:**

Contributor guide

Open the contributing guide

Research direction

Start with the WearOS connection setup and the TLS client-authentication documentation, then compare the reported behavior with pull request 3924. Reproduce the missing-certificate failure using the provided device and LogCat details; done means the watch can connect to the mTLS-protected Home Assistant instance with a client certificate.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
authentication, mobile, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.