I can’t really remember anymore and probably I never fully understood the implications of the power settings. I think it would be best to just ask the user for some simple device properties/preferences and derive the power behaviour / routing behaviour with a heuristic based on those settings and battery level measurements from there:
setting | values | default | description |
---|---|---|---|
power_mode |
'mains' , 'battery' , 'battery with charging'
|
battery |
The device can be connected to mains or to a battery, which might be charged e.g. through mains or some kind of renewable energy source. When connected to mains it is safe to assume that no power saving is needed. |
display_mode |
'always on' , 'on demand' , 'on event' 'always off'
|
on demand |
The display can be turned on or off all the time or activated on demand (e.g. with the press of a button or through a sensor) or based on events (e.g. a new message is received). Display on times might be automatically adjusted based on low battery levels. |
device_mode |
'client' , 'router' , 'router with network connection'
|
client |
The device can act as a client that can go to sleep, act as a router which should only go to sleep in case of a low battery or the device can act as a router with a network connection (e.g. internet gateway or to provide the web interface), which should never go to sleep. The sleep behaviour can be automatically adjusted based on power_mode and low battery levels. |
I think with those settings all the roles proposed in Need your help -- Settings (Part 2) - Roles will also be covered.