Hi everyone, just starting out with ST. I have a full size freezer in my garage that is connected to a GFI outlet that will occasionally cut out due to storms, etc. I have a traditional freezer alarm installed, but I’d like to know immediately if the outlet trips, without waiting for the freezer temp to rise. Is there a sensor that I can plug into the outlet that will let me know that the GFI outlet is no longer receiving power?
Interestingly, the SmartThings Motion Sensor can be used to do this. It is capable of being battery or AC powered. I don’t think there is an app that currently exploits this functionality though.
Do you have a motion sensor? I’ll see what I can do on the App side.
Or just connect the freezer to an external outlet (https://shop.smartthings.com/#/products/ge-outdoor-plug-in-module). You should be able to create a custom device type with some polling code to determine if it goes off and their either create an app or, even easier, an IFTTT recipe to alert you if the switch is off (or unreachable, if the GFCI outlet trips).
Here’s an app that will do just what your asking for using the motion detector as an AC power detector. Let me know if it works for you.
Twack
/**
*
* Power is Out
*
* Alert me of an ac power loss on motion detector by detecting change from
* powered to battery.
*
* Author: todd@wackford.net
*
* Date: 01-16-2013
*/
preferences {
section("When there's AC power loss on..."){
input "motion1", "capability.motionSensor", title: "Where?"
}
section("Via a push notification and a text message(optional)"){
input "pushAndPhone", "enum", title: "Send Text?", required: false, metadata: [values: ["Yes","No"]]
input "phone1", "phone", title: "Phone Number (for Text, optional)", required: false
}
}
def installed()
{
subscribe(motion1, "powerSource.battery", onBatteryPowerHandler)
}
def updated()
{
unsubscribe()
subscribe(motion1, "powerSource.battery", onBatteryPowerHandler)
}
def onBatteryPowerHandler(evt) {
log.trace "$evt.value: $evt, $settings"
def msg = "${motion1.label ?: motion1.name} detected going to battery power"
log.debug "sending push"
sendPush(msg)
if ( phone1 && pushAndPhone ) {
log.debug "sending SMS to ${phone1}"
sendSms(phone1, msg)
}
}
Fantastic, thanks!
Hey @twack, that’s a really cool trick. Thanks for sharing!
But in order for smartthings to work the hub will have to also have power and have an internet connection. So if your power goes out in your whole house due to a storm then you will need another solution.
@njm5785, you should put your modem, router and ST hub on a beefy UPS. If you’re using ST as some sort of security system, you should also get a router with automatic cellular network failover.
@florianz They have routers that failover to cellular network? Do you know of a good one? This is a pretty good idea and most the time will work if you have all of these measures in place.
Then not only could you get a notification if a unit like a freezer was off but if your power is all off in your house.
@njm5785, check out the CradlePoint routers, Peplink Balance 20 (or 30), Pepwave Surf, or ZyXEL ZWUSG50 to name a few. Not sure, which one is the best. The CradlePoint devices are more consumer oriented and features integrated WiFi. If you’re like me and prefer to use a different WiFi bridge, you might want to take a closer look at the Peplink or ZyXEL.
The way it works is that these devices allow you to connect a 3G/LTE USB modem, that they can failover to, if your primary WAN becomes unavailable. As soon as your WAN comes back to live, they can failback.
In my particular case, it’s a case of GFI’s being too sensitive in some instances, versus losing power to the whole house. Great recommendation on the UPS and router fallover, as I should have this for my VOIP anyway.
Have you successfully come up with a solution? I have the same problem and and looking for a solution to monitor when the GFI plug trips.
I’ve been using a Smartthings Motion Sensor for monitoring whole house power since I got my hub over a year ago. I have my cable modem, wireless router, and Smartthings hub on a UPS so I keep connectivity post-power fail (big enough UPS that I get about 100 minutes of power). I mod’d the app from wackware above to notify when the power goes out and also when it comes back on (code below). It was great last weekend when the power went out while my wife and I were at dinner, I was able to notify the power company and get our plan for the night (it was out for ~12 hrs) going before we even got home!
/**
* Power Is Out
*
* Updated by JMZ
*/
definition(
name: "Power Is Out",
namespace: "smartthings",
author: "JMZ",
description: "Alert me of power loss using motion detector's change from wired-power to battery-power. SmartThings hub and internet connection must be working! You can connect the hub and internet connection device (e.g. modem, router, etc.) to a battery backup power strip so that the motion detector and detect the loss and the hub and router will still have enough power to get the message out before they fail as well.",
category: "Safety & Security",
iconUrl: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience.png",
iconX2Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png"
)
preferences {
section("When there is wired-power loss on...") {
input "motion1", "capability.motionSensor", title: "Where?"
}
section("Via a push notification and a text message(optional)"){
input "pushAndPhone", "enum", title: "Send Text?", required: false, metadata: [values: ["Yes","No"]]
input "phone1", "phone", title: "Phone Number (for Text, optional)", required: false
}
}
def installed() {
subscribe(motion1, "powerSource.battery", onBatteryPowerHandler)
subscribe(motion1, "powerSource.powered", PoweredPowerHandler)
}
def updated() {
unsubscribe()
subscribe(motion1, "powerSource.battery", onBatteryPowerHandler)
subscribe(motion1, "powerSource.powered", PoweredPowerHandler)
}
def onBatteryPowerHandler(evt) {
log.trace "$evt.value: $evt"
def msg = "${motion1.label ?: motion1.name} sensed Power is Out!"
log.debug "sending push for power is out"
sendPush(msg)
if ( phone1 && pushAndPhone ) {
log.debug "sending SMS to ${phone1}"
sendSms(phone1, msg)
}
}
def PoweredPowerHandler(evt) {
log.trace "$evt.value: $evt"
def msg = "${motion1.label ?: motion1.name} sensed Power is Back On!"
log.debug "sending push for power is back on"
sendPush(msg)
if ( phone1 && pushAndPhone ) {
log.debug "sending SMS to ${phone1}"
sendSms(phone1, msg)
}
}
There was a 2014 version of the Smart Motion sensor and it doesn’t appear to have a usb port anymore. at least I’m not seeing it in any of mine by pulling the back cover and battery. It looks like the aeon multisensor gen 5 and before does., though. Anybody know of any others that take power (probably usb power) and have a battery that could do this?
Thanks!
In the DUH category - just noticed that if you plug in a usb cable into the AEON multi-sensor gen 5 you can’t put the batteries in…
So does anyone have any other suggestions for any sort of device that has the capability of battery backup and notifies when it switches to/from battery? I just need to monitor a GFCI outlet - actually the outlet where my network UPS is plugged in…
Thanks!
What about building and external battery pack?
Thought about it. One question is if it has support for both power sources to be connected at the same time - it could just go poof. And if it still has the notification of power source change. I may start asking support about that, though.
The Aeon Siren has a built in backup battery source but doesn’t supply any notification of source change - it seems to be a very locked down and closed off device - but very loud.
Power Source Monitoring
Has anyone built a UPS to ST interface? It would be nice to know when power is off or just out of range on the various UPSes I have around. Not all are connected to a computer, some are to things like Tivos or SmartHubs, etc.
No idea how closed the APC (UPS brand) interface is but they do have a connection of some sort that their software uses.