toz/MediLog
9
51
Fork
You've already forked MediLog
3

GadgetBridge data support #249

Closed
opened 2022年09月27日 15:20:35 +02:00 by GEkuL · 12 comments
GEkuL commented 2022年09月27日 15:20:35 +02:00 (Migrated from gitlab.com)
Copy link

Hi there,
Could you add the support for GadgetBridge data?

Both apps have health part in common, thus that would be nice to have some kind of integration, especially since MediLog has pulse setting. I believe that smart watches can enrich the app with the data, thus benefiting user and the project overall.

Hi there, Could you add the support for [GadgetBridge](https://gadgetbridge.org/) data? Both apps have health part in common, thus that would be nice to have some kind of integration, especially since MediLog has pulse setting. I believe that smart watches can enrich the app with the data, thus benefiting user and the project overall.
GEkuL commented 2022年09月27日 15:20:57 +02:00 (Migrated from gitlab.com)
Copy link

changed title from {-https://g-}adget{-b-}ridge{-.org/-} to {+G+}adget{+B+}ridge{+ data support+}

changed title from **{-https://g-}adget{-b-}ridge{-.org/-}** to **{+G+}adget{+B+}ridge{+ data support+}**
GEkuL commented 2022年09月27日 15:47:36 +02:00 (Migrated from gitlab.com)
Copy link

changed the description

changed the description
toz12 commented 2022年09月28日 09:22:10 +02:00 (Migrated from gitlab.com)
Copy link

Been looking into Gadget Bridge a while ago, turned out I have no gadget which GadgetBridge supports. Hence no means to test integration.

Also, and probably more important, when I started MediLog my main goal was to allow to capture manual data as quickly and easily as possible, quicker than a piece of paper and a pen. If data is captured automatically MediLog would just be responsible for charting and analysis, which isn't it's strength.

Been looking into Gadget Bridge a while ago, turned out I have no gadget which GadgetBridge supports. Hence no means to test integration. Also, and probably more important, when I started MediLog my main goal was to allow to capture manual data as quickly and easily as possible, quicker than a piece of paper and a pen. If data is captured automatically MediLog would just be responsible for charting and analysis, which isn't it's strength.

Sorry for bringing up this old issue again.
I would also love to see gadgetbridge integration. I understand the point why manual entering is the focus, was the main reason i choose medilog. And i would keep it that way in my setup for most of the values. But e.g. heart rate is a value that is helpful measured more often then i would find the time to enter it into medilog.
The combination of the automatic readings and manual entered values is for me a big features.

But, as far as i understand how gadegebridge works medilog would need to provide an intent and gadgetbridge needs to support that intent. This is already done for opentrack https://gadgetbridge.org/internals/topics/opentracks-api/ so if im not wrong we would need support on gadegetbridge site to.o Only other way would be to parse the gadgetbrige export which feels wrong.

Sorry for bringing up this old issue again. I would also love to see gadgetbridge integration. I understand the point why manual entering is the focus, was the main reason i choose medilog. And i would keep it that way in my setup for most of the values. But e.g. heart rate is a value that is helpful measured more often then i would find the time to enter it into medilog. The combination of the automatic readings and manual entered values is for me a big features. But, as far as i understand how gadegebridge works medilog would need to provide an intent and gadgetbridge needs to support that intent. This is already done for opentrack https://gadgetbridge.org/internals/topics/opentracks-api/ so if im not wrong we would need support on gadegetbridge site to.o Only other way would be to parse the gadgetbrige export which feels wrong.

Given that GadgetBridge will already capture and visualize the heart rate data, why would you also keep that data in MediLog? To keep all medical measurements together in one app?

I had a quick look at the opentracks api, if I understand this correctly this is about merging two inputs, a smart bands body metrics and opentracks GPS.
What we'd need for MediLog is a output channel which I don't think exists?

Given that GadgetBridge will already capture and visualize the heart rate data, why would you also keep that data in MediLog? To keep all medical measurements together in one app? I had a quick look at the opentracks api, if I understand this correctly this is about merging two inputs, a smart bands body metrics and opentracks GPS. What we'd need for MediLog is a output channel which I don't think exists?

Thanks for the quick response.

sorry for not being clear enough an the opentracks topic, it was just an example how gadegetbridge exports data to another app at the moment.

My usecase would be to have e.g. medilog as a central data store for health data on the phone and export them all together from there to e.g. Wger (https://wger.de/en/software/features) or an influxDB.

Which of course would also need some more export features on medilog site. I started to look at the code of gadegtbridge and medilog. I need find some more time and hopefully come back to you with an pull request :-)

My preferred way (at the current state) would be to add an simple influxDB client to gadgetbridge and medilog and let both tools push that data to an influxDB and build a nice grafana dashbaord for it. This way the two apps dont need to interact with each other. Weger would probably more user friendly but has currently some limitations on the data model.

Thanks for the quick response. sorry for not being clear enough an the opentracks topic, it was just an example how gadegetbridge exports data to another app at the moment. My usecase would be to have e.g. medilog as a central data store for health data on the phone and export them all together from there to e.g. Wger (https://wger.de/en/software/features) or an influxDB. Which of course would also need some more export features on medilog site. I started to look at the code of gadegtbridge and medilog. I need find some more time and hopefully come back to you with an pull request :-) My preferred way (at the current state) would be to add an simple influxDB client to gadgetbridge and medilog and let both tools push that data to an influxDB and build a nice grafana dashbaord for it. This way the two apps dont need to interact with each other. Weger would probably more user friendly but has currently some limitations on the data model.

Cool. If you consider a pull request have a look at v3.0 please. I made substantial changes all over the place and we don't wan't whatever you propose be obsolete right away.

I planned to release v3 already a while ago but got a report on crashes with Android 14 which I havent't found time to investigate.

Cool. If you consider a pull request have a look at v3.0 please. I made substantial changes all over the place and we don't wan't whatever you propose be obsolete right away. I planned to release v3 already a while ago but got a report on crashes with Android 14 which I havent't found time to investigate.

Hi,
This workflow smartdevice > gadgetbridge > medilog > self-hosted service like Wger is exactly what I try to do, have you any news on this @derpeter ?
Is it still a possibility, or have you found it won't work out? If it's the case, have you found another way of doing it?
Weirdly, it seems there is not a lot of open source and self hostable options for this, even Wger seems to be more oriented towards training and exercise than regular health. I would have think general health monitoring and reporting would have been a more popular interest, and in my opinion it's not possible to mix personal medical datas with any cloud or proprietary service,
so an app like yours would be a real gamechanger IMHO.
Thanks again, a lot!

Hi, This workflow `smartdevice > gadgetbridge > medilog > self-hosted service like Wger` is exactly what I try to do, have you any news on this @derpeter ? Is it still a possibility, or have you found it won't work out? If it's the case, have you found another way of doing it? Weirdly, it seems there is not a lot of open source and self hostable options for this, even Wger seems to be more oriented towards training and exercise than regular health. I would have think general health monitoring and reporting would have been a more popular interest, and in my opinion it's not possible to mix personal medical datas with any cloud or proprietary service, so an app like yours would be a real gamechanger IMHO. Thanks again, a lot!

@Froggy232 not realy news but some more results from my research.

I installed wger and evaluated it. It does not provide combined measurement suppert e.g. storing weight and bodyfat or headreate and blood oxigen togehter. Also while you can add most things as custom fileds its not nice integrated. All in all the benefits of wger are minimal as at the end of the day it only does plots.

I looked into the gadetbridge code and adding medilog as data sink seems not to hard. The question is (and i think thats what @toz was also pointing out) "is this realy a benefit over having the data in gadegetbride?"

While playing with the data i also bought a smart scale, which of course works with non of the apps but at least can produce a CSV output. Playing with the data i realized that we not only need to pull data from source into medilog or what ever the data sink will be, we also need to push at least the weight back as apps use that as base to calculate calorines burned.

So in a perfect world we would have one app e.g. GB that talks to alll the smart devices and one app e.g. medilog that is used to manual inputs. Both apps than should send the data to something that stores and visualize.

my plan is to have influxDB as the data sink for all the source and probably garfana to visualize.

Sending data back will be more tricky at least we will need to talk to GB (i did no check if there is API already for setting the user weight). Maybe seding the data back is not so important as long as the user is not currently on a diet (or gains wait)

@Froggy232 not realy news but some more results from my research. I installed wger and evaluated it. It does not provide combined measurement suppert e.g. storing weight and bodyfat or headreate and blood oxigen togehter. Also while you can add most things as custom fileds its not nice integrated. All in all the benefits of wger are minimal as at the end of the day it only does plots. I looked into the gadetbridge code and adding medilog as data sink seems not to hard. The question is (and i think thats what @toz was also pointing out) "is this realy a benefit over having the data in gadegetbride?" While playing with the data i also bought a smart scale, which of course works with non of the apps but at least can produce a CSV output. Playing with the data i realized that we not only need to pull data from source into medilog or what ever the data sink will be, we also need to push at least the weight back as apps use that as base to calculate calorines burned. So in a perfect world we would have one app e.g. GB that talks to alll the smart devices and one app e.g. medilog that is used to manual inputs. Both apps than should send the data to something that stores and visualize. my plan is to have influxDB as the data sink for all the source and probably garfana to visualize. Sending data back will be more tricky at least we will need to talk to GB (i did no check if there is API already for setting the user weight). Maybe seding the data back is not so important as long as the user is not currently on a diet (or gains wait)

I understand, I had think about Grafana too, but I never used it before and it's a shame IMHO that there is not an dedicated service, with a proper UI and features. Also, manually setting InfluxDB manually is something I never did before, and as they are generalists solutions I fear that there will be too much difficulty to set up, I am right or is it a mistake to think like that?
I will try to play with theses solutions I think, and if I achieve to get something that work I will begin to buy smart devices.
Thanks you A LOT for your informations and work, and please, feel totally free to share other inputs on the question if you have, it's a very interesting field I think.
Have a very nice day, and thanks again.

I understand, I had think about Grafana too, but I never used it before and it's a shame IMHO that there is not an dedicated service, with a proper UI and features. Also, manually setting InfluxDB manually is something I never did before, and as they are generalists solutions I fear that there will be too much difficulty to set up, I am right or is it a mistake to think like that? I will try to play with theses solutions I think, and if I achieve to get something that work I will begin to buy smart devices. Thanks you A LOT for your informations and work, and please, feel totally free to share other inputs on the question if you have, it's a very interesting field I think. Have a very nice day, and thanks again.

i work a lot with influx (including maintaining an android app and numerous python scripts talking to it) as well as making grafana dashboards. So this part will by easy / i can do. Integration into medilog and GB seemed to my from a quick look at the code not that hard BUT it gets tricky at the moment we where we don't want to just send all data but only new data. There are different options e.g. tracking that in the source app or looking into the influx for the last value but there is a lot of complexity here and i dont see the free time on my site to implement this in a way that i would be good enough to make a PR ... at least not for GB and medilog.

i work a lot with influx (including maintaining an android app and numerous python scripts talking to it) as well as making grafana dashboards. So this part will by easy / i can do. Integration into medilog and GB seemed to my from a quick look at the code not that hard BUT it gets tricky at the moment we where we don't want to just send all data but only new data. There are different options e.g. tracking that in the source app or looking into the influx for the last value but there is a lot of complexity here and i dont see the free time on my site to implement this in a way that i would be good enough to make a PR ... at least not for GB and medilog.

I understand totally, thanks for your answer. I don't have the knowledge to help unfortunally, but I will search more about your setup and try to replicate it, maybe I will achieve to get something.
Thanks you again, and if you want/have the time, feel totally free to repost in this thread or send me a private message if you find a better setup or any other things related to that, I'm open to any idea.
Thanks again, have a very nice day.

I understand totally, thanks for your answer. I don't have the knowledge to help unfortunally, but I will search more about your setup and try to replicate it, maybe I will achieve to get something. Thanks you again, and if you want/have the time, feel totally free to repost in this thread or send me a private message if you find a better setup or any other things related to that, I'm open to any idea. Thanks again, have a very nice day.
Sign in to join this conversation.
No Branch/Tag specified
main
3.6.0
3.3.8
master
v3.3.2
v3.2.7
v3.2.5
v3.2.1
v3.2.0
v3.1.2
v3.1.0
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v2.7.4
v3.0.3
v3.0.1
v3.0.0
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.3
v2.6.2
v2.6.0
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.8
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.0
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v3.7.1
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.0
v3.5.1
v3.5.0
v3.4.1
v3.4.0
v3.3.11
v3.3.10
v3.3.9
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.2.7
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.1
v3.2.0
v3.1.2
v3.1.1
v3.1.0
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.8
v2.4.7
v2.4.6
v2.4.5
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.5
v2.2.4
v2.2.3
v2.2.1
v2.2.2
v2.2.0
v2.1.2
v2.1.1
v2.1.0
v2.0.6
v2.0.5
v2.0.1
v3.7.0
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
toz/MediLog#249
Reference in a new issue
toz/MediLog
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?