home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.9k stars 30.97k forks source link

Screen capture by ADB integration causing cpu spikes #116856

Open merc4derp opened 6 months ago

merc4derp commented 6 months ago

The problem

ADB integration by default runs a shell screencap -p command every ~2 mins. This is labeled in the config flow as "Use screen capture for album art" and is be default checked.

This screencap command takes a massive amount of cpu every time it runs, leading to frame drops and freezes if playing 4k media on non-sota chipsets.

For example on the pentonic 700 I observed the problem, the cpu usage of the screencap command was 53.3%.

Proposed solution: Disable the screen capture option by default until a more efficient way to grab this info is found.

What version of Home Assistant Core has the issue?

core-2024.5.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Android Debug Bridge

Link to integration documentation on our website

https://www.home-assistant.io/integrations/androidtv

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 6 months ago

Hey there @jefflirion, @ollo69, mind taking a look at this issue as it has been labeled with an integration (androidtv) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `androidtv` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign androidtv` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


androidtv documentation androidtv source (message by IssueLinks)

DominikWrobel commented 4 months ago

Have the same problem, and the integration is shown as offline every couple of minutes:

2024-07-21 15:48:12.272 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.0.136:5555. AdbTimeoutError: Timeout: read 0 of 24 bytes (transport_timeout_s = 1.0, read_timeout_s = 10.0) 2024-07-21 15:48:12.471 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.0.209:5555. TcpTimeoutException: Connecting to 192.168.0.209:5555 timed out (1.0 seconds) 2024-07-21 15:48:12.478 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.0.113:5555. TcpTimeoutException: Connecting to 192.168.0.113:5555 timed out (1.0 seconds) 2024-07-21 15:48:12.479 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.0.135:5555. TcpTimeoutException: Connecting to 192.168.0.135:5555 timed out (1.0 seconds) 2024-07-21 15:49:10.276 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.0.136:5555. AdbTimeoutError: Timeout: read 0 of 24 bytes (transport_timeout_s = 1.0, read_timeout_s = 10.0) 2024-07-21 15:49:10.600 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.0.209:5555. TcpTimeoutException: Connecting to 192.168.0.209:5555 timed out (1.0 seconds) 2024-07-21 15:49:20.981 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.0.136:5555. ConnectionResetError: Connection reset by peer 2024-07-21 15:49:51.163 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.0.136:5555. AdbTimeoutError: Timeout: read 0 of 24 bytes (transport_timeout_s = 1.0, read_timeout_s = 10.0) 2024-07-21 15:49:51.300 WARNING (MainThread) [homeassistant.components.media_player] Updating androidtv media_player took longer than the scheduled update interval 0:00:10 2024-07-21 15:49:51.300 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.android_tv_192_168_0_209 is taking over 10 seconds 2024-07-21 15:49:51.301 ERROR (MainThread) [homeassistant.components.androidtv.entity] Failed to execute an ADB command. ADB connection re-establishing attempt in the next update. Error: Reading from 192.168.0.209:5555 timed out (9.0 seconds) 2024-07-21 15:50:31.665 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.0.136:5555. ConnectionResetError: Connection reset by peer 2024-07-21 15:50:46.078 ERROR (MainThread) [frontend.js.latest.202407100] Uncaught error from Chrome WebView 126.0.6478.134 on Android 14 2024-07-21 15:50:46.081 ERROR (MainThread) [frontend.js.latest.202407100] Uncaught error from Chrome WebView 126.0.6478.134 on Android 14 2024-07-21 15:50:46.084 ERROR (MainThread) [frontend.js.latest.202407100] Uncaught error from Chrome WebView 126.0.6478.134 on Android 14 2024-07-21 15:50:46.084 ERROR (MainThread) [frontend.js.latest.202407100] Uncaught error from Chrome WebView 126.0.6478.134 on Android 14

issue-triage-workflows[bot] commented 1 month ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

ollo69 commented 1 month ago

Waiting for PR #124470