home-assistant / android

:iphone: Home Assistant Companion for Android
https://companion.home-assistant.io/
Apache License 2.0
2.3k stars 636 forks source link

WearOS - Works with external URL but not on internal network #4151

Closed DustyArmstrong closed 9 months ago

DustyArmstrong commented 9 months ago

Home Assistant Android app version(s): 2023.12.4 Android version(s): 2023.12.4-full Device model(s): Samsung S22 Galaxy Watch Active 6 Home Assistant version: 2024.1.5 Last working Home Assistant release (if known): N/A Description of problem, include YAML if issue is related to notifications: Just got a device with WearOS, but I'm having issues.

The watch is able to connect and interface with HA externally (e.g. 4G), but not from my internal network. I expect this is due to my setup but have seen others with a similar issue. I am mostly posting this as a bug report in the hopes it might assist development.

My setup is as follows (these are physical networks):

LAN network (HA HERE) -> Pfsense firewall -> WiFi network (watch here)

I use Adguard for DNS internally, whereby I do a DNS rewrite on requests to my HA address to direct my wireless devices to my HA's local IP over on the LAN. This works flawlessy on my phone and other wireless devices, I've had no issues at all there, but the watch doesn't like it. My HA uses a Let's Encrypt certificate for both the internal and external. The Companion App seamlessly transitions between the internal and external IP/DNS, it's great, so was hoping the watch would just connect to the app via bluetooth but I suppose it directly talks to HA? Probably DNS related (it's always DNS)?

Any advice would be greatly appreciated, otherwise yeah just take this as a "I have this problem too". I fully understand my setup is maybe a bit weird having multiple internal networks (LAN/WiFi/IoT), but I just like it that way.

Companion App Logs: I don't know if these will help.

