High accuracy mode notifications, where is "auto" mode?

I recently started using the high accuracy mode notifications but I noticed there seems to be one setting missing.

You get turn on and off.
Turn on will force the phone in to high accuracy mode.
Turn off will disable the setting in the sensors settings.

But where is the setting enable but only when other conditions are meet? Like how the setting works normally.

the settings will still do their thing, the notification command was just to control it in case you were not using it

Not for me.
This notification will toggle the boolean “High accuracy mode(May drain battery fast)” and when it’s off then it will not enable even when connected to the selected BT device.

What about the opposite? What if you enable it via notification and your BT device disconnects. Does it work then? May also need to look at app configuration logs to see whats going on there too.

Now I finally remembered to test this.

If I enable high accuracy and get within range of the BT device then it stays on high accuracy.
When I disconnect from this device it returns to the auto mode, meaning disable the high accuracy but the setting is still enabled.

I just want to add to this, since I was coming here for a feature request associated with this same issue.

When you use “disable” from the notification (or even turn_off from a remote notification from HA), it doesn’t just ‘stop’ high accuracy mode. It toggles the high accuracy setting off under background location. This doesn’t seem intentional, as it should just disable it from currently running. It shouldn’t disable the settings in my opinion.

Since it’s disabling the options it breaks turning on automatically based on zone, Bluetooth devices, etc… Until you go back in and turn back on the options

Exactly.
I believe there is an option missing since you probably also want/need a disable option.
As I see it the middle option is missing.

I don’t think that an option is missing. I think the implementation is simply incorrect.

You should be able to turn the option on in the app settings, with whatever triggers/settings you want.

If you turn it on or off remotely via notification, it should only start or stop the high accuracy service. It should not affect the app settings as it currently does.

The “disable” option on the notification should also only stop the currently running high accuracy service. It should not toggle anything in the app settings.

Basically, the only time that your app settings should change is if you go into them to change them manually. I think that the turn-off/disable functionality just hooks into toggling that option rather than interacting directly with the service… Which is what is causing some irregularities.

For instance, today the high accuracy service did not toggle itself off when leaving my home area +300m per my app settings (probably an unrelated Samsung sleep functionality problem, since they implemented a built-in functionality similar to Greenify, if anyone remembers that app). I should be able to tap “disable” to correct the problem, for this cycle, without having to go back into the app settings to regain the automatic functionality.

Edit:

Specifically, I would argue that this line is unintentional and is what changes the setting rather than just stopping the service:

Edit 2:
After re-reading your OP… I think we may be suggesting different things. The turn_on/turn_off, I think are operating as intended, except that turn_off changes the app settings as well.

It looks like you want an additional option that toggles the setting on, and leaves the conditions in tact. I don’t really see the point of this, if turn_off (and disable in the notification) operated correctly and left the settings in tact. Because then you would just always leave the setting enabled and it would start/stop the service based on those conditions anyway.

I’m not really sure why you should want an option to toggle the setting on, then wait for the conditions to be met. Do you have a use case scenario?

One scenario would be to not toggle on the high accuracy mode when battery level is too low.
In that case you would send a notification to the phone that disables the high accuracy mode.
When the phone is above some percentage again, send a new notification to enable high accuracy mode, but not turn on.
And the third scenario, the one I’m working on, is to turn on the high accuracy mode when walking away from my car (automation on disconnect from BT) and heading home.

Ok. I think we’re kind of after the same thing.

I think that the “command_high_accuracy_mode” needs a start/stop separated from the turn_on/turn_off commands… Currently, those two commands start and stop the service as well as toggle the setting. This would also enable a “stop” button on the Android notification rather than just disable.

You can currently turn it off as you describe with the “turn_off” command. But if you turn it back on like this, it’ll force it on, not wait for the conditions to be met.

If you guys can please submit a feature request and make sure not to combine multiple requests into one. If you think you can fix the issue then please feel free to submit a PR.

From the sound of things I think if we make turn on/ turn off just stop/start the service while leaving the setting enabled that will help out more here.

From there the user who does not use automation will need a way to stop/start the service using the app directly. Thats the thing with these sensor settings. They serve the purpose of UI control in the app which is also important.