cancel
Showing results for 
Search instead for 
Did you mean: 

Strange Behavior: Matter Device Reporting Correct States Locally but Not Updating in Home Graph

Tanveer6279
Community Member

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:

  1. Verified JWT credentials and checked for quota errors in Cloud logs.

  2. Ensured that REPORT_STATE is being called immediately after local changes.

  3. 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!

1 Recommended Answer

arm_dpe
Solutions Expert
Solutions Expert

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:

  • Google Home App's Logic: The Google Home app's primary view of your device's state is what's in the Home Graph. If the state appears stale, it's because the REPORT_STATE hasn't been processed yet. The app itself has a built-in reconciliation mechanism. When a user relaunches the app or refreshes the home/device page, it often performs a QUERY to your cloud to get the latest state, which can "fix" the stale display.
  • Avoid Excessive Retries: Don't attempt to solve the delay by repeatedly sending REPORT_STATE payloads. This is ineffective and can lead to rate-limiting or other issues with Google's API.

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.

  1. Trigger a local action on your device.
  2. Immediately note the timestamp.
  3. In the Home Graph Viewer, click SYNC to refresh the device list.
  4. Compare your timestamp with the last updated timestamp shown for your device in the viewer.

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.

View Recommended Answer in original post

1 REPLY 1

arm_dpe
Solutions Expert
Solutions Expert

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:

  • Google Home App's Logic: The Google Home app's primary view of your device's state is what's in the Home Graph. If the state appears stale, it's because the REPORT_STATE hasn't been processed yet. The app itself has a built-in reconciliation mechanism. When a user relaunches the app or refreshes the home/device page, it often performs a QUERY to your cloud to get the latest state, which can "fix" the stale display.
  • Avoid Excessive Retries: Don't attempt to solve the delay by repeatedly sending REPORT_STATE payloads. This is ineffective and can lead to rate-limiting or other issues with Google's API.

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.

  1. Trigger a local action on your device.
  2. Immediately note the timestamp.
  3. In the Home Graph Viewer, click SYNC to refresh the device list.
  4. Compare your timestamp with the last updated timestamp shown for your device in the viewer.

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.