a month ago - last edited 3 weeks ago
Hi everyone,
I’ve been experimenting with a custom Matter-based smart plug integration, and I’m seeing something that doesn’t quite add up.
Locally, the device responds instantly and state changes are reflected in my app logs without issue.
However, when I query the Home Graph right after the action, the reported state doesn’t always update until much later (sometimes minutes).
I’ve double-checked my SYNC and REPORT_STATE payloads — everything looks fine according to the docs.
What I’ve tried so far:
Verified JWT credentials and checked for quota errors in Cloud logs.
Ensured that REPORT_STATE is being called immediately after local changes.
Tested with both Wi-Fi and Thread variants of the device.
The situation reminds me of the Dunkin Donuts Menu — where you may have many choices available, but what gets served to you (the visible state in Home Graph) doesn’t always reflect the actual choice made instantly. Locally, everything is correct, but the “front-end experience” can lag behind.
Questions I have:
Is there a known delay in how Home Graph updates states for Matter devices, or could this be a bug in my implementation?
Are there best practices for forcing state consistency (e.g., retry intervals or reconciliation strategies)?
Has anyone else seen differences between local fulfillment correctness and Home Graph latency?
This is tricky because from a user perspective, the Google Home app sometimes shows stale states even though the physical device is behaving correctly.
Any insights from developers who’ve worked with Matter devices in production would be really valuable.
Thanks in advance!
Answered! Go to the Recommended Answer.
4 weeks ago - last edited 4 weeks ago
Thanks for sharing. The delay you're experiencing is well-known in smart home development. It stems from the inherent architectural difference between a Matter device's instantaneous local control and the eventual consistency of a cloud-based service like the Home Graph. This issue isn't exclusive to Google's ecosystem; developers in other platforms have also reported similar latency challenges.
Your Matter device is designed for a local-first approach. When you trigger a command, it's executed immediately on your local network over Wi-Fi or Thread. The device and your local Google Home hub communicate directly, which is why your app logs show the state change instantly.
However, the Home Graph is a separate, cloud-dependent system. To update its record of your device's state, your REPORT_STATE payload must travel from your local network to your cloud service, then to Google's servers, and finally be processed and reflected in the Home Graph.
While a slight delay is expected and considered normal, a latency of minutes for a simple ON/OFF command on a smart plug is not typical. This level of delay points to a problem beyond standard cloud latency.
Try below strategies to better understand the issue:
The Home Graph Viewer is an essential tool for debugging this issue. While it doesn't provide an automatic latency measurement, you can use it to manually assess the delay.
This manual comparison will tell you if the REPORT_STATE payloads are reaching the Home Graph in a timely manner.
If you consistently experience delays of minutes, especially for a simple ON/OFF command, we highly recommend reporting the issue via Google’s Issue tracker. This level of latency is not expected behavior. When reporting the issue use Smart Home component and Matter Template
Provide a description of the problem as here and attach the required logs. Our team will take a closer look.
4 weeks ago - last edited 4 weeks ago
Thanks for sharing. The delay you're experiencing is well-known in smart home development. It stems from the inherent architectural difference between a Matter device's instantaneous local control and the eventual consistency of a cloud-based service like the Home Graph. This issue isn't exclusive to Google's ecosystem; developers in other platforms have also reported similar latency challenges.
Your Matter device is designed for a local-first approach. When you trigger a command, it's executed immediately on your local network over Wi-Fi or Thread. The device and your local Google Home hub communicate directly, which is why your app logs show the state change instantly.
However, the Home Graph is a separate, cloud-dependent system. To update its record of your device's state, your REPORT_STATE payload must travel from your local network to your cloud service, then to Google's servers, and finally be processed and reflected in the Home Graph.
While a slight delay is expected and considered normal, a latency of minutes for a simple ON/OFF command on a smart plug is not typical. This level of delay points to a problem beyond standard cloud latency.
Try below strategies to better understand the issue:
The Home Graph Viewer is an essential tool for debugging this issue. While it doesn't provide an automatic latency measurement, you can use it to manually assess the delay.
This manual comparison will tell you if the REPORT_STATE payloads are reaching the Home Graph in a timely manner.
If you consistently experience delays of minutes, especially for a simple ON/OFF command, we highly recommend reporting the issue via Google’s Issue tracker. This level of latency is not expected behavior. When reporting the issue use Smart Home component and Matter Template
Provide a description of the problem as here and attach the required logs. Our team will take a closer look.