Metagoals on beemind.me

How often/when does it update?

It is configured to sync (with the rest of the supported integrations), in the beginning of every round hour.

1 Like

Can you please make the datapoint comment say which goal it came from.

1 Like

Good idea. I’ll add that feature later.

  • Update: Done.
2 Likes

Awesome, thanks.

Another request:

I have an odometer goal or cycling and I’d like to update my exercise with a 1 if I did cycle that day.
But it currently auto-submits the entire odometer value. I’d like to only submit 1.
How do I achieve this?

What if your exercise goal aggregated as binary?

1 Like

At the moment aggregating as binary would not solve the problem because it does not change the datapoints values in the api.
It’s possible to take that into consideration and aggregate by day. The downside for that approach would be that it would mess up the generated graph on beeminder and I’d also have to deal with timezones.

I’m considering adding a metric that counts the number of datapoints per hour for selected goals. Would that solve the problem?
You might get two points if you update the odometer twice in the same day but maybe its even better.

This feature is something that I’ve wanted for a long time, but hadn’t put much thought into trying to accomplish. Thanks for making it happen!

Just as a warning, the syncing currently seems to be incompatible with also adding data manually to the meta-goal. This afternoon, I made some new goals and composed them with an existing one. During one of the syncs, data points disappeared that I had earlier put manually in my older (now meta) goal.

1 Like

You’re welcome.

Yes, It is an application wide design concern. The app deletes overlapping timestamps. I think keeping overlapping datapoints might cause confusion in other situations.
What I did to deal with manual input into meta goal is to have another goal just for manual input and compose it with the others.

That’s why I suggested that @insti might be able to solve this particular case by putting his Beeminder goal into binary; no matter how many datapoints are received by it, his exercise goal would increment by exactly one, on each day with at least one contributing exercise.

@philip, You are right that binary is exactly what @insti wanted. The integration works by reading goals’ datapoints and the datapoints are not affected by this setting. I really don’t want to duplicate that logic so it might make sense to also expose datapoints after aggregation in beeminder api.
@bee, @dreev What do you think?

Binary aggregation works in this case, and it is what I have the goal set to, but what I would like is to be submitting the ‘correct’ values to the target graph.

If my goal was structured such that I wanted to make sure I did 3 out of 5 different things per day (while beeminding those things individually), beemind.me would not be able to help me.

Currently beemind.me has a multiply box if there was also an ‘add’ box, I could multiply by 0 and add 1 to get the right value.

Unfortunately that would not work either. The datapoints in beemind.me are calculated hourly which means cycling twice in the same day would lead to two datapoints in the target goal.

At the moment I have no access to the ‘correct’ values. One way to get it is to duplicate the logic of aggregations: min, max, last, binary, etc. Preferably, I could get the aggregated value from beeminder’s API.

That would be fine. I don’t want aggregated data, just a fixed datapoint value.

If you don’t mind getting two datapoint for a day with two cycling session. I think my previous suggestion of having a metric that just counts datapoints is better. You could have a cycling goal that is transformed to cycling_count goal (with the help of the metric yet to be implemented). Then you could use the current “compose” metric to add cycling_count to the current target goal.
My reason for this preference is to reduce the complexity the UI for editing goal integrations.

That sounds fine.

I just added the metric of counting datapoints. You can try it now.

1 Like

I tried this today and got an error:

We’re sorry, but something went wrong.

If you are the application owner check the logs for more information

The app does not support two different metrics with the same target slug. You have to create another intermediate goal like cycling_count for counting and use it as a source goal for the “compos” metric.
Now the app filters slugs that are in use by other metrics so this error should not happen again.

1 Like

Update: it doesn’t. binary gives a aggregated value of 1 even when the datapoint entered is 0 what I needed was nonzero

1 Like