A general overview of the system
Having decided to go ahead and build a home-brew system the first step was to decide exactly what I was hoping to achieve beyond the high-level term optimizing. I’ve made a list of the tasks I would like the system to perform and some of the outcomes I want the system to achieve:
- It has to be cheap to build. As well as the obvious saving money outcome, I am hoping to demonstrate that anyone can build their own system and it will cost less than spending several hundred dollars per component on off the shelf kit. I am also hoping where commercial equipment does need to be bought e.g. a second pellet stove, the devices we choose are the best value for money (more on this later)
- It needs to dump data somewhere I can retrieve it. I want to be able to review the temperature data and re-use it within the system. Having an average temperature for August and one for February and being able to compare these would be useful for example.
- It needs to be self optimizing to a point. Using various algorithms and the above stored data, the system needs to be able to switch devices in the house on/off based upon a set of criteria such as: cost, performance, temperature, and in the case of a pellet stove, whether the stove is empty or not (for example if we are out and the stove runs out of pellets, what does the system use as a fail over?).
- The system should be controlled via some sort of app that can be run on a PC, Mac and Linux/Unix device. This should include both mobile/tablet and regular devices. For example If I want to up the temperature in my home office whilst I’m at the supermarket, ready for when I get home, I should be able to do this via my iphone.
- The device should be networkable, this can include both wi-fi and wired options.
- The system should be safe and secure. Both from software perspective i.e. adequate network security and from a hardware safety perspective i.e. the home-brew thermostat isn’t going to fall off the wall.
- It should save money on our electricity bill.
- It should be extensible. If I wish to zone the system so that it draws its power from say a solar source, some other renewable or from a generator if the power goes out, switching over should be easy. If I wish to add more thermostats, pellets stoves, A/C or software apps this should be easy.
This allows me to break down the development stage into separate components and evaluate what technology I currently have, and what I will need to build and code the system. It also provides a list of criteria on what the system should achieve, so I can check along the way that each stage of development is hitting a goal.
My next step is to take stock of what I currently have and what I am going to need on both the hardware and software front.