Request for features:
Create an additional metadata field for each battery powered device: "Battery Change Date"
That field would contain the datestamp when the battery was last changed.
The data could be entered manually.
The Hubitat should also be able to automatically update the field whenever the battery percentage goes up by a configured amount (default = 50%) and remains at the higher value for several (3?) cycles of the device reporting it's battery status to the hub (to eliminate false triggers).
Each battery-change event record (date, level of the old battery when it was removed) would be stored in the hub, visible from the device settings page.
Create an additional metadata field for each battery powered device: "Recommended Battery Change Needed", to be displayed on the device page. This field would be initially blank, then it would show a date computed as:
the date the battery was last changed + the average number of days in each battery-change interval - 7 days * number of previous battery changes that happened when the old battery had zero charge remaining
Example:
changed 1 January at 35%
changed 1 April at 20%
changed 30 June at 15%
changed 23 Oct at 0%(90 days + 90 days + 115 days)/3 - 7 * 1 = Recommended change date: (23 Oct + 91 days) = 22 Jan
If there is not yet any history of battery change events for a device, the user could manually enter a value in this field.
The device page would have an indicator to show whether the Recommended Battery Change Date was entered manually or computed.
Each device would have a preference setting, "Notify at Recommended Battery Change Date" to toggle notifications on/off. This would default to "off" if the recommended date could not be calculated (ie., there was no history of previously logged battery change events for the device and no user-provided date).