Using the Network Effect to build automation at home between IOT devices
The Network effect is the value that is gained by the existence of a growing number of devices in a network. I talk about the network effect in this article. I am proposing to leverage multiple IOT devices in a coordinated way to provide more value to my home in particular and more intelligence. In the same way a business could think about integrating hardware to provide added value and intelligence in how it operates.
What kinds of automation can I do that would be useful at home. There are dozens of things that could be done that might be marginally useful. My main goals with this project is to:
1) Reduce energy use and energy cost
2) Provide improved security
3) Enhance the comfort of the home
4) Cool Stuff
I discuss a set of IOT devices I have reviewed, some I have bought, some I have decided you shouldn’t buy and some I am not sure. I also discuss the market for IOT in general here.
I have also looked at ways these devices can be interfaced and integrated with in the article here..
In this article I am discussing what kinds of functionality to achieve by integrating diverse set of web services and IoT devices that would prove useful to an average person. You should read the previous 2 articles to get the ideas behind this automation I propose but it is not necessary.
I want my house to be as energy efficient as possible. This is more complex problem than you might think. My energy plan charges me different rates for energy usage at different times of the day. Daytime energy rates are 4 times the nighttime energy rates. The primary drivers of my energy use are heating the house and cooling, the pool cleaning and heating, various appliances, fans and finally charging the Tesla and lights. I have already reduced my house heating costs by trying to move heating to the night time and also the pool cleaning and Tesla charging. The combination of doing these things has cut my electric energy bill in half. I further gained substantial benefit from moving to a variable speed pump on the pool. The power consumed by an electric motor goes up as the cube of the speed of the motor. Therefore being able to reduce the motor speed during certain functions by half cuts the cost by 7/8! One problem is that heating the pool with solar panels is possible only during the daytime and therefore part of the challenge is deciding when to spend the energy to pump the solar panels during peak or off-peak energy periods.
I love my pool hot and I want to utilize the sun to the maximum to get the pool hot yet I don’t want to waste energy if it doesn’t make sense to heat it. The automation system should know my schedule and where I am. There is no point in making the effort to heat the pool if the temperature of the pool is 60 degrees and we get one hot 80 degree day so a dumb system that simply looks at the sun irradiance to determine when to heat is going to waste a lot of energy pumping when there is no point.
In the same way if the temperature today will hit 85 and the house is cool in the morning the last thing I want to do is heat the house knowing that by the afternoon I may want the house cooler. So, the forecast of temperature and current temperature inside and outside the house are important. If it is cool outside but the sun is out then the windows will produce a lot of warmth if they are open, however, if it is hot outside and the sun is blaring the house would need the shades down to reduce the heating from the windows. Substantial gains in efficiency of the house can be gained by controlling a few shades.
There is no point in heating the house above a certain point if I am away from the house. On the other hand if I am on my way back to the house it would be useful if the house knew that and heated itself prior to my arrival. I wouldn’t want to do that if the energy cost would be too high but in general it would be useful to know my location to figure out how much to heat or cool the house.
A NEST thermostat claims to be smart but understanding all these things is beyond what I believe a NEST can do or knows about. The NEST is supposed to learn my patterns but I don’t have any patterns.
Some of the rules I have come up with to help achieve these aims with the heating system.
|if off peak heat to 72|
|If lowest energy cost raise heat to 75 to reduce heating at other times|
|When I am >100 miles from home minimize heating|
|If I’m coming home and it’s not peak energy cost time then raise temp to 72, send message|
|If I’m coming home and it is peak energy time, send message|
|When hitemp today will be >80 do not engage heater during day at all|
|if it is peak energy time minimize heat|
|If I am >15 miles form home and it is a workday minimize heat|
|If hitemp today > 80 and inside temp > 65 lower blinds|
|inside temp < 75 and hitemp today < 76 raise blinds|
|if after sunset or before sunrise lower blinds to conserve heat|
|if current outside temp is > 80 and inside temp is <65|
|if guests are in house keep temp at 72 except at night reduce to 65|
These rules depend on understanding the times of the day that energy rates change. They depend on knowing the current temperature outside and inside the house as well as predicted temperatures for today and the future. The rules depend on how far I am from home and what direction I am going. Where there is a question about what to do it depends on having an SMS chat with me to resolve the condition. I also want to be able to override the state of the system for special conditions like guest are in the house. From understanding these rules and the types of information I needed to be able to perform the automation I wanted I picked services and devices I needed to interface to. For instance I need the following devices and services to perform the automation I want.
Followmee seems like a good open source service to grab my current location. The app records my cell phones location every minute. I can use this to help automate some functions. For instance if my location over a period of 10 minutes moves 5 miles closer to home then I will assume I am coming home. If I am >100 miles from home then I am on vacation or on a business trip. If I am a mile from home and 5 minutes ago I was at home then the garage door and deadbolts should be secure.
IF THEN THIS THEN THAT is a great service that allows you to build automation to all kinds of services. It will be the hub of my automation framework allowing me to create the rules above to control the house.
They have information on rates at different times of the day and also through opower and my Smart Zigbee Rainforest Eagle they can give me information on my electricity usage.
Weatherunderground, Davis Weather Station, Weathersnoop and Weatherbug
I have a weather station from Davis that records all kinds of useful information I will need to automate numerous functions. The weather station information is sent up to the cloud to Weatherunderground using Weathersnoop. Forecasts can be obtained easily from Weatherbug. I can also get internal temperature information from the Davis equipment and my pool temp.
The Carrier is an ultra-efficient heating and cooling system that also has a digital service for monitoring and controlling the house. I will utilize it’s capabilities to control my home thermostat.
I have another set of rules for controlling the pool pumping system. I will expound on that in the next article and the rules for other automations.
Security and Safety
I want to be able to use intelligence to make sure my house is secure even if I forget something. These include things like making sure the deadbolts are locked when I am away from the house and the doors and windows are closed. I want to be notified when conditions at the house are changed. I would like to be notified when winds exceed a certain range or temperatures exceed certain limits, if my electricity usage goes up or water usage goes up beyond certain points. If there is an electrical interruption, doors, windows or garage is tampered with. I also might want to get video of the house although I haven’t purchased those yet I expect I will at some point and want them integrated.
There are numerous things I have figured out would be easy to automate that would make life better, reduce mistakes or save me from a trip home or asking a friend to do something. The irrigation system for plants might be a good target but I haven’t decided to tackle that yet. There are tools to do this that are interesting. I have read that one of the things that can harm my Tesla’s battery is leaving it in a discharged state for a long time. I would like to be notified if my Tesla battery is below 70 miles for more than 4 hours.
I have a Gazebo with an automated motorized shade on the front. I would like to control the shade based on the time of sunset and wind conditions, rain or factors such as whether I am home or not.
These are things that could be classified as “Cool.” Since I am and always was a computer geek such things are kind of “pride” issues and it is important to have a few cool things to talk about.
Additional Services Needed for all this other Automation
Lynx 7000 Home Security system and connected IOT devices that allow me to monitor security of the home, status of doors, garage and Z-Wave devices
Honeywell has led the way with home security cost reductions and with the 7000 and some other models has provided a low cost service to provide IOT home automation services. The Honeywell Lynx 7000 can control Z-wave devices such as the shade operations both for the Gazebo and in-home, the deadbolt automation is through a Yale Zwave enabled device. All these devices are controlled by the TotalConnect2 service. Unfortunately this service does not have an API yet but it can be hacked through access to the web site. I hope Honeywell adds an API soon. It would make this part much easier.
Tesla car has an API that can be used to gather information and even operate certain functions on the car.
Wemo devices from Belkin provide ability to control electrical switches. There are certain things I find useful to automate through these switches and WEMO provides a nice API and service for doing this.
The BodyMedia armband is the premier workout and life band in my opinion. By using capacitance of the skin, motion, heat flux and heartbeat the BodyMedia gives a better view of energy produced in working out and sleep patterns. Bodymedia was acquired by Jawbone which has created a uniform API for all its devices and is promoting numerous applications to control and monitor all its devices.
The Myo armband is able to detect gestures of my fingers, wrist and elbow to create events to control things. I hope to link the armband to my system so that I can do things like raise and lower shades, turn on and off electronics, raise temperatures and even do some things to the Tesla based on arm gestures.
You may find some of the things I am trying to do stupid or not very relevant to you. Please excuse my geekiness but I believe some of these things could be considered useful to a lot of us who simply want to for instance minimize energy usage or have specialized needs for safety, security or automation. There are so many IOT devices and things being offered now that combining devices to accomplish some level of automation can be accomplished.
However, there are great difficulties in combining devices as I write this article. Numerous of the services and interfaces to these devices differ dramatically. Some have integrated into IFTTT to make automation easy and some have not. Some have easy APIs to use and some have to be hacked to gain access. Some of the APIs are described in Python, Java or other languages and some aren’t even REST. It will take a good programmer or hacker to put all this automation together to combine these devices. Ideally, services like IFTTT would become a central hub making it easy to create automations from many different IOT devices. For now I will have to build my own automation in the cloud and leverage IFTTT.
In the next blog I will make the next step in this automation project by describing all the APIs I am using for each service, the rules specifically and how to prioritize the rules and automations. What I hope I have described is an example of how using the Network Effect of multiple IoT devices you can build intelligence into a system of multiple IoT devices that can make your life better. In a similar way any company can conceive of how to leverage the devices mentioned here or others to provide better support to customers, higher productivity for workers or to reduce costs in its infrastructure. The proof of that is left to the reader at this point.