Nest integration high CPU usage on armv7 / raspberry pi in pubsub subscriber native code
See original GitHub issueThe problem
When I enable the Google Nest integration, I see a continous CPU load of python3 of about 65% Without this integration CPU load of python3 is just about 2%
Any recommendation to optimize the load of the Google Nest integration?
What version of Home Assistant Core has the issue?
2022.2.9
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant Container
Integration causing the issue
nest
Link to integration documentation on our website
https://www.home-assistant.io/integrations/nest
Diagnostics information
{
"home_assistant": {
"installation_type": "Home Assistant Container",
"version": "2022.2.9",
"dev": false,
"hassio": false,
"virtualenv": false,
"python_version": "3.9.7",
"docker": true,
"arch": "armv7l",
"timezone": "Europe/Brussels",
"os_name": "Linux",
"os_version": "5.10.63-v7l+",
"run_as_root": true
},
"custom_components": {
"config_editor": {
"version": "3.0",
"requirements": []
},
"hacs": {
"version": "1.22.0",
"requirements": [
"aiogithubapi>=21.11.0"
]
},
"bosch": {
"version": "0.17.3",
"requirements": [
"bosch-thermostat-client==0.17.3"
]
},
"afvalbeheer": {
"version": "4.9.2",
"requirements": [
"rsa",
"pycryptodome"
]
},
"authenticated": {
"version": "21.9.0",
"requirements": []
}
},
"integration_manifest": {
"domain": "nest",
"name": "Nest",
"config_flow": true,
"dependencies": [
"ffmpeg",
"http",
"media_source"
],
"documentation": "https://www.home-assistant.io/integrations/nest",
"requirements": [
"python-nest==4.2.0",
"google-nest-sdm==1.7.1"
],
"codeowners": [
"@allenporter"
],
"quality_scale": "platinum",
"dhcp": [
{
"macaddress": "18B430*"
},
{
"macaddress": "641666*"
},
{
"macaddress": "D8EB46*"
},
{
"macaddress": "1C53F9*"
}
],
"iot_class": "cloud_push",
"is_built_in": true
},
"data": {
"subscriber": {
"start": 1,
"message_received": 7,
"message_acked": 7
},
"devices": [
{
"data": {
"name": "**REDACTED**",
"type": "sdm.devices.types.DOORBELL",
"assignee": "**REDACTED**",
"traits": {
"sdm.devices.traits.Info": {
"customName": "**REDACTED**"
},
"sdm.devices.traits.CameraLiveStream": {
"maxVideoResolution": {
"width": 640,
"height": 480
},
"videoCodecs": [
"H264"
],
"audioCodecs": [
"AAC"
],
"supportedProtocols": [
"RTSP"
]
},
"sdm.devices.traits.CameraImage": {
"maxImageResolution": {
"width": 1920,
"height": 1200
}
},
"sdm.devices.traits.CameraPerson": {},
"sdm.devices.traits.CameraSound": {},
"sdm.devices.traits.CameraMotion": {},
"sdm.devices.traits.CameraEventImage": {},
"sdm.devices.traits.DoorbellChime": {}
},
"parentRelations": [
{
"parent": "**REDACTED**",
"displayName": "**REDACTED**"
}
]
},
"command": {
"sdm.devices.commands.CameraLiveStream.GenerateRtspStream": 1
},
"event_media": {
"event": 2,
"event.new": 2,
"event.fetch": 2,
"fetch_image": 2,
"fetch_image.skip": 2,
"event.notify": 2
}
}
]
}
}
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:75 (39 by maintainers)
Top Results From Across the Web
2022.2: Let's start streamlining! - Home Assistant Community
The CPU Speed integration migrated to configuration via the UI. Configuring CPU Speed via YAML configuration has been deprecated and will be ...
Read more >Preparation of Raspberry Pi for IoT-Enabled Applications
This chapter shares the experiences in systematic, well-tested, and executed step- by-step procedure for the preparation of the Raspberry Pi single board ...
Read more >Thesis Title
MQTT [MQT] is a publish-subscribe architecture on top of TCP/IP that allows bidirectional commu- nication between a device and a MQTT broker. It...
Read more >Gitiles - Code Review - GerritHub
007-surajit/Directory-List-PhoneGap-PluginA plugin to list contents of application directory for iOS and Android Cordova apps01org/ciaoCiao ...
Read more >Building the Web of Things - Apache Tomcat/9.0.41
Pub/sub interface via WebSockets 191 □ ... tions with a few lines of code. ... We use the Raspberry Pi as a reference...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Fantastic.That meets the description of the issue I was seeing when debugging.
Last time I bumped grpc there were some other dependency issues for protobuf 4. If these aren’t resolved yet it may not just be a trivial bump, but either way I’ll manage it.
grpc 1.51.1 was integrated in https://github.com/home-assistant/core/pull/83420
Perhaps we can confirm folks see this helps on a dev build and we can consider this closed.