I’m guesing I’m wrong in thinking that low battery notifications was part of the system? Is this supposed to be built-in or a SmartApp add-on? I remember discussions about it, but I can’t recall what the solution was. I have some devices that have fallen off the radar and I think they are out of battery since they haven’t responded in a while.
I remember seeing “Battery Minder” on a few screenshots of the v2 dashboard. Perhaps another “solution” that may be released at a date TBA?
I swore it was in the previous version of the app. I could just be hallucinating…which wouldn’t be a stretch!
I have been wondering about this too. Hopefully it rolls out within the next few weeks. I will probly swap out a few low batteries as I migrate to V2 when it arrives next week as I have a few at 38% battery life.
Does anyone know if the functionality decreases as it drops below 25% battery life?
Depends on the device, but quite commonly battery powered devices at battery levels of lower than about 30% have difficulty getting signals out to the mesh.
Some of these have super sleep modes where they go into extended sleep to conserve battery life, basically not doing much more than report the battery status every once in a while.
The new support pages mentions them, but doesn’t give details:
https://support.smartthings.com/hc/en-us/articles/205379964-Meet-Notifications
Based on old forum posts, it looks like ST used to push a notification at 13%.
You used to be able to subscribe to these on the page where you could set up a new hello home action:
Looking to bump this. Can I get a text or push notification if battery is low?
Yeah, this really needs to happen. With the amount of battery powered devices today, we need a more proactive approach.
There were a few sample SmartApps that alert you based upon a set threshold. I have one by Steve Meyers installed. Though these were removed from the sample list. Happy to share the code if you need it.
do you think something formal will be developed?
No clue but this app certainly meets my needs.
thanks! I am down, can you set the % at which you get notified? So I am new to ST and haven’t done anything custom yet. Do i need to log into IDE and cut/paste code somewhere?
Yes you can set the percentage and it even has groups where you can set different thresholds for different devices. Again I didn’t write it, Steve Meyers did and I just happen to have it installed.
Login to the online IDE, click My SmartApps, New SmartApp, click from Code and paste in the following:
/**
* Low Battery Alert
*
* Author: Steve Meyers
* Date: 2015-02-06
* This app will poll selected devices that use a battery and send an alert when the level reaches a specified threshold.
* As written, this will:
* Poll on the 1st & 15th every month at 10AM
* Alert when the batteries are lower than 13%.
*/
definition(
name: "Low Battery Alert",
namespace: "",
author: "Steve Meyers",
description: "Alert if low battery",
category: "Convenience",
iconUrl: "http://www.stevemeyers.net/wp-content/uploads/2015/02/battery-60px.png",
iconX2Url: "http://www.stevemeyers.net/wp-content/uploads/2015/02/battery-120px.png",
)
preferences {
section("About") {
paragraph "This app will poll selected devices that use a battery and send an alert when the level reaches a specified threshold."
paragraph "You may configure up to four groups with different thresholds."
}
for (int i = 1; i <= 4; i++) {
section("Monitoring group ${i}") {
input "group_${i}", "capability.battery", title: "Select devices to monitor", multiple: true, required: false
input "threshold_${i}", "number", title: "Notify if battery is below", defaultValue: 25
}
}
}
def installed() {
log.debug "Installed with settings: ${settings}"
initialize()
}
def updated() {
log.debug "Updated with settings: ${settings}"
unschedule()
initialize()
}
def initialize() {
//Second Minute Hour DayOfMonth Month DayOfWeek Year
schedule("0 0 10am 1-31 * ?", check_batteries)
check_batteries()
}
def check_batteries() {
def size, batteries, device, threshold, value;
for (int i = 1; i <= 4; i++) {
size = settings["group_${i}"]?.size() ?: 0
if (size > 0) {
threshold = settings."threshold_${i}".toInteger()
log.debug "Checking batteries for group ${i} (threshold ${threshold})"
batteries = settings."group_${i}".currentValue("battery")
for (int j = 0; j < size; j++) {
device = settings["group_${i}"][j]
if (device != null) {
value = batteries[j]
if (value < threshold) {
log.debug "The $device battery is at ${value}, below threshold (${threshold})"
sendPush("The $device battery is at ${value}, below threshold (${threshold})")
} else {
log.debug "The $device battery is at ${value}"
}
}
}
} else {
log.debug "Group ${i} has no devices (${size})"
}
}
}
Thank you!! Will this then show up as an app in my ST app? Will I be able to adjust the thresholds via the ST app or do I have to log into IDE and change it for each device?
This definitely feels like it should be out of the box functionality from ST. Or at the very least a fully published, available from the marketplace SmartApp. The above app looks like it does the trick. Perhaps this is the one.
As others have stated before, so many devices are battery powered now.
Yes one of the options is to set the thresholds when you setup the app. You have to install it into your account via online IDE and then once you install it on your mobile then you set the parameters like threshold.
Out of the box you do get a notification, at least I have gotten them at 25% (maybe). But some devices don’t run through batteries that quickly so this additional app helps with a reminder at say 5% or whatever threshold you want.
How often does the app poll the device?
Looks like twice a month. “The 1st and 15th every month at 10am.”
PS - thank you for this app!! This is perfect!