Let’s say you want to set up a security system for your home. In days past that would mean hiring a security company that would install sensors around your house, connected to a keypad, and linked via a phone line (usually a dedicated line you would need to add) to a monitoring company. Those sensors would probably have required wired connections to a central hub installed in a closet somewhere, or in a drop ceiling, requiring lots of installation work, cutting holes in walls, and cleaning up the mess afterwards with spackle and paint. Once installed, this system would only work if you paid the company that installed it a monthly fee.
DIY Security Systems
In recent years a new category of security systems have emerged, so-called DIY security systems. These systems are designed to be installed by the homeowner, and in general do not require ripping up walls to install them. Some systems allow you to monitor your house yourself, and some include monitoring for a fee, similar to the older systems. One good example of this type of system is SimpliSafe, which sends you a kit including various sensors to install yourself, and then provides a traditional monitoring service. In general these new systems use wireless connections to connect to a central hub, and each device therefore only needs power. This means you can simply plug in a sensor and connect it to your hub, wherever you have an electrical outlet. Smaller sensors can work with just batteries and can run for up to a year before needing the batteries to be swapped or charged.
Camera-based Security Systems
More recently, systems have come out where cameras, the most power-hungry of security sensors, have been able to be run on batteries as well. Whole security systems have been developed based on just using these wireless cameras with batteries. Examples include Netgear’s Arlo system, as well as Blink, Homeboy and Canary.
All of this innovation is great, but runs into a problem when one wants to set up a system to help their elderly relative. Much of the technology is the same, but usage is flipped on its head. You don’t want a system that is triggered every time it senses movement, but one that recognizes when there is a lack of movement. While a standard security system can be dumb in that any movement is considered bad, a system set up to monitor the elderly should be smart and learn patterns of movement, only notifying when there is a change in the pattern.
Some security system are cognizant of privacy concerns, offering physical shutters to block cameras when a system is disarmed, and insures all video streams are encrypted. When monitoring the elderly, however, your system is never really disarmed, it’s just in a different mode. If your security system is camera-based and gets its motion-detection capabilities from the camera, then closing the shutter means your system cannot operate at all.
Of course, having a camera on all the time has major privacy concerns, and your elderly relative may, understandably, not want a cameras watching them at all times, even if its just for motion sensing. All of these new camera-based systems sadly cannot be used for the elderly, or at least the system cannot be solely based on cameras. This means another type of solution is required.
Existing Security Systems Adapted for the Elderly
Some existing security system companies offer versions adapted for the elderly. Alarm.com, for example, offers a service called Wellness that monitors seniors in their home, recognizing patterns, and even sensing how long someone stays in bed or in a favorite chair. This system is integrated into their monitoring service, and can alert a family member if their relative leaves the house at a strange time, or doesn’t get out of bed all day, or doesn’t open the fridge.
Essence Care@Home
Israeli company Essence, which sells panic-button systems for use in elderly homes, has come out with a more comprehensive system called Care@Home that uses a combination of motion sensors, door sensors, cameras, etc. as well as a traditional panic button, in combination with a service to look for patterns and notify family and care providers accordingly. This system is sold to monitoring companies that install the system in people’s homes and sell a monitoring service.
Sen.se Silver Mother
One interesting solution is from French company sen.se, which offers a product called Silver Mother. Silver Mother works with a central hub with small wireless motion sensors. These sensors can be used many ways. For example, place one on the refrigerator door to sense how often the fridge is opened. Place one on a mattress to see how often and how long a person is in bed. Put one on a medicine bottle to know that someone has taken their medicine (or rather at least one can determine if they have not taken their medicine if the bottle never moves). Another advantage of the Silver Mother system is there are no monthly fees. It is for the most part a self-contained system, although it can work with Nest and IFTTT.
DIY Options for Senior Monitoring
If you wanted to build your own senior-focused security/monitoring system, there are a few options, although none that are perfect. One approach is to use a multi-purpose hub like Samsung’s SmartThings Hub, or Wink’s Hub. Both products connect to devices from many different manufacturers, using multiple home-automation protocols, such as Z-Wave and Zigbee, as well as WiFi and Bluetooth. Wink additionally works with some manufacturer-specific protocols like ones from Kidde and Lutron.
Protocol Problems
The use of popular home automation protocols like Z-Wave and Zigbee is key, as it allows many devices from many manufacturers to be used together. Unfortunately, that’s only partly true. Both protocols have their problems.
Z-Wave uses different frequencies in different countries, and there is no such thing as a hub that can handle more than one frequency. If you’re in the US and you buy a US hub, you need to buy sensors that are intended for the US market. There are more than a dozen different frequencies used around the world. The US is different than Europe, which is different than Australia, which is different than Japan, which is different from China, etc. Hong Kong shares one frequency used in the US, but not a second one. For a large multinational company that can manufacture dozens of versions of their products, this is okay. For a small company looking to break into the home automation market, this is a major problem. If you move around, you also may not be able to take your equipment with you.
Zigbee can for the most part be used on a single frequency (although it does support using similar frequencies to Z-Wave in some cases) worldwide because it works in the same frequency as WiFi and Bluetooth (2.4 GHz), although it uses different profiles for different devices, and devices designed for one profile will not work if the device its connecting to uses a different profile. For example, the Samsung SmartThings Hub supports the Zigbee Home Automation profile, but not the Zigbee Smart Energy profile. Add to this that the signal strength allowed in different countries can be different (the US allows almost twice the signal strength of Zigbee devices as is allowed in Europe, so if you buy a Zigbee device in the US it’s probably illegal to use it in Europe).
Programming a DIY System
Putting aside these protocol problems, we run into another problem. You need to program the system to notify you based on the sensors in ways that make sense for seniors. The non-DIY system have built that intelligence into their system. If you build something yourself, you need to figure out a way to create a similar intelligent method for notifying you. Some types of notifications are easier than others. For example, if the door to the outside opens between 11pm and 6am, send a notification. If the resident hasn’t gotten out of bed by 11am, send a notification. If the system sees no movement for over an hour during the day, send a notification. These are simple rules that could be enhance by using advanced pattern recognition, but still will work for the most part. A more sophisticated system would know when the resident gets up every day (i.e. between 8am and 9:30am) and would know if something is out of the ordinary (the resident is not yet up by 10am), but if you watched the data for a few weeks, you could probably just set the notification for 10am and get the same thing.
Both Wink and SmartThings can be programmed using IFTTT. This allows some level of interoperability between them, as well as with other systems that don’t support the same protocols, but do support IFTTT. IFTTT stands for IF This Then That, and is a simple rules-based system for telling Internet-connected services to trigger actions based on certain conditions. These sets of rules are called Recipes. For example, you could set up a recipe to send you an SMS whenever a specific stock went over a certain price, or you could get an e-mail whenever a specific product showed up on eBay. In Home Automation scenarios, you could have a recipe that whenever someone passes a motion sensor outside your door, the light outside is turned on and a beep is sounded inside. These can be very powerful, but are limited in intelligence. You could use an IFTTT recipe to turn on a light through your Wink Hub when the sensor in a Silver Mother system detects the resident gets out of bed (although you would need both the Wink hub and the Silver Mother hub).
Samsung gets Groovy
Samsung, in addition to supporting IFTTT, also supports creating programs using Groovy, a language developed by the Apache Foundation which works in the Java Platform. This means it can use Java libraries, and is run through the JVM. The technical details don’t matter too much, but in short it means that you have a lot more control in building intelligent applications using SmartThings than you do with Wink.
As an example, here’s a program I found posted in the SmartThings Community that triggers a notification if there is no motion between a specific start time and an end time:
[code language=”groovy” collapse=”true”]
/**
* Notify if no motion
*
* Copyright 2015 Bruce Ravenel
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
* for the specific language governing permissions and limitations under the License.
*
*/
definition(
name: "Notify if no motion",
namespace: "bravenel",
author: "Bruce Ravenel",
description: "Notify if no motion during some time period",
category: "Family",
iconUrl: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience.png",
iconX2Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/[email protected]",
iconX3Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/[email protected]")
preferences {
section("Which motion sensors?") {
input "motions", "capability.motionSensor", title: "Motion(s):", required: true, multiple: true
}
section("Text me at (optional, sends a push notification if not specified)…") {
input "phone", "phone", title: "Phone number?", required: false
}
section("Unless this presence sensor is not present…") {
input "presence1", "capability.presenceSensor", title: "Which presence?", required: false, multiple: false
}
section("If no motion between these times…") {
input "starting", "time", title: "Starting", required: false
input "ending", "time", title: "Ending", required: false
}
}
def installed() {
initialize()
}
def updated() {
unsubscribe()
initialize()
}
def initialize() {
subscribe(motions, "motion.active", motionHandler)
schedule(starting, startingTime)
schedule(ending, endingTime)
}
def motionHandler(evt) {
state.noMotion = false
}
def startingTime() {
state.noMotion = true
}
def endingTime() {
if(presence1) if(presence1.currentPresence == "not present") return
if(state.noMotion) {
def msg = "There has been no motion since $starting"
if (phone) sendSms(phone, msg)
else sendNotification(msg)
}
}
[/code]
I don’t mean to show this as an example of a complex program, but rather just what the code looks like for a simple program. Samsung has a Marketplace within their phone app that allows you to download many applications (dubbed SmartApps in keeping with their naming pattern), including a whole category called Elder Care. I wasn’t able to find a list of the SmartApps in that category online, and I can’t look at them in their app because you need to connect it to a Hub before you can view the Marketplace.
The average person isn’t going to develop machine-learning algorithms in Groovy to learn the daily activity patterns of their elderly relative. Hopefully enough relevant SmartApps exist in Samsung’s Marketplace that they wouldn’t have to do it themselves.
Where does that leave us?
It would appear that we have either pre-packaged systems that have intelligent activity monitoring which requires monthly payments, or DIY systems that are a bit touch-and-go considering you need to buy lots of sensors and hook them into some existing applications that may do what you want, or you may need to write custom applications to get there, and none of those are likely to have the full level of intelligence needed to prevent frequent false positive notifications. There are some good DIY systems like Wink and SmartThings, and even senior-focused systems like Silver Mother, but they’re not set-it-and-forget-it easy to configure. We’re at the point where system like Blink have pretty much brought that easy of installation to the home security market, but the senior market is still catching up. It should be interesting to see how this niche makes up the ground in the next few years.