Wallpanel dashboard goes blank with red error screen (but no error shown)

Hi all!

I have been working on a HA wallpanel-style dashboard to be displayed on a tablet with the screen always on. I’ve noticed that the tablet will randomly fail to display the dashboard and instead show an error box across the whole screen, but no actual error message is displayed:

Setup details:

  • Dashboard displayed via Home Assistant Companion app
  • Tablet is a Lenovo K10 running Android 12
  • Dashboard includes card-mod, button-card, lovelace-layout-card, and some other components off HACS

I grabbed the device logs via app settings → Troubleshooting → Logs but am not sure what to look for.

I haven’t noticed this issue with this dashboard on any other devices (companion app on Android 16 and web browser from a couple other machines) but to be fair I’m not leaving those devices displaying the dashboard all the time.

I’m pretty new to building HA dashboards (and working with HA in general) so any guidance on what could be going wrong or how I can approach debugging the issue further would be much appreciated!! TIA :slight_smile:

Device log and dashboard YAML below:

Device Log
--------- beginning of main
02-12 12:40:22.852  2939  2939 I mpanion.androi: Using CollectorTypeCC GC.
02-12 12:40:23.162  2939  2939 W mpanion.androi: Failed to find entry 'classes.dex': Entry not found
02-12 12:40:23.163  2939  2939 W mpanion.androi: Failed to find entry 'classes.dex': Entry not found
02-12 12:40:23.200  2939  2939 I FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT]
02-12 12:40:23.203  2939  2939 I FirebaseInitProvider: FirebaseApp initialization successful
02-12 12:40:23.237  2939  2939 I WebViewFactory: Loading com.google.android.webview version 144.0.7559.132 (code 755913201)
02-12 12:40:23.297  2939  2939 I cr_WVCFactoryProvider: version=144.0.7559.132 (755913201) minSdkVersion=29 multiprocess=true packageId=127 splits=config.arm64_v8a,config.hdpi
02-12 12:40:23.315  2939  2981 E chromium: [0212/124023.314635:ERROR:android_webview/browser/variations/variations_seed_loader.cc:39] Seed missing signature.
02-12 12:40:23.327  2939  2939 I cr_LibraryLoader: Successfully loaded native library
02-12 12:40:23.329  2939  2939 I cr_CachingUmaRecorder: Flushed 16 samples from 16 histograms, 0 samples were dropped.
02-12 12:40:23.339  2939  2939 I HomeAssistantApplication: Running 2026.2.1-full on SDK 31
02-12 12:40:23.370  2939  2939 W pool-8-thread-1: type=1400 audit(0.0:6502): avc: denied { read } for name="version" dev="proc" ino=4026532081 scontext=u:r:untrusted_app:s0:c168,c256,c512,c768 tcontext=u:object_r:proc_version:s0 tclass=file permissive=0 app=io.homeassistant.companion.android
02-12 12:40:23.398  2939  2939 I PowerHalWrapper: PowerHalWrapper.getInstance 
02-12 12:40:23.443  2939  2939 W ViewConfiguration: gaoliang ViewConfiguration mMinScalingSpan=138
02-12 12:40:23.467  2939  2939 I SurfaceFactory: [static] sSurfaceFactory = com.mediatek.view.impl.SurfaceFactoryImpl@bdabbe3
02-12 12:40:23.469  2939  2939 I MsyncFactory: [static] sMsyncFactory = com.mediatek.view.impl.MsyncFactoryImpl@13fb499
02-12 12:40:23.531  2939  2939 I BufferQueueConsumer: [](id:b7b00000000,api:0,p:-1,c:2939) connect: controlledByApp=false
02-12 12:40:23.533  2939  2939 I BLASTBufferQueue: [ViewRootImpl[LaunchActivity]#0] constructor()
02-12 12:40:23.569  2939  3016 I BufferQueueProducer: [ViewRootImpl[LaunchActivity]#0(BLAST Consumer)0](id:b7b00000000,api:1,p:2939,c:2939) connect: api=1 producerControlledByApp=true
02-12 12:40:23.580  2939  3031 E ion     : ioctl c0044901 failed with code -1: Invalid argument
02-12 12:40:23.595  2939  2968 W WM-Processor: Didn't find WorkSpec for id WorkGenerationalId(workSpecId=3d15b4e6-9d24-49ef-9039-7681bd054bdf, generation=0)
02-12 12:40:23.615  2939  2939 I LaunchViewModel: Current network state READY_INTERNAL
02-12 12:40:23.674  2939  2939 I Instrumentation: execStartActivity isCustomized = false,,,packName = io.homeassistant.companion.android,,intent.getAction() = null
02-12 12:40:23.706  2939  3016 E OpenGLRenderer: fbcNotifyFrameComplete error: undefined symbol: fbcNotifyFrameComplete
02-12 12:40:23.707  2939  3016 E OpenGLRenderer: fbcNotifyNoRender error: undefined symbol: fbcNotifyNoRender
02-12 12:40:23.753  2939  2968 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=3327d7e8-15e6-452f-b5de-0ff9d3394b22, tags={ io.homeassistant.companion.android.websocket.WebsocketManager } ]
02-12 12:40:23.811  2939  2939 I cr_CombinedPProvider: #registerProvider() provider:WV.rk@4583722 isPolicyCacheEnabled:false policyProvidersSize:0
02-12 12:40:23.813  2939  2939 I cr_PolicyProvider: #setManagerAndSource() 0
02-12 12:40:23.819  2939  2939 I cr_DisplayManager: Is Display Topology available: false
02-12 12:40:23.858  2939  2939 I cr_CombinedPProvider: #linkNativeInternal() 1
02-12 12:40:23.860  2939  2939 I cr_AppResProvider: #getApplicationRestrictionsFromUserManager() Bundle[EMPTY_PARCEL]
02-12 12:40:23.860  2939  2939 I cr_PolicyProvider: #notifySettingsAvailable() 0
02-12 12:40:23.860  2939  2939 I cr_CombinedPProvider: #onSettingsAvailable() 0
02-12 12:40:23.860  2939  2939 I cr_CombinedPProvider: #flushPolicies()
02-12 12:40:23.881  2939  3064 W WebSocketCoreImpl: Response for message not in activeMessage id(1) skipping
02-12 12:40:23.919  2939  3078 W libc    : Access denied finding property "ro.vendor.api_level"
02-12 12:40:23.934  2939  2939 W chromium: [WARNING:android_webview/browser/network_service/net_helpers.cc:137] HTTP Cache size is: 50593049
02-12 12:40:24.019  2939  2995 I SensorReceiverBase: Sensor updates and sync completed
02-12 12:40:24.050  2939  3094 I CameraManagerGlobal: Connecting to camera service
02-12 12:40:24.089  2939  2939 I BufferQueueConsumer: [](id:b7b00000001,api:0,p:-1,c:2939) connect: controlledByApp=false
02-12 12:40:24.090  2939  2939 I BLASTBufferQueue: [ViewRootImpl[WebViewActivity]#1] constructor()
02-12 12:40:24.092  2939  3016 I BufferQueueProducer: [ViewRootImpl[WebViewActivity]#1(BLAST Consumer)1](id:b7b00000001,api:1,p:2939,c:2939) connect: api=1 producerControlledByApp=true
02-12 12:40:24.310  2939  2976 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=4f5d165b-cef0-4c5c-afb4-edd266123671, tags={ io.homeassistant.companion.android.common.util.ResyncRegistrationWorker } ]
02-12 12:40:24.329  2939  2939 W cr_SupportWebSettings: setForceDarkBehavior() is a no-op in an app with targetSdkVersion>=T
02-12 12:40:24.329  2939  2939 W cr_WebSettings: setForceDark() is a no-op in an app with targetSdkVersion>=T
02-12 12:40:24.374  2939  3016 I BufferQueueProducer: [ViewRootImpl[LaunchActivity]#0(BLAST Consumer)0](id:b7b00000000,api:1,p:2939,c:2939) disconnect: api 1
02-12 12:40:24.375  2939  3016 E BLASTBufferQueue: BLASTBufferItemConsumer::onDisconnect()
02-12 12:40:24.381  2939  2939 I BLASTBufferQueue: [ViewRootImpl[LaunchActivity]#0] destructor()
02-12 12:40:24.381  2939  2939 I BufferQueueConsumer: [ViewRootImpl[LaunchActivity]#0(BLAST Consumer)0](id:b7b00000000,api:0,p:-1,c:2939) disconnect
02-12 12:40:24.403  2939  2976 I WM-Processor: Moving WorkSpec (76a5ee5c-60e0-471e-9217-80fca7f9aba5) to the foreground
02-12 12:40:24.447  2939  2939 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
02-12 12:40:24.458  2939  2968 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=d23b4e73-6917-4c61-84b6-b039fcd9ce3e, tags={ io.homeassistant.companion.android.websocket.WebsocketManager } ]
02-12 12:40:24.608  2939  2939 W ServerManagerImpl: Activate with SERVER_ID_ACTIVE is not doing anything
02-12 12:40:24.666  2939  3090 W AudioCapabilities: Unsupported mime audio/x-adpcm-dvi-ima
02-12 12:40:24.666  2939  3090 W AudioCapabilities: Unsupported mime audio/x-adpcm-dvi-ima
02-12 12:40:24.670  2939  2950 I BLASTBufferQueue: releaseBufferCallbackThunk bufferId:12622908882947 framenumber:1 blastBufferQueue is dead
02-12 12:40:24.672  2939  3090 W AudioCapabilities: Unsupported mime audio/x-adpcm-ms
02-12 12:40:24.672  2939  3090 W AudioCapabilities: Unsupported mime audio/x-adpcm-ms
02-12 12:40:24.672  2939  3090 W AudioCapabilities: Unsupported mime audio/alac
02-12 12:40:24.673  2939  3090 W AudioCapabilities: Unsupported mime audio/alac
02-12 12:40:24.673  2939  3090 W AudioCapabilities: Unsupported mime audio/ape
02-12 12:40:24.673  2939  3090 W AudioCapabilities: Unsupported mime audio/ape
02-12 12:40:24.691  2939  3090 W AudioCapabilities: Unsupported mime audio/mpeg-L2
02-12 12:40:24.699  2939  3090 W VideoCapabilities: Unrecognized profile/level 1/32 for video/mp4v-es
02-12 12:40:24.700  2939  3090 W VideoCapabilities: Unrecognized profile/level 1/32 for video/mp4v-es
02-12 12:40:24.701  2939  3090 W VideoCapabilities: Unsupported mime video/x-ms-wmv
02-12 12:40:24.702  2939  3090 W VideoCapabilities: Unsupported mime video/x-ms-wmv
02-12 12:40:25.186  2939  3052 I SensorReceiverBase: Sensor updates and sync completed
02-12 12:40:25.190  2939  2976 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=76a5ee5c-60e0-471e-9217-80fca7f9aba5, tags={ io.homeassistant.companion.android.sensors.SensorWorker } ]
02-12 12:40:25.196  2939  2939 I WM-SystemFgDispatcher: Stopping foreground service
02-12 12:40:25.436  2939  2939 E WebViewActivity: Cannot set status bar color. Skipping coloring...
02-12 12:40:25.436  2939  2939 E WebViewActivity: Cannot set background color. Skipping coloring...
02-12 12:40:26.149  2939  2995 I WebViewPresenterImpl$parseWebViewColor: Found color -14935012.
02-12 12:40:26.150  2939  2995 I WebViewPresenterImpl$parseWebViewColor: Found color -15658735.
02-12 12:40:26.312  2939  2995 I WebViewPresenterImpl$parseWebViewColor: Found color -14935012.
02-12 12:40:26.314  2939  2969 I WebViewPresenterImpl$parseWebViewColor: Found color -15658735.
02-12 12:40:33.509  2939  2943 I mpanion.androi: Background concurrent copying GC freed 11MB AllocSpace bytes, 83(1940KB) LOS objects, 78% free, 6613KB/30MB, paused 265us,97us total 203.765ms
02-12 12:40:44.153  2939  2997 I SensorReceiverBase: Sensor updates and sync completed
02-12 12:40:51.715  2939  3016 I BufferQueueProducer: [ViewRootImpl[WebViewActivity]#1(BLAST Consumer)1](id:b7b00000001,api:1,p:2939,c:2939) disconnect: api 1
02-12 12:40:51.717  2939  3016 E BLASTBufferQueue: BLASTBufferItemConsumer::onDisconnect()
02-12 12:40:51.725  2939  2939 I BLASTBufferQueue: [ViewRootImpl[WebViewActivity]#1] destructor()
02-12 12:40:51.725  2939  2939 I BufferQueueConsumer: [ViewRootImpl[WebViewActivity]#1(BLAST Consumer)1](id:b7b00000001,api:0,p:-1,c:2939) disconnect
02-12 12:40:53.127  2939  2953 I BLASTBufferQueue: releaseBufferCallbackThunk bufferId:12622908882952 framenumber:83 blastBufferQueue is dead
02-12 12:40:53.133  2939  3016 I GED     : ged_boost_gpu_freq, level 100, eOrigin 2, final_idx 2, oppidx_max 2, oppidx_min 0
02-12 12:41:01.714  2939  3016 I GED     : ged_boost_gpu_freq, level 100, eOrigin 2, final_idx 2, oppidx_max 2, oppidx_min 0
02-12 12:41:01.717  2939  3016 I GED     : ged_boost_gpu_freq, level 100, eOrigin 2, final_idx 2, oppidx_max 2, oppidx_min 0
02-12 12:41:15.875  2939  2939 I BufferQueueConsumer: [](id:b7b00000002,api:0,p:-1,c:2939) connect: controlledByApp=false
02-12 12:41:15.876  2939  2939 I BLASTBufferQueue: [ViewRootImpl[WebViewActivity]#2] constructor()
02-12 12:41:15.877  2939  3016 I BufferQueueProducer: [ViewRootImpl[WebViewActivity]#2(BLAST Consumer)2](id:b7b00000002,api:1,p:2939,c:2939) connect: api=1 producerControlledByApp=true
02-12 12:41:16.053  2939  2976 I WM-Processor: Moving WorkSpec (493669d3-0491-454e-93fe-4026e2ab4c29) to the foreground
02-12 12:41:16.079  2939  2939 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
02-12 12:41:16.155  2939  2976 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=9f80344c-f863-459c-a9ec-c5957ad36713, tags={ io.homeassistant.companion.android.websocket.WebsocketManager } ]
02-12 12:41:16.722  2939  2997 I SensorReceiverBase: Sensor updates and sync completed
02-12 12:41:16.725  2939  2975 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=493669d3-0491-454e-93fe-4026e2ab4c29, tags={ io.homeassistant.companion.android.sensors.SensorWorker } ]
02-12 12:41:16.731  2939  2939 I WM-SystemFgDispatcher: Stopping foreground service
02-12 12:41:33.096  2939  2939 I Instrumentation: execStartActivity isCustomized = false,,,packName = io.homeassistant.companion.android,,intent.getAction() = null
02-12 12:41:33.325  2939  2939 I BufferQueueConsumer: [](id:b7b00000003,api:0,p:-1,c:2939) connect: controlledByApp=false
02-12 12:41:33.325  2939  2939 I BLASTBufferQueue: [ViewRootImpl[SettingsActivity]#3] constructor()
02-12 12:41:33.327  2939  3016 I BufferQueueProducer: [ViewRootImpl[SettingsActivity]#3(BLAST Consumer)3](id:b7b00000003,api:1,p:2939,c:2939) connect: api=1 producerControlledByApp=true
02-12 12:41:33.737  2939  3055 I SensorReceiverBase: Sensor updates and sync completed
02-12 12:41:34.035  2939  3016 I BufferQueueProducer: [ViewRootImpl[WebViewActivity]#2(BLAST Consumer)2](id:b7b00000002,api:1,p:2939,c:2939) disconnect: api 1
02-12 12:41:34.037  2939  3016 E BLASTBufferQueue: BLASTBufferItemConsumer::onDisconnect()
02-12 12:41:34.037  2939  3016 I BLASTBufferQueue: [ViewRootImpl[WebViewActivity]#2] destructor()
02-12 12:41:34.037  2939  3016 I BufferQueueConsumer: [ViewRootImpl[WebViewActivity]#2(BLAST Consumer)2](id:b7b00000002,api:0,p:-1,c:2939) disconnect
02-12 12:41:34.070  2939  2953 I BLASTBufferQueue: releaseBufferCallbackThunk bufferId:12622908882958 framenumber:74 blastBufferQueue is dead
02-12 12:41:35.262  2939  3012 I libPerfCtl: fbcNotifySbeRescue ret=-1
02-12 12:41:35.310  2939  3012 I libPerfCtl: fbcNotifySbeRescue ret=-1
02-12 12:41:36.190  2939  2939 E mpanion.androi: Invalid ID 0x00000000.
02-12 12:41:37.574  2939  2939 E mpanion.androi: Invalid ID 0x00000000.

Dashboard YAML: ha-dashboarderror-yaml - Pastebin.com