Closed matsm85 closed 8 months ago
Hi @matsm85,
I think this is just a problem with the delay with which Google Fit uploads data from the app to the data being available to query in its REST API (which is what this integration uses).
Typically this can take 30-60 minutes, as explained in the README. I've also noticed that on my phone, it only uploads when on WiFi and some of the battery saving measures on your phone can kill the app stopping it from uploading to the servers.
Firstly, I'd try searching for how to stop your phone OS from killing apps. This varies phone to phone, so I can't provide details here unfortunately.
After doing this, if you could see if there's a difference between the update interval from when you're on WiFi that would also be useful.
Apart from these suggestions, I can't really do anything else as this is a fundamental limitation of the Google Fit REST API which is outside my control. My only other recommendation would be to see if there's someway to try get the data from xDrip directly to Home Assistant. I've no idea if this would be suitable, but perhaps this integration: https://www.home-assistant.io/integrations/nightscout/
Thanks
Hola@matsm85,
Creo que esto es solo un problema con la demora con la que Google Fit carga datos desde la aplicación y los datos están disponibles para consultar en su API REST (que es lo que utiliza esta integración).
Normalmente, esto puede tardar entre 30 y 60 minutos, como se explica en el archivo README. También noté que en mi teléfono, solo se carga cuando está conectado a WiFi y algunas de las medidas de ahorro de batería en su teléfono pueden desactivar la aplicación e impedir que se cargue en los servidores.
En primer lugar, intentaría buscar cómo evitar que el sistema operativo de su teléfono elimine aplicaciones. Esto varía de un teléfono a otro, por lo que lamentablemente no puedo proporcionar detalles aquí.
Después de hacer esto, si pudieras ver si hay una diferencia entre el intervalo de actualización cuando estás en WiFi, eso también sería útil.
Aparte de estas sugerencias, realmente no puedo hacer nada más ya que se trata de una limitación fundamental de la API REST de Google Fit que está fuera de mi control. Mi única otra recomendación sería ver si hay alguna forma de intentar obtener los datos de xDrip directamente a Home Assistant. No tengo idea si esto sería adecuado, pero tal vez esta integración: https://www.home-assistant.io/integrations/nightscout/
gracias
Thank you very much for your answer! Since I uploaded this problem here, the sensor does not give values, yet I continue to correctly see the values every 5 minutes in my Google Fit application. So the problem is not the update time of between 30 and 60 minutes. Isn't there a problem with mmol/l? I can't understand what my phone has to do with the data I see in HomeAssitant. I have HomeAssitant installed on a raspberry. I would really appreciate it if you can spend some time on this, as millions of people could benefit from this, since diabetes is a very serious disease and my idea is to get Alexa to issue alerts for possible health risks. And I see your work as much more interesting than nigthscout, which also involves paying for some services.
Hi @matsm85,
Sorry for the confusion, I'll have a look into the could not convert string to float: 'mmol/L'
issue.
Just to clarify a few things though:
Since I uploaded this problem here, the sensor does not give values, yet I continue to correctly see the values every 5 minutes in my Google Fit application. So the problem is not the update time of between 30 and 60 minutes.
- Even if you can see the data in your Google Fit, it can still take up to an hour for Google themselves to make the data available to us through REST API querires. I can't understand what my phone has to do with the data I see in HomeAssitant. I have HomeAssitant installed on a raspberry.
- I assume you're using some Android phone to pass the data to Google Fit. It is your phone which then uploads the data via Google Fit services which then makes it available to query through the REST API. If your phone isn't connected to the internet, for example, then you will see no Google Fit data in Home Assistant.
Thank you very much for removing my doubts. Hopefully my problem is something regarding mmol/l. I apologize for creating a new topic, my English is not very good and I thought I was not clear. You can delete it. I await your comments on mmol/l. Remember that the sensor is constantly in unknown
Hi @matsm85,
I've verified that Blood Glucose data inputted directly into the Google Fit app shows properly within the integration.
From the attached debug logs, the error is coming from the trend sensor, not from this integration.
Can you enable debug logging for this integration and attach the google_fit
logs?
Hi @YorkshireIoT I have enabled debug logging and the google fit option does not appear in the list.
You'll have to view the raw logs and filter by google_fit
.
You can get the logs by going to your configuration folder, or on the logs page scroll down and click Download Full Logs.
.
If you have you access to the configuration folder with a terminal (i.e. through SSH or with the Terminal addon), you can run this command from within the config directory
grep google_fit home-assistant.log
Hi @matsm85, I deleted your logs as it contained some personal data.
The integration is reporting no blood glucose values on your account.
Unfortunately, it gets a bit complicated from here for you verify what's at fault.
Fitness v1
and the select the blood glucose read option.
https://fitness.googleapis.com/fitness/v1/users/me/dataSources
https://fitness.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.blood_glucose:com.google.android.gms:merged/dataPointChanges
Please be sure to remove your access tokens before posting any information.
this? I have deleted the data of: Authorization and nextPageToken
Request / Response
GET /fitness/v1/users/me/dataSources HTTP/1.1
Host: fitness.googleapis.com
Content-length: 0
Authorization: ----
HTTP/1.1 200 OK
Content-length: 23
X-xss-protection: 0
Content-location: https://fitness.googleapis.com/fitness/v1/users/me/dataSources
X-content-type-options: nosniff
Transfer-encoding: chunked
Vary: Origin, X-Origin, Referer
Server: ESF
-content-encoding: gzip
Cache-control: private
Date: Sat, 02 Mar 2024 18:20:17 GMT
X-frame-options: SAMEORIGIN
Alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
Content-type: application/json; charset=UTF-8
{
"dataSource": []
}
Request / Response
GET /fitness/v1/users/me/dataSources/derived:com.google.blood_glucose:com.google.android.gms:merged/dataPointChanges HTTP/1.1
Host: fitness.googleapis.com
Content-length: 0
Authorization: -----
HTTP/1.1 200 OK
Content-length: 208
X-xss-protection: 0
Content-location: https://fitness.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.blood_glucose:com.google.android.gms:merged/dataPointChanges
X-content-type-options: nosniff
Transfer-encoding: chunked
Vary: Origin, X-Origin, Referer
Server: ESF
-content-encoding: gzip
Cache-control: private
Date: Sat, 02 Mar 2024 18:22:24 GMT
X-frame-options: SAMEORIGIN
Alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
Content-type: application/json; charset=UTF-8
{
"nextPageToken": "-------",
"deletedDataPoint": [],
"dataSourceId": "derived:com.google.blood_glucose:com.google.android.gms:merged",
"insertedDataPoint": []
}
That's exactly what I wanted, thank you @matsm85.
This explains why the integration isn't showing any data. There just isn't any accessible through the REST API.
This is outside the scope of what I know and this repository but could you check the following:
Yes, that option is enabled and the API, integration and Google Fit account are the same.
In addition, the phone's sensor data is updated correctly in HomeAssitant. It catches my attention that in the metrics data of my Google account only respiratory rate and heart rate appear to be deleted. It seems like glucose isn't even collecting data that it can delete. I tried to find an option to specifically enable glucose data but the Googlefit application does not have it. Maybe it can be done within the Google account but I can't find it.
I don't have much more to suggest unforuntately. Would you mind trying again with the Google OAuth Playground, but as well as authenticating blood glucose can you also enable activity read
?
Before pressing Allow can you take a screenshot of this screen and attach it to your reply
Finally, can you run this *Request URI again: https://fitness.googleapis.com/fitness/v1/users/me/dataSources
and again, attach the response.
Thanks
Request / Response GET /fitness/v1/users/me/dataSources/derived:com.google.blood_glucose:com.google.android.gms:merged/dataPointChanges HTTP/1.1 Host: fitness.googleapis.com Content-length: 0 Authorization:------
HTTP/1.1 200 OK Content-length: 208 X-xss-protection: 0 Content-location: https://fitness.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.blood_glucose:com.google.android.gms:merged/dataPointChanges X-content-type-options: nosniff Transfer-encoding: chunked Vary: Origin, X-Origin, Referer Server: ESF -content-encoding: gzip Cache-control: private Date: Sun, 03 Mar 2024 16:42:30 GMT X-frame-options: SAMEORIGIN Alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-type: application/json; charset=UTF-8 { "nextPageToken": "-----", "deletedDataPoint": [], "dataSourceId": "derived:com.google.blood_glucose:com.google.android.gms:merged", "insertedDataPoint": [] }
Request / Response GET /fitness/v1/users/me/dataSources HTTP/1.1 Host: fitness.googleapis.com Content-length: 0 Authorization: ------
HTTP/1.1 200 OK Content-length: 11502 X-xss-protection: 0 Content-location: https://fitness.googleapis.com/fitness/v1/users/me/dataSources X-content-type-options: nosniff Transfer-encoding: chunked Vary: Origin, X-Origin, Referer Server: ESF -content-encoding: gzip Cache-control: private Date: Sun, 03 Mar 2024 16:43:53 GMT X-frame-options: SAMEORIGIN Alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-type: application/json; charset=UTF-8 { "dataSource": [ { "dataStreamName": "top_level", "dataType": { "field": [ { "name": "duration", "format": "integer" } ], "name": "com.google.active_minutes" }, "dataQualityStandard": [], "application": { "packageName": "com.google.android.fit" }, "device": { "model": "moto g82 5G", "version": "", "type": "phone", "uid": "332ebb7b", "manufacturer": "motorola" }, "dataStreamId": "derived:com.google.active_minutes:com.google.android.fit:motorola:moto g82 5G:332ebb7b:top_level", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "duration", "format": "integer" } ], "name": "com.google.active_minutes" }, "dataStreamName": "merge_active_minutes", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.active_minutes:com.google.android.gms:merge_active_minutes", "type": "derived" }, { "dataStreamName": "top_level", "dataType": { "field": [ { "name": "activity", "format": "integer" } ], "name": "com.google.activity.segment" }, "dataQualityStandard": [], "application": { "packageName": "com.google.android.fit" }, "device": { "model": "moto g82 5G", "version": "", "type": "phone", "uid": "332ebb7b", "manufacturer": "motorola" }, "dataStreamId": "derived:com.google.activity.segment:com.google.android.fit:motorola:moto g82 5G:332ebb7b:top_level", "type": "derived" }, { "dataStreamName": "activity_from_steps", "dataType": { "field": [ { "name": "activity", "format": "integer" } ], "name": "com.google.activity.segment" }, "dataQualityStandard": [], "application": { "packageName": "com.google.android.gms" }, "device": { "model": "Moto Z3 Play", "version": "", "type": "phone", "uid": "1875e63c", "manufacturer": "Motorola" }, "dataStreamId": "derived:com.google.activity.segment:com.google.android.gms:Motorola:Moto Z3 Play:1875e63c:activity_from_steps", "type": "derived" }, { "dataStreamName": "from_activity_samples<-derived:com.google.activity.samples:com.google.android.gms:Motorola:Moto Z3 Play:1875e63c:detailed", "dataType": { "field": [ { "name": "activity", "format": "integer" } ], "name": "com.google.activity.segment" }, "dataQualityStandard": [], "application": { "packageName": "com.google.android.gms" }, "device": { "model": "Moto Z3 Play", "version": "", "type": "phone", "uid": "1875e63c", "manufacturer": "Motorola" }, "dataStreamId": "derived:com.google.activity.segment:com.google.android.gms:Motorola:Moto Z3 Play:1875e63c:from_activity_samples<-derived:com.google.activity.samples:com.google.android.gms:Motorola:Moto Z3 Play:1875e63c:detailed", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "activity", "format": "integer" } ], "name": "com.google.activity.segment" }, "dataStreamName": "merge_activity_segments", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.activity.segment:com.google.android.gms:merge_activity_segments", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "activity", "format": "integer" } ], "name": "com.google.activity.segment" }, "dataStreamName": "merge_activity_segments_local", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.activity.segment:com.google.android.gms:merge_activity_segments_local", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "calories", "format": "floatPoint" } ], "name": "com.google.calories.bmr" }, "dataStreamName": "merged", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.calories.bmr:com.google.android.gms:merged", "type": "derived" }, { "dataStreamName": "top_level", "dataType": { "field": [ { "name": "calories", "format": "floatPoint" } ], "name": "com.google.calories.expended" }, "dataQualityStandard": [], "application": { "packageName": "com.google.android.fit" }, "device": { "model": "moto g82 5G", "version": "", "type": "phone", "uid": "332ebb7b", "manufacturer": "motorola" }, "dataStreamId": "derived:com.google.calories.expended:com.google.android.fit:motorola:moto g82 5G:332ebb7b:top_level", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "calories", "format": "floatPoint" } ], "name": "com.google.calories.expended" }, "dataStreamName": "merge_calories_expended", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.calories.expended:com.google.android.gms:merge_calories_expended", "type": "derived" }, { "dataStreamName": "top_level", "dataType": { "field": [ { "name": "intensity", "format": "floatPoint" } ], "name": "com.google.heart_minutes" }, "dataQualityStandard": [], "application": { "packageName": "com.google.android.fit" }, "device": { "model": "moto g82 5G", "version": "", "type": "phone", "uid": "332ebb7b", "manufacturer": "motorola" }, "dataStreamId": "derived:com.google.heart_minutes:com.google.android.fit:motorola:moto g82 5G:332ebb7b:top_level", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "intensity", "format": "floatPoint" } ], "name": "com.google.heart_minutes" }, "dataStreamName": "from_heart_rate<-merge_heart_rate_bpm", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.heart_minutes:com.google.android.gms:from_heart_rate<-merge_heart_rate_bpm", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "intensity", "format": "floatPoint" } ], "name": "com.google.heart_minutes" }, "dataStreamName": "merge_heart_minutes", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.heart_minutes:com.google.android.gms:merge_heart_minutes", "type": "derived" }, { "dataStreamName": "top_level", "dataType": { "field": [ { "name": "steps", "format": "integer" } ], "name": "com.google.step_count.delta" }, "dataQualityStandard": [], "application": { "packageName": "com.google.android.fit" }, "device": { "model": "moto g82 5G", "version": "", "type": "phone", "uid": "332ebb7b", "manufacturer": "motorola" }, "dataStreamId": "derived:com.google.step_count.delta:com.google.android.fit:motorola:moto g82 5G:332ebb7b:top_level", "type": "derived" }, { "dataStreamName": "derive_step_deltas<-raw:com.google.step_count.cumulative:Motorola:Moto Z3 Play:1875e63c:Step Counter", "dataType": { "field": [ { "name": "steps", "format": "integer" } ], "name": "com.google.step_count.delta" }, "dataQualityStandard": [], "application": { "packageName": "com.google.android.gms" }, "device": { "model": "Moto Z3 Play", "version": "", "type": "phone", "uid": "1875e63c", "manufacturer": "Motorola" }, "dataStreamId": "derived:com.google.step_count.delta:com.google.android.gms:Motorola:Moto Z3 Play:1875e63c:derive_step_deltas<-raw:com.google.step_count.cumulative:Motorola:Moto Z3 Play:1875e63c:Step Counter", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "steps", "format": "integer" } ], "name": "com.google.step_count.delta" }, "dataStreamName": "estimated_steps", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "steps", "format": "integer" } ], "name": "com.google.step_count.delta" }, "dataStreamName": "merge_step_deltas", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.step_count.delta:com.google.android.gms:merge_step_deltas", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "steps", "format": "integer" } ], "name": "com.google.step_count.cumulative" }, "dataStreamName": "Step Counter", "device": { "model": "Moto Z3 Play", "version": "", "type": "phone", "uid": "1875e63c", "manufacturer": "Motorola" }, "dataStreamId": "raw:com.google.step_count.cumulative:Motorola:Moto Z3 Play:1875e63c:Step Counter", "type": "raw" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "steps", "format": "integer" } ], "name": "com.google.step_count.cumulative" }, "dataStreamName": "pedometer Non-wakeup", "device": { "model": "moto g82 5G", "version": "", "type": "phone", "uid": "332ebb7b", "manufacturer": "motorola" }, "dataStreamId": "raw:com.google.step_count.cumulative:motorola:moto g82 5G:332ebb7b:pedometer Non-wakeup", "type": "raw" } ] }
The Motorla Z3 seems strange to me, I haven't had that device for many years.
I did it all from scratch with another gmail account: I have the problem at the beginning again, the value is stuck in the first value I take.
These are the results:
Request / Response GET /fitness/v1/users/me/dataSources HTTP/1.1 Host: fitness.googleapis.com Content-length: 0 Authorization:___ HTTP/1.1 200 OK Content-length: 2061 X-xss-protection: 0 Content-location: https://fitness.googleapis.com/fitness/v1/users/me/dataSources X-content-type-options: nosniff Transfer-encoding: chunked Vary: Origin, X-Origin, Referer Server: ESF -content-encoding: gzip Cache-control: private Date: Sun, 03 Mar 2024 20:25:25 GMT X-frame-options: SAMEORIGIN Alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-type: application/json; charset=UTF-8 { "dataSource": [ { "dataQualityStandard": [], "dataType": { "field": [ { "name": "blood_glucose_level", "format": "floatPoint" }, { "optional": true, "name": "temporal_relation_to_meal", "format": "integer" }, { "optional": true, "name": "meal_type", "format": "integer" }, { "optional": true, "name": "temporal_relation_to_sleep", "format": "integer" }, { "optional": true, "name": "blood_glucose_specimen_source", "format": "integer" } ], "name": "com.google.blood_glucose" }, "dataStreamName": "merged", "application": { "packageName": "com.google.android.gms" }, "dataStreamId": "derived:com.google.blood_glucose:com.google.android.gms:merged", "type": "derived" }, { "dataQualityStandard": [], "dataType": { "field": [ { "name": "blood_glucose_level", "format": "floatPoint" }, { "optional": true, "name": "temporal_relation_to_meal", "format": "integer" }, { "optional": true, "name": "meal_type", "format": "integer" }, { "optional": true, "name": "temporal_relation_to_sleep", "format": "integer" }, { "optional": true, "name": "blood_glucose_specimen_source", "format": "integer" } ], "name": "com.google.blood_glucose" }, "dataStreamName": "health_platform", "application": { "packageName": "com.eveningoutpost.dexdrip" }, "dataStreamId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform", "type": "raw" } ] }
Request / Response GET /fitness/v1/users/me/dataSources/derived:com.google.blood_glucose:com.google.android.gms:merged/dataPointChanges HTTP/1.1 Host: fitness.googleapis.com Content-length: 0 Authorization: ____ HTTP/1.1 200 OK Content-length: 6310 X-xss-protection: 0 Content-location: https://fitness.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.blood_glucose:com.google.android.gms:merged/dataPointChanges X-content-type-options: nosniff Transfer-encoding: chunked Vary: Origin, X-Origin, Referer Server: ESF -content-encoding: gzip Cache-control: private Date: Sun, 03 Mar 2024 20:35:03 GMT X-frame-options: SAMEORIGIN Alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-type: application/json; charset=UTF-8 { "nextPageToken": "xCIzFrK/gMRoiWG1SaHBJXzYzQ1p4b01ITnVpSmptcHlObW92ZmxKcUdJUQ==", "deletedDataPoint": [], "dataSourceId": "derived:com.google.blood_glucose:com.google.android.gms:merged", "insertedDataPoint": [ { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709468854854000000", "endTimeNanos": "1709468854854000000", "value": [ { "mapVal": [], "fpVal": 5.387709617614746 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" }, { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709492758495000000", "endTimeNanos": "1709492758495000000", "value": [ { "mapVal": [], "fpVal": 7.6712446212768555 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" }, { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709493058186000000", "endTimeNanos": "1709493058186000000", "value": [ { "mapVal": [], "fpVal": 7.395725727081299 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" }, { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709493357316000000", "endTimeNanos": "1709493357316000000", "value": [ { "mapVal": [], "fpVal": 6.9100661277771 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" }, { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709493657814000000", "endTimeNanos": "1709493657814000000", "value": [ { "mapVal": [], "fpVal": 6.158227443695068 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" }, { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709493958181000000", "endTimeNanos": "1709493958181000000", "value": [ { "mapVal": [], "fpVal": 5.355020999908447 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" }, { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709494258181000000", "endTimeNanos": "1709494258181000000", "value": [ { "mapVal": [], "fpVal": 4.640540599822998 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" }, { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709494558372000000", "endTimeNanos": "1709494558372000000", "value": [ { "mapVal": [], "fpVal": 4.0428056716918945 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" }, { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709494823297000000", "endTimeNanos": "1709494823297000000", "value": [ { "mapVal": [], "fpVal": 3.7439379692077637 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" }, { "modifiedTimeMillis": "1709496279692", "startTimeNanos": "1709495897008000000", "endTimeNanos": "1709495897008000000", "value": [ { "mapVal": [], "fpVal": 5.00945520401001 }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [] }, { "mapVal": [], "intVal": 1 } ], "dataTypeName": "com.google.blood_glucose", "originDataSourceId": "raw:com.google.blood_glucose:com.eveningoutpost.dexdrip:health_platform" } ] }
look at this, the data in googlefit totally coincides with what the command you showed me gives me. Fpval:
However, I still see the first value in homeassitant after two hours.
For some reason my Gmail account is not sending data, the other account I used to send you the screenshots does. The problem is what you already told me, it only updates every 60/120 minutes. Which makes the data useless for something as important as blood glucose.
Hi @matsm85, thanks for reporting back with that information. Unfortunately, that long delay is something from Google and is outside my control and as such can't be "fixed" in this integration. Sorry about this, it's probably not what you wanted to hear.
@YorkshireIoT Can't the lost data be loaded into your integration? That is, even if it is to obtain the delayed data, to achieve a real graph. I don't know if I'm clear.
Potentially, but there's already an issue open that's related to that (#59) where I plan to do the initial investigation into whether data can be backdated in Home Assistant.
System Health details
System Information
Home Assistant Community Store
GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 5000 Installed Version | 1.34.0 Stage | running Available Repositories | 1392 Downloaded Repositories | 11Home Assistant Cloud
logged_in | true -- | -- subscription_expiration | 20 de febrero de 2024, 21:00 relayer_connected | true relayer_region | us-east-1 remote_enabled | true remote_connected | true alexa_enabled | true google_enabled | false remote_server | us-east-1-2.ui.nabu.casa certificate_status | ready instance_id | 1c0baefd05064773886f60bf62d5f004 can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | okHome Assistant Supervisor
host_os | Home Assistant OS 11.5 -- | -- update_channel | stable supervisor_version | supervisor-2024.01.1 agent_version | 1.6.0 docker_version | 24.0.7 disk_total | 27.7 GB disk_used | 13.7 GB healthy | true supported | true board | rpi3 supervisor_api | ok version_api | ok installed_addons | File editor (5.8.0), Terminal & SSH (9.9.0), MQTT IO (0.4.0), Samba share (12.3.0), VLC (0.3.0), motionEye (0.20.0), Google Assistant SDK (2.5.0), ESPHome (2023.12.9)Dashboards
dashboards | 1 -- | -- resources | 3 views | 10 mode | storageRecorder
oldest_recorder_run | 11 de febrero de 2024, 01:22 -- | -- current_recorder_run | 16 de febrero de 2024, 10:36 estimated_db_size | 20.18 MiB database_engine | sqlite database_version | 3.44.2Checklist
Describe the issue
The xdrip of my daughter with type 1 diabetes sends correctly to the "health connect" application, it correctly sends the data to the Google Fit application on my phone, but the data does not reach the Home Assistant integration, or arrives incorrectly, Many times I notice that it stagnates at the maximum or minimum values of the day. I think there is an error in the data that this sensor is collecting, or how the home assistant is collecting it.
Integration Version
fitness por Google, Inc. Firmware: v1
Reproduction steps
Carry out installation according to instructions. Check glucose values in the Google Fit app and compare with the results in the integration. Keep in mind that data is sent every 5 minutes from xdrip.
Debug logs