[androidx.work.impl.utils.NetworkApi24.registerDefaultNetworkCallbackCompat(NetworkApi24.kt:28)] [androidx.work.impl.constraints.trackers.NetworkStateTracker24.startTracking(NetworkStateTracker.kt:138)] [androidx.work.impl.constraints.trackers.ConstraintTracker.addListener(ConstraintTracker.kt:56)] [androidx.work.impl.constraints.controllers.ConstraintController$track$1.invokeSuspend(ContraintControllers.kt:54)] [androidx.work.impl.constraints.controllers.ConstraintController$track$1.invoke(Unknown Source:8)] [androidx.work.impl.constraints.controllers.ConstraintController$track$1.invoke(Unknown Source:4)] [kotlinx.coroutines.flow.ChannelFlowBuilder.collectTo$suspendImpl(Builders.kt:320)] [kotlinx.coroutines.flow.ChannelFlowBuilder.collectTo(Unknown Source:0)] [kotlinx.coroutines.flow.CallbackFlowBuilder.collectTo(Builders.kt:334)] [kotlinx.coroutines.flow.internal.ChannelFlow$collectToFun$1.invokeSuspend(ChannelFlow.kt:60)] [kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)] [kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)] [androidx.work.impl.utils.SerialExecutorImpl$Task.run(SerialExecutorImpl.java:96)] [java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)] [java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)] [java.lang.Thread.run(Thread.java:1012)]
01-23 17:41:52.672 19759 19759 I SurfaceView@d315493: onWindowVisibilityChanged(0) false android.view.SurfaceView{d315493 G.E...... ......I. 0,0-0,0} of ViewRootImpl@a065380[WebViewActivity]
01-23 17:41:52.672 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:52.688 19759 19759 D InsetsController: onStateChanged: host=io.homeassistant.companion.android/io.homeassistant.companion.android.webview.WebViewActivity from=android.view.ViewRootImpl.relayoutWindow:9940 state=InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2316), mDisplayCutout=DisplayCutout{insets=Rect(0, 75 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 75), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2316 physicalDisplayWidth=1080 physicalDisplayHeight=2316 density={2.8125} cutoutSpec={M 0,0 H -10 V 26.66666666666667 H 10 V 0 H 0 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=8, center=Point(8, 8)}, RoundedCorner{position=TopRight, radius=8, center=Point(1072, 8)}, RoundedCorner{position=BottomRight, radius=8, center=Point(1072, 2308)}, RoundedCorner{position=BottomLeft, radius=8, center=Point(8, 2308)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2316), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(964, 0 - 1080, 75) rotation=0}, mDisplayShape=DisplayShape{ spec=1667685767 displayWidth=1440 displayHeight=3088 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}, mSources= { InsetsSource: {f4cd0001 mType=navigationBars mFrame=[0,2190][1080,2316] mVisible=false mFlags=[]}, InsetsSource: {f4cd0004 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {f4cd0005 mType=mandatorySystemGestures mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0006 mType=tappableElement mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0024 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {3 mType=ime mFrame=[0,0][0,0] mVisible=false mFlags=[]}, InsetsSource: {27 mType=displayCutout mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0000 mType=statusBars mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0005 mType=mandatorySystemGestures mFrame=[0,0][1080,107] mVisible=true mFlags=[]}, InsetsSource: {2f1f0006 mType=tappableElement mFrame=[0,0][1080,75] mVisible=true mFlags=[]} }
01-23 17:41:52.689 19759 19759 I BLASTBufferQueue_Java: new BLASTBufferQueue, mName= ViewRootImpl@a065380[WebViewActivity] mNativeObject= 0xb40000749a653690 sc.mNativeObject= 0xb40000746a62efd0 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2979 android.view.ViewRootImpl.relayoutWindow:9998 android.view.ViewRootImpl.performTraversals:4056 android.view.ViewRootImpl.doTraversal:3239 android.view.ViewRootImpl$TraversalRunnable.run:11197 android.view.Choreographer$CallbackRecord.run:1650 android.view.Choreographer$CallbackRecord.run:1659 android.view.Choreographer.doCallbacks:1129 android.view.Choreographer.doFrame:1055 android.view.Choreographer$FrameDisplayEventReceiver.run:1622 
01-23 17:41:52.689 19759 19759 I BLASTBufferQueue_Java: update, w= 1080 h= 2316 mName = ViewRootImpl@a065380[WebViewActivity] mNativeObject= 0xb40000749a653690 sc.mNativeObject= 0xb40000746a62efd0 format= -3 caller= android.graphics.BLASTBufferQueue.<init>:89 android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2979 android.view.ViewRootImpl.relayoutWindow:9998 android.view.ViewRootImpl.performTraversals:4056 android.view.ViewRootImpl.doTraversal:3239 android.view.ViewRootImpl$TraversalRunnable.run:11197 
01-23 17:41:52.689 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: Relayout returned: old=(0,0,1080,2316) new=(0,0,1080,2316) req=(1080,2316)0 dur=17 res=0x403 s={true 0xb40000765a735260} ch=true seqId=0
01-23 17:41:52.690 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: mThreadedRenderer.initialize() mSurface={isValid=true 0xb40000765a735260} hwInitialized=true
01-23 17:41:52.690 19759 19804 W vulkan  : CreateSwapchainKHR(VkSwapchainCreateInfoKHR.imageColorSpace = 1000104013) failed: Unsupported color space, but assume as Success for ANGLE.
01-23 17:41:52.690 19759 19759 I SurfaceView@d315493: windowStopped(false) false android.view.SurfaceView{d315493 G.E...... ......I. 0,0-0,0} of ViewRootImpl@a065380[WebViewActivity]
01-23 17:41:52.690 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:52.690 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: reportNextDraw android.view.ViewRootImpl.performTraversals:4658 android.view.ViewRootImpl.doTraversal:3239 android.view.ViewRootImpl$TraversalRunnable.run:11197 android.view.Choreographer$CallbackRecord.run:1650 android.view.Choreographer$CallbackRecord.run:1659 
01-23 17:41:52.690 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:52.690 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: Setup new sync=wmsSync-ViewRootImpl@a065380[WebViewActivity]#28
01-23 17:41:52.690 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: Creating new active sync group ViewRootImpl@a065380[WebViewActivity]#29
01-23 17:41:52.690 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: registerCallbacksForSync syncBuffer=false
01-23 17:41:52.692 19759 19820 D ViewRootImpl@a065380[WebViewActivity]: Received frameDrawingCallback syncResult=0 frameNum=1.
01-23 17:41:52.692 19759 19820 I ViewRootImpl@a065380[WebViewActivity]: mWNT: t=0xb40000745a634f10 mBlastBufferQueue=0xb40000749a653690 fn= 1 caller= android.view.ViewRootImpl$8.onFrameDraw:13614 android.view.ThreadedRenderer$1.onFrameDraw:788 <bottom of call stack> 
01-23 17:41:52.692 19759 19820 D ViewRootImpl@a065380[WebViewActivity]: Setting up sync and frameCommitCallback
01-23 17:41:52.693 19759 20104 I ViewRootImpl@a065380[WebViewActivity]: Resizing android.view.ViewRootImpl@6b9cd2a: frame = [0,0][1080,2316] reportDraw = true forceLayout = false syncSeqId = -1
01-23 17:41:52.695 19759 19804 D libEGL  : dlopen (libGLESv2_samsung.so) success at 0xed22894cc2a96b0b
01-23 17:41:52.708 19759 19804 I BLASTBufferQueue: [ViewRootImpl@a065380[WebViewActivity]#11](f:0,a:0,s:0) onFrameAvailable the first frame is available
01-23 17:41:52.708 19759 19804 D ViewRootImpl@a065380[WebViewActivity]: Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true
01-23 17:41:52.709 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: reportDrawFinished
01-23 17:41:52.715 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: onDisplayChanged oldDisplayState=1 newDisplayState=2
01-23 17:41:52.719 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:52.719 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: registerCallbackForPendingTransactions
01-23 17:41:52.720 19759 19759 D InsetsController: onStateChanged: host=io.homeassistant.companion.android/io.homeassistant.companion.android.webview.WebViewActivity from=android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:7085 state=InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2316), mDisplayCutout=DisplayCutout{insets=Rect(0, 75 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 75), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2316 physicalDisplayWidth=1080 physicalDisplayHeight=2316 density={2.8125} cutoutSpec={M 0,0 H -10 V 26.66666666666667 H 10 V 0 H 0 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=8, center=Point(8, 8)}, RoundedCorner{position=TopRight, radius=8, center=Point(1072, 8)}, RoundedCorner{position=BottomRight, radius=8, center=Point(1072, 2308)}, RoundedCorner{position=BottomLeft, radius=8, center=Point(8, 2308)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2316), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(964, 0 - 1080, 75) rotation=0}, mDisplayShape=DisplayShape{ spec=1667685767 displayWidth=1440 displayHeight=3088 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}, mSources= { InsetsSource: {f4cd0001 mType=navigationBars mFrame=[0,2190][1080,2316] mVisible=false mFlags=[]}, InsetsSource: {f4cd0004 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {f4cd0005 mType=mandatorySystemGestures mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0006 mType=tappableElement mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0024 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {3 mType=ime mFrame=[0,0][0,0] mVisible=false mFlags=[]}, InsetsSource: {27 mType=displayCutout mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0000 mType=statusBars mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0005 mType=mandatorySystemGestures mFrame=[0,0][1080,107] mVisible=true mFlags=[]}, InsetsSource: {2f1f0006 mType=tappableElement mFrame=[0,0][1080,75] mVisible=true mFlags=[]} }
01-23 17:41:52.720 19759 19759 D InsetsSourceConsumer: applyRequestedVisibilityToControl: visible=true, type=1
01-23 17:41:52.720 19759 19759 D InsetsController: controlAnimationUncheckedInner: Added types=navigationBars animType=0 host=io.homeassistant.companion.android/io.homeassistant.companion.android.webview.WebViewActivity from=android.view.InsetsController.controlAnimationUnchecked:1428 android.view.InsetsController.applyAnimation:1979 android.view.InsetsController.applyAnimation:1942 
01-23 17:41:52.720 19759 19759 D InsetsController: onStateChanged: host=io.homeassistant.companion.android/io.homeassistant.companion.android.webview.WebViewActivity from=android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:7072 state=InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2316), mDisplayCutout=DisplayCutout{insets=Rect(0, 75 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 75), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2316 physicalDisplayWidth=1080 physicalDisplayHeight=2316 density={2.8125} cutoutSpec={M 0,0 H -10 V 26.66666666666667 H 10 V 0 H 0 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=8, center=Point(8, 8)}, RoundedCorner{position=TopRight, radius=8, center=Point(1072, 8)}, RoundedCorner{position=BottomRight, radius=8, center=Point(1072, 2308)}, RoundedCorner{position=BottomLeft, radius=8, center=Point(8, 2308)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2316), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(964, 0 - 1080, 75) rotation=0}, mDisplayShape=DisplayShape{ spec=1667685767 displayWidth=1440 displayHeight=3088 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}, mSources= { InsetsSource: {f4cd0001 mType=navigationBars mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0004 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {f4cd0005 mType=mandatorySystemGestures mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0006 mType=tappableElement mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0024 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {3 mType=ime mFrame=[0,0][0,0] mVisible=false mFlags=[]}, InsetsSource: {27 mType=displayCutout mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0000 mType=statusBars mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0005 mType=mandatorySystemGestures mFrame=[0,0][1080,107] mVisible=true mFlags=[]}, InsetsSource: {2f1f0006 mType=tappableElement mFrame=[0,0][1080,75] mVisible=true mFlags=[]} }
01-23 17:41:52.720 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: handleResized, msg = 5 frames=ClientWindowFrames{frame=[0,0][1080,2316] display=[0,0][1080,2316] parentFrame=[0,0][0,0]} forceNextWindowRelayout=false displayId=0 dragResizing=false compatScale=1.0 frameChanged=false attachedFrameChanged=false configChanged=false displayChanged=false compatScaleChanged=false
01-23 17:41:52.720 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: handleResized mSyncSeqId = 0
01-23 17:41:52.720 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: reportNextDraw android.view.ViewRootImpl.handleResized:2485 android.view.ViewRootImpl.-$$Nest$mhandleResized:0 android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:7073 android.view.ViewRootImpl$ViewRootHandler.handleMessage:7042 android.os.Handler.dispatchMessage:106 
01-23 17:41:52.722 19759 19823 I WM-Processor: Moving WorkSpec (c814f10a-c429-4a2a-b027-cda1b700d5f4) to the foreground
01-23 17:41:52.725 19759 19889 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.726 19759 19821 I ViewRootImpl@a065380[WebViewActivity]: mWNT: t=0xb40000745a68e510 mBlastBufferQueue=0xb40000749a653690 fn= 2 caller= android.view.ViewRootImpl$6.onFrameDraw:5539 android.view.ViewRootImpl$2.onFrameDraw:2103 android.view.ThreadedRenderer$1.onFrameDraw:788 
01-23 17:41:52.738 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:52.738 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: Setup new sync=wmsSync-ViewRootImpl@a065380[WebViewActivity]#30
01-23 17:41:52.738 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: Creating new active sync group ViewRootImpl@a065380[WebViewActivity]#31
01-23 17:41:52.738 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: registerCallbacksForSync syncBuffer=false
01-23 17:41:52.739 19759 19820 D ViewRootImpl@a065380[WebViewActivity]: Received frameDrawingCallback syncResult=0 frameNum=3.
01-23 17:41:52.739 19759 19820 I ViewRootImpl@a065380[WebViewActivity]: mWNT: t=0xb40000745a6896b0 mBlastBufferQueue=0xb40000749a653690 fn= 3 caller= android.view.ViewRootImpl$8.onFrameDraw:13614 android.view.ThreadedRenderer$1.onFrameDraw:788 <bottom of call stack> 
01-23 17:41:52.739 19759 19820 D ViewRootImpl@a065380[WebViewActivity]: Setting up sync and frameCommitCallback
01-23 17:41:52.752 19759 19823 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=e8faab92-0eb2-4ead-b963-673a05545b3c, tags={ io.homeassistant.companion.android.websocket.WebsocketManager } ]
01-23 17:41:52.759 19759 19889 D SensorWorker: Updating all Sensors in foreground.
01-23 17:41:52.761 19759 19889 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.784 19759 19804 D ViewRootImpl@a065380[WebViewActivity]: Received frameCommittedCallback lastAttemptedDrawFrameNum=3 didProduceBuffer=true
01-23 17:41:52.784 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: reportDrawFinished
01-23 17:41:52.786 19759 19759 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
01-23 17:41:52.787 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: onDisplayChanged oldDisplayState=2 newDisplayState=2
01-23 17:41:52.789 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: MSG_WINDOW_FOCUS_CHANGED 1 0
01-23 17:41:52.789 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb40000765a735260}
01-23 17:41:52.790 19759 19759 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.791 19759 19759 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1706031497941, currentMillis: 1706031712791)
01-23 17:41:52.792 19759 19759 D InputMethodManagerUtils: startInputInner - Id : 0
01-23 17:41:52.792 19759 19759 I InputMethodManager: startInputInner - IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus
01-23 17:41:52.795 19759 19759 I NotificationManager: io.homeassistant.companion.android: notify(42, null, Notification(channel=Sensor Worker shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0x0 color=0x00000000 vis=PRIVATE semFlags=0x0 semPriority=0 semMissedCount=0)) as user
01-23 17:41:52.801 19759 19759 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.801 19759 19759 D ServerConnectionInfo: Using external URL
01-23 17:41:52.803 19759 19759 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.803 19759 19759 D ServerConnectionInfo: Using external URL
01-23 17:41:52.803 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:52.814 19759 19889 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.815 19759 19889 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.818 19759 19759 D SensorReceiver: Received intent: android.intent.action.SCREEN_ON
01-23 17:41:52.818 19759 19759 D SensorReceiver: Sensor is_interactive corresponding to received event android.intent.action.SCREEN_ON is disabled, skipping sensors update
01-23 17:41:52.821 19759 19759 D ButtonWidget: Broadcast received: 
01-23 17:41:52.821 19759 19759 D ButtonWidget: Broadcast action: android.intent.action.SCREEN_ON
01-23 17:41:52.821 19759 19759 D ButtonWidget: AppWidgetId: -1
01-23 17:41:52.822 19759 19759 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.822 19759 19759 D MediaPlayCtrlsWidget: Broadcast received: 
01-23 17:41:52.822 19759 19759 D MediaPlayCtrlsWidget: Broadcast action: android.intent.action.SCREEN_ON
01-23 17:41:52.822 19759 19759 D MediaPlayCtrlsWidget: AppWidgetId: -1
01-23 17:41:52.823 19759 19759 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.824 19759 19759 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.835 19759 19889 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:52.836 19759 19822 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=4bf8625a-fc09-4fa8-bc2b-03f4d0166a6e, tags={ io.homeassistant.companion.android.websocket.WebsocketManager } ]
01-23 17:41:52.962 19759 19796 D SensorReceiver: Nothing to update for server 1 (Home)
01-23 17:41:52.962 19759 19796 I SensorReceiver: Sensor updates and sync completed
01-23 17:41:52.963 19759 19791 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=c814f10a-c429-4a2a-b027-cda1b700d5f4, tags={ io.homeassistant.companion.android.sensors.SensorWorker } ]
01-23 17:41:52.990 19759 19759 I WM-SystemFgDispatcher: Stopping foreground service
01-23 17:41:52.994 19759 19803 D ConnectivityManager: StackLog: [android.net.ConnectivityManager.unregisterNetworkCallback(ConnectivityManager.java:4996)] [androidx.work.impl.utils.NetworkApi21.unregisterNetworkCallbackCompat(NetworkApi21.kt:31)] [androidx.work.impl.constraints.trackers.NetworkStateTracker24.stopTracking(NetworkStateTracker.kt:153)] [androidx.work.impl.constraints.trackers.ConstraintTracker.removeListener(ConstraintTracker.kt:72)] [androidx.work.impl.constraints.controllers.ConstraintController$track$1$1.invoke(ContraintControllers.kt:56)] [androidx.work.impl.constraints.controllers.ConstraintController$track$1$1.invoke(ContraintControllers.kt:55)] [kotlinx.coroutines.channels.ProduceKt.awaitClose(Produce.kt:54)] [kotlinx.coroutines.channels.ProduceKt$awaitClose$1.invokeSuspend(Unknown Source:13)] [kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)] [kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)] [androidx.work.impl.utils.SerialExecutorImpl$Task.run(SerialExecutorImpl.java:96)] [java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)] [java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)] [java.lang.Thread.run(Thread.java:1012)]
01-23 17:41:53.020 19759 19759 D InsetsController: cancelAnimation of types: 2, animType: 0, host: io.homeassistant.companion.android/io.homeassistant.companion.android.webview.WebViewActivity, from:android.view.InsetsController.notifyFinished:1727 android.view.InsetsAnimationThreadControlRunner$1.lambda$notifyFinished$0:85 android.view.InsetsAnimationThreadControlRunner$1.$r8$lambda$RAf1SfIREsj9-wH5FOigMy6eLkM:0 
01-23 17:41:53.036 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:53.040 19759 19821 I ViewRootImpl@a065380[WebViewActivity]: mWNT: t=0xb40000745a6ad410 mBlastBufferQueue=0xb40000749a653690 fn= 5 caller= android.view.SyncRtSurfaceTransactionApplier.applyTransaction:96 android.view.SyncRtSurfaceTransactionApplier.lambda$scheduleApply$0:69 android.view.SyncRtSurfaceTransactionApplier.$r8$lambda$SgowXC58rj3PR958kHUfRgLZmvE:0 
01-23 17:41:53.864 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: ViewPostIme pointer 0
01-23 17:41:53.886 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:53.904 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:53.920 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:53.936 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:53.936 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:53.953 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:53.953 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:53.969 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:53.986 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.003 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.019 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.036 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.053 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.069 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.072 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: ViewPostIme pointer 1
01-23 17:41:54.086 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.086 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.102 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.102 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.119 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.119 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.136 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.136 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.153 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.153 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.170 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.170 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.186 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.186 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.202 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.202 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.219 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.219 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.236 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.252 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.269 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.286 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.303 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.321 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.337 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.353 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.370 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.388 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.465 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: ViewPostIme pointer 0
01-23 17:41:54.486 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.503 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.514 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: ViewPostIme pointer 1
01-23 17:41:54.519 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.519 19759 19940 D WebviewActivity: External bus {"type":"config_screen/show","id":5}
01-23 17:41:54.539 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.540 19759 19759 D IntegrationRepository: setAppActive(): false
01-23 17:41:54.540 19759 19759 D IntegrationRepository: setAppActive(): false
01-23 17:41:54.547 19759 19759 D SensorReceiver: Received intent: io.homeassistant.companion.android.UPDATE_SENSORS
01-23 17:41:54.548 19759 19797 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:54.555 19759 19759 I DecorView: setWindowBackground: isPopOver=false color=ff1c1c1c d=android.graphics.drawable.ColorDrawable@25c8de3
01-23 17:41:54.572 19759 19759 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1706031497941, currentMillis: 1706031714572)
01-23 17:41:54.574 19759 19804 D NativeCustomFrequencyManager: [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager()
01-23 17:41:54.579 19759 19759 D InsetsController: onStateChanged: host=io.homeassistant.companion.android/io.homeassistant.companion.android.settings.SettingsActivity from=android.view.ViewRootImpl.setView:1717 state=InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2316), mDisplayCutout=DisplayCutout{insets=Rect(0, 75 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 75), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2316 physicalDisplayWidth=1080 physicalDisplayHeight=2316 density={2.8125} cutoutSpec={M 0,0 H -10 V 26.66666666666667 H 10 V 0 H 0 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=8, center=Point(8, 8)}, RoundedCorner{position=TopRight, radius=8, center=Point(1072, 8)}, RoundedCorner{position=BottomRight, radius=8, center=Point(1072, 2308)}, RoundedCorner{position=BottomLeft, radius=8, center=Point(8, 2308)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2316), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(964, 0 - 1080, 75) rotation=0}, mDisplayShape=DisplayShape{ spec=1667685767 displayWidth=1440 displayHeight=3088 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}, mSources= { InsetsSource: {f4cd0001 mType=navigationBars mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0004 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {f4cd0005 mType=mandatorySystemGestures mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0006 mType=tappableElement mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0024 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {27 mType=displayCutout mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0000 mType=statusBars mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0005 mType=mandatorySystemGestures mFrame=[0,0][1080,107] mVisible=true mFlags=[]}, InsetsSource: {2f1f0006 mType=tappableElement mFrame=[0,0][1080,75] mVisible=true mFlags=[]} }
01-23 17:41:54.580 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: synced displayState. AttachInfo displayState=2
01-23 17:41:54.580 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: setView = com.android.internal.policy.DecorView@2def888 TM=true
01-23 17:41:54.592 19759 19759 D InsetsController: onStateChanged: host=io.homeassistant.companion.android/io.homeassistant.companion.android.settings.SettingsActivity from=android.view.ViewRootImpl.relayoutWindow:9940 state=InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2316), mDisplayCutout=DisplayCutout{insets=Rect(0, 75 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(512, 0 - 568, 75), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2316 physicalDisplayWidth=1080 physicalDisplayHeight=2316 density={2.8125} cutoutSpec={M 0,0 H -10 V 26.66666666666667 H 10 V 0 H 0 Z @dp} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=8, center=Point(8, 8)}, RoundedCorner{position=TopRight, radius=8, center=Point(1072, 8)}, RoundedCorner{position=BottomRight, radius=8, center=Point(1072, 2308)}, RoundedCorner{position=BottomLeft, radius=8, center=Point(8, 2308)}]}  mRoundedCornerFrame=Rect(0, 0 - 1080, 2316), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(964, 0 - 1080, 75) rotation=0}, mDisplayShape=DisplayShape{ spec=1667685767 displayWidth=1440 displayHeight=3088 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}, mSources= { InsetsSource: {f4cd0001 mType=navigationBars mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0004 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {f4cd0005 mType=mandatorySystemGestures mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0006 mType=tappableElement mFrame=[0,2190][1080,2316] mVisible=true mFlags=[]}, InsetsSource: {f4cd0024 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags=[]}, InsetsSource: {3 mType=ime mFrame=[0,0][0,0] mVisible=false mFlags=[]}, InsetsSource: {27 mType=displayCutout mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0000 mType=statusBars mFrame=[0,0][1080,75] mVisible=true mFlags=[]}, InsetsSource: {2f1f0005 mType=mandatorySystemGestures mFrame=[0,0][1080,107] mVisible=true mFlags=[]}, InsetsSource: {2f1f0006 mType=tappableElement mFrame=[0,0][1080,75] mVisible=true mFlags=[]} }
01-23 17:41:54.593 19759 19759 I BLASTBufferQueue_Java: new BLASTBufferQueue, mName= ViewRootImpl@dd70a5[SettingsActivity] mNativeObject= 0xb40000749a6acdd0 sc.mNativeObject= 0xb40000746a62a290 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2979 android.view.ViewRootImpl.relayoutWindow:9998 android.view.ViewRootImpl.performTraversals:4056 android.view.ViewRootImpl.doTraversal:3239 android.view.ViewRootImpl$TraversalRunnable.run:11197 android.view.Choreographer$CallbackRecord.run:1650 android.view.Choreographer$CallbackRecord.run:1659 android.view.Choreographer.doCallbacks:1129 android.view.Choreographer.doFrame:1055 android.view.Choreographer$FrameDisplayEventReceiver.run:1622 
01-23 17:41:54.593 19759 19759 I BLASTBufferQueue_Java: update, w= 1080 h= 2316 mName = ViewRootImpl@dd70a5[SettingsActivity] mNativeObject= 0xb40000749a6acdd0 sc.mNativeObject= 0xb40000746a62a290 format= -1 caller= android.graphics.BLASTBufferQueue.<init>:89 android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2979 android.view.ViewRootImpl.relayoutWindow:9998 android.view.ViewRootImpl.performTraversals:4056 android.view.ViewRootImpl.doTraversal:3239 android.view.ViewRootImpl$TraversalRunnable.run:11197 
01-23 17:41:54.593 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: Relayout returned: old=(0,0,1080,2316) new=(0,0,1080,2316) req=(1080,2316)0 dur=9 res=0x403 s={true 0xb40000765a728600} ch=true seqId=0
01-23 17:41:54.593 19759 19797 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:54.593 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: performConfigurationChange setNightDimText nightDimLevel=0
01-23 17:41:54.594 19759 19759 D ViewRootImpl@dd70a5[SettingsActivity]: mThreadedRenderer.initialize() mSurface={isValid=true 0xb40000765a728600} hwInitialized=true
01-23 17:41:54.594 19759 19804 W vulkan  : CreateSwapchainKHR(VkSwapchainCreateInfoKHR.imageColorSpace = 1000104013) failed: Unsupported color space, but assume as Success for ANGLE.
01-23 17:41:54.594 19759 19797 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:54.625 19759 19759 D ViewRootImpl@dd70a5[SettingsActivity]: reportNextDraw android.view.ViewRootImpl.performTraversals:4658 android.view.ViewRootImpl.doTraversal:3239 android.view.ViewRootImpl$TraversalRunnable.run:11197 android.view.Choreographer$CallbackRecord.run:1650 android.view.Choreographer$CallbackRecord.run:1659 
01-23 17:41:54.626 19759 19759 D ViewRootImpl@dd70a5[SettingsActivity]: Setup new sync=wmsSync-ViewRootImpl@dd70a5[SettingsActivity]#32
01-23 17:41:54.626 19759 19759 D ViewRootImpl@dd70a5[SettingsActivity]: Creating new active sync group ViewRootImpl@dd70a5[SettingsActivity]#33
01-23 17:41:54.626 19759 19759 D ViewRootImpl@dd70a5[SettingsActivity]: registerCallbacksForSync syncBuffer=false
01-23 17:41:54.628 19759 19820 D ViewRootImpl@dd70a5[SettingsActivity]: Received frameDrawingCallback syncResult=0 frameNum=1.
01-23 17:41:54.628 19759 19820 I ViewRootImpl@dd70a5[SettingsActivity]: mWNT: t=0xb40000745a69fd90 mBlastBufferQueue=0xb40000749a6acdd0 fn= 1 caller= android.view.ViewRootImpl$8.onFrameDraw:13614 android.view.ThreadedRenderer$1.onFrameDraw:788 <bottom of call stack> 
01-23 17:41:54.628 19759 19820 D ViewRootImpl@dd70a5[SettingsActivity]: Setting up sync and frameCommitCallback
01-23 17:41:54.632 19759 19804 I BLASTBufferQueue: [ViewRootImpl@dd70a5[SettingsActivity]#12](f:0,a:0,s:0) onFrameAvailable the first frame is available
01-23 17:41:54.632 19759 19804 D ViewRootImpl@dd70a5[SettingsActivity]: Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true
01-23 17:41:54.632 19759 19804 D OpenGLRenderer: CFMS:: SetUp Pid : 19759    Tid : 19804
01-23 17:41:54.632 19759 19759 D ViewRootImpl@dd70a5[SettingsActivity]: reportDrawFinished
01-23 17:41:54.633 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.635 19759 19889 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-23 17:41:54.641 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: MSG_WINDOW_FOCUS_CHANGED 0 0
01-23 17:41:54.643 19759 19797 D SensorReceiver: Nothing to update for server 1 (Home)
01-23 17:41:54.644 19759 19797 I SensorReceiver: Sensor updates and sync completed
01-23 17:41:54.649 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: registerCallbackForPendingTransactions
01-23 17:41:54.651 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.651 19759 19821 I ViewRootImpl@dd70a5[SettingsActivity]: mWNT: t=0xb40000745a6a5170 mBlastBufferQueue=0xb40000749a6acdd0 fn= 2 caller= android.view.ViewRootImpl$6.onFrameDraw:5539 android.view.ViewRootImpl$2.onFrameDraw:2103 android.view.ThreadedRenderer$1.onFrameDraw:788 
01-23 17:41:54.654 19759 19759 D InsetsSourceConsumer: applyRequestedVisibilityToControl: visible=true, type=1
01-23 17:41:54.654 19759 19759 D InsetsSourceConsumer: applyRequestedVisibilityToControl: visible=true, type=2
01-23 17:41:54.657 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.669 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.680 19759 21490 D TrafficStats: tagSocket(284) with statsTag=0xffffffff, statsUid=-1
01-23 17:41:54.686 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.703 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.719 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.736 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.753 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.756 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: MSG_WINDOW_FOCUS_CHANGED 1 0
01-23 17:41:54.756 19759 19759 D ViewRootImpl@dd70a5[SettingsActivity]: mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb40000765a728600}
01-23 17:41:54.756 19759 19759 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1706031497941, currentMillis: 1706031714756)
01-23 17:41:54.757 19759 19759 D IntegrationRepository: setAppActive(): true
01-23 17:41:54.757 19759 19759 D InputMethodManagerUtils: startInputInner - Id : 0
01-23 17:41:54.757 19759 19759 I InputMethodManager: startInputInner - IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus
01-23 17:41:54.769 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.773 19759 19759 D InsetsSourceConsumer: applyRequestedVisibilityToControl: visible=false, type=8
01-23 17:41:54.786 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.803 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.820 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.838 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.853 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.870 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.886 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.902 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.919 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:54.936 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:55.108 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: handleAppVisibility mAppVisible = true visible = false
01-23 17:41:55.120 19759 19759 I SurfaceView@d315493: onWindowVisibilityChanged(8) false android.view.SurfaceView{d315493 G.E...... ......I. 0,0-0,0} of ViewRootImpl@a065380[WebViewActivity]
01-23 17:41:55.120 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:55.135 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: Relayout returned: old=(0,0,1080,2316) new=(0,0,1080,2316) req=(1080,2316)8 dur=9 res=0x402 s={false 0x0} ch=true seqId=0
01-23 17:41:55.135 19759 19759 I SurfaceView@d315493: windowStopped(true) false android.view.SurfaceView{d315493 G.E...... ......I. 0,0-0,0} of ViewRootImpl@a065380[WebViewActivity]
01-23 17:41:55.135 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:55.135 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:55.140 19759 19759 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=falsecallback=androidx.activity.OnBackPressedDispatcher$Api34Impl$createOnBackAnimationCallback$1@d216821
01-23 17:41:55.142 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: stopped(true) old = false
01-23 17:41:55.143 19759 19759 D ViewRootImpl@a065380[WebViewActivity]: WindowStopped on io.homeassistant.companion.android/io.homeassistant.companion.android.webview.WebViewActivity set to true
01-23 17:41:55.154 19759 19759 I ViewRootImpl@a065380[WebViewActivity]: Relayout returned: old=(0,0,1080,2316) new=(0,0,1080,2316) req=(1080,2316)8 dur=7 res=0x402 s={false 0x0} ch=false seqId=0
01-23 17:41:55.154 19759 19759 D SurfaceView@d315493: 221336723 updateSurface: has no frame
01-23 17:41:55.580 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: ViewPostIme pointer 0
01-23 17:41:55.689 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: ViewPostIme pointer 1
01-23 17:41:56.064 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: ViewPostIme pointer 0
01-23 17:41:56.140 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: ViewPostIme pointer 1
01-23 17:41:57.492 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: ViewPostIme pointer 0
01-23 17:41:57.539 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: ViewPostIme pointer 1
01-23 17:41:57.570 19759 19759 I BLASTBufferQueue_Java: update, w= 1080 h= 2316 mName = ViewRootImpl@dd70a5[SettingsActivity] mNativeObject= 0xb40000749a6acdd0 sc.mNativeObject= 0xb40000746a62a290 format= -1 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2968 android.view.ViewRootImpl.relayoutWindow:9998 android.view.ViewRootImpl.performTraversals:4056 android.view.ViewRootImpl.doTraversal:3239 android.view.ViewRootImpl$TraversalRunnable.run:11197 android.view.Choreographer$CallbackRecord.run:1650 
01-23 17:41:57.570 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: Relayout returned: old=(0,0,1080,2316) new=(0,0,1080,2316) req=(1080,2316)0 dur=0 res=0x0 s={true 0xb40000765a728600} ch=false seqId=0
01-23 17:41:57.586 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: registerCallbackForPendingTransactions
01-23 17:41:57.590 19759 19820 I ViewRootImpl@dd70a5[SettingsActivity]: mWNT: t=0xb40000745a69be50 mBlastBufferQueue=0xb40000749a6acdd0 fn= 112 caller= android.view.ViewRootImpl$6.onFrameDraw:5539 android.view.ViewRootImpl$2.onFrameDraw:2103 android.view.ThreadedRenderer$1.onFrameDraw:788 
01-23 17:42:00.028 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: ViewPostIme pointer 0
01-23 17:42:00.081 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: ViewPostIme pointer 1
01-23 17:42:00.104 19759 19759 D ScrollView: initGoToTop
01-23 17:42:00.139 19759 19759 I BLASTBufferQueue_Java: update, w= 1080 h= 2316 mName = ViewRootImpl@dd70a5[SettingsActivity] mNativeObject= 0xb40000749a6acdd0 sc.mNativeObject= 0xb40000746a62a290 format= -1 caller= android.view.ViewRootImpl.updateBlastSurfaceIfNeeded:2968 android.view.ViewRootImpl.relayoutWindow:9998 android.view.ViewRootImpl.performTraversals:4056 android.view.ViewRootImpl.doTraversal:3239 android.view.ViewRootImpl$TraversalRunnable.run:11197 android.view.Choreographer$CallbackRecord.run:1650 
01-23 17:42:00.139 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: Relayout returned: old=(0,0,1080,2316) new=(0,0,1080,2316) req=(1080,2316)0 dur=1 res=0x0 s={true 0xb40000765a728600} ch=false seqId=0
01-23 17:42:00.140 19759 19759 D ScrollView:  onsize change changed 
01-23 17:42:00.143 19759 19889 D LogcatReader: Read logcat for pid 19759
01-23 17:42:00.154 19759 19759 I ViewRootImpl@dd70a5[SettingsActivity]: registerCallbackForPendingTransactions
01-23 17:42:00.154 19759 19821 I ViewRootImpl@dd70a5[SettingsActivity]: mWNT: t=0xb40000745a63cad0 mBlastBufferQueue=0xb40000749a6acdd0 fn= 117 caller= android.view.ViewRootImpl$6.onFrameDraw:5539 android.view.ViewRootImpl$2.onFrameDraw:2103 android.view.ThreadedRenderer$1.onFrameDraw:788 

Screenshot or video of problem:

Additional information:

dshokouhi commented 9 months ago

The watch is able to connect and interface with HA externally (e.g. 4G), but not from my internal network.

can you enable NAT loopback on your router? this would be the easiest fix.

unfortunately there is not much the app can do here. Wear OS will proxy data from the phone to the watch when using Bluetooth. The watch app will only work with the external URL so anything that needs to be changed needs to be done on your network to get it to work. There is no URL switching with the Wear OS app due to the way Wear OS works.

DustyArmstrong commented 9 months ago

Yeah I can enable it, I suppose that would technically solve it and just remove my DNS rewrite.

Out of interest, is this then an issue with the watch itself or is it the manner in which the app works? I.e. is this a conscious development decision to have the app proxy data this way or is it just a fundamental aspect of WearOS that can't be avoided?

jpelgrom commented 9 months ago

is this a conscious development decision to have the app proxy data this way or is it just a fundamental aspect of WearOS that can't be avoided?

The latter: that's how networking works on Wear OS

DustyArmstrong commented 9 months ago

The latter: that's how networking works on Wear OS

Yeah I thought so, I suppose it isn't surprising given WearOS is Google. Hopefully someday we find a way round their restrictions.

Thanks, I'll close this off.