by error on line 1
pro required. can recommend.
no customization within flow necessary. so best to use if you have to set up electronica for your family during the holidays.
note that wifi-set-state does not work on android 10+, so unfortunately this just works for older phones.
saves battery life and data plan by automatically enabling wifi at trained locations. and not using gps.
checks in a customizable interval whether to switch wifi on or off depending on cell tower based location; if not already connected.
displays in status bar if a known location is recognized.
if no connection is established albeit being at a known location, wifi turns off and tries again after the interval (e. g. out of reach if your home wifi on the other side of your village).
with manual connection to a wifi network the user can decide to add the location. all found cell towers will be considered. the set of cells can be trained manually any time; it will not be added automatically while connected to not expand locations over time like past versions.
the concept of using cell tower approximation may lead to fuzzy results and depends on signal strength, but is considered more energy efficient than enabling gps. it detects rather villages or districts than streets, let alone addresses. this might lead to unexpected results in rural areas but the flow will still save energy by disabling wifi for the interval without connection.
input timeout might not take effect properly while device is inactive, but responded reasonable on activation during tests. otherwise a decline of request simply restarts the loop.
settings are saved in atomic storage as long as the flow is unchanged. interval is 15 minutes by default. to reset the monitoring interval restart the flow. saved locations will not necessarily be affected since these are now stored in a json-file within the local documents folder - persistent and maybe for use by different flows, with non persistent (on editing flow) atomic storage as a fallback.
this flow does not have the necessity for editing, providing a guided user input. if you want to edit defaults though, you find dedicated variables declared on the beginning.
consists of 47, hopefully clearly arranged blocks grouped by
- start with default variables
- interval reentry and wifi methods
- storage processing
- notification display and deletion
- learning module