DIY Zoning: Can I do it?
- Prerequisites for starting DZ on your own
- General Considerations
- To use the code DZ provides
- To fix problems and help the project improve
Prerequisites for starting DZ on your own
The entry threshold is pretty high, though it differs a little bit for different DZ subsystems. Below are the requirements that you must satisfy in order to complete some steps on the way to a full installation.
Keep in touch
You are not alone. Chances are, whatever problems you are having, someone else already has, and they found the solution, and didn't think of sharing it just because they didn't know that someone out there needed it.
Consider joining the diy-zoning-general mailing list.
Thoroughly understand everything that is written here
If something is still not clear, post a message to diy-zoning-general mailing list.
Understand that this is not on-the-laps five-minutes-to-finish affair
Since you came all the way down to read this sentence, it is obvious that you have decided to forego the convenient route of paying someone to install a commercially available residential temperature zoning system. There may have been several reasons for it, which boil down to basically two:
- You can't afford a commercial system
- Well, as the saying goes, "you get what you paid for", and if you are not paying money, you are paying time. It won't take you years to finish it (I have spent this time so you can do it faster --vt), but it'll take quite a while to plan, buy parts, run the wiring, install and configure the system.
- Features offered by commercial systems fall short of your expectations
- Well, I guess in this case the time doesn't even matter, you're doing it for kicks. In this case, it'll take you longer, 'cause the pleasure is in the journey, not in the destination.
To use the code DZ provides
Make sure you can read the schematics
Make sure you know what UNIX is
At this specific time, DZ3 rollout is happening, distribution mechanisms are undefined. Maven is the build tool for Java code, that much is clear. The rest will probably follow the distribution specific packaging format.
Get familiar with 1-Wire network concepts
As of the moment of writing, the 1-Wire devices provide the most cost efficient solution for wired sensor networks (wireless sensors are a totally different ballgame, stay tuned for that). Feel free to waive this requirement if you are planning to use different hardware for data acquisition, though it is an interesting read in any case.
Decide upon the subset of DZ you are willing to implement
Different people have different needs. In order to satisfy requirements of different categories of users, DZ had been made modular. Here's a list of possible choices:
- All you need is to find out if it is really that hot, cold, or whatever: you need to complete Step 1, Step 2 and Step 3.
- You want to have better comfort, but don't want to go through a hassle of tampering with your HVAC equipment: in addition to previous, you need to complete Step 4, Step 5 and Step 6.
Step 7, as of now, gives you total control over temperature related aspects of your HVAC system.WarningConnecting a device other than "approved" thermostat to your HVAC equipment will get you in trouble with your HVAC contractors and/or servicemen. Consequently, this may cause problems with your home warranty company, if you have one, as well as problems proving that you did not violate the factory specifications and thus didn't void your HVAC unit manufacturer's and/or installers waranty.WarningYOU MUST UNDERSTAND THE CONSEQUENCES AND TAKE RESPONSIBILITY. IF YOU DO IT, YOU'RE ON YOUR OWN. IF IT BREAKS, YOU KEEP BOTH PIECES.
- After this, there are no more hardware modifications required, except for probably installing some more sensors (pressure, humidity, airflow, etc.), which is going to be a trivial task by this time.
To fix problems and help the project improve
Know how install software the GNU way
This is simple - you should be able to type ./configure && make install, and be able to read the output of ./configure --help. Some basic reading skills, in general, won't hurt - there's a lot of stuff to read.
Know the way around 1-Wire API for Java
If it works, it works. If it fails, it fails badly. Be prepared to grok the source - a slightly improved copy of OWAPI is included with the project.
Have HVAC experience
The project originator is but a humble software engineer. The precious bits of knowledge were respectfully accepted from those who know what they are talking about, most of them being HVAC professionals. If you are a HVAC professional, there's a good chance you know something that I don't, and I'd appreciate every single bit of it.
Have Process Control experience
Most of the HVAC related algorithms used in DZ are pretty straightforward, it's the composition of them that is not trivial. If you know something about process controll, you'll be able to find your way around pretty quickly, and quite possibly, improve a lot of small details that you get a grip on only after working with it for decades (which I haven't).
Have Networking and Security experience
At this point in time, DZ is about to become plug-and-play. As the network administrators know, there's but a few things that will not break when looked upon cross-eyed, and there's an eternal tradeoff between convenience and security.
Currently, DZ communications are encrypted, they are planned to be authenticated soon as well, using strong cryptography, but this is still not good enough. A full-time network security expert would most definitely be welcome on the team.
Think outside of the box
There are things in life other than air conditioning. DZ is designed in such a way that it would prefer to run on a computer (though it's possible to make it run on simpler hardware such as TINI). Now, it would be a waste to use a computer just to run DZ, wouldn't it? Therefore, integrating DZ with other home automation software is a natural choice. I don't have enough manpower nor time to do it (at least now), but you could - for example, wouldn't it be cool if DZ was integrated with Mister House?