The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Request Input on new Project



SUMMARY
I'm about 6 months away from beginning construction on my own house,
and I have extensive automation visions. I need lots of solid urls and
recommendations from you experienced folks for my research, and would
like your feedback on an open source project I'm contemplating
beginning for this effort.

Despite the length of this post, I'm *not* asking you to design or
build my system for me. I'm looking for feedback.



HEY THERE
So, first, if cross-posting to all three of these lists is a bad idea,
please wonk me with a stick of Rightness and tell me which is the
correct group to continue this discussion on.

Second: Hey there! I'm excited to join the world of home automaters as
more than a spectator, though the circumstances daunt me. :)

You may look at the below and say "Uhm, this seems like an insane
amount of work, when solution _____ would work just as well. I wonder
why he's decided not to do that." The answer to those sorts of
questions is probably "Because I'm an impatient idiot who hasn't done
his homework and research properly."

Please feel free to yell at me and tell me a far easier way to achieve
my goals, though please read as much of the following as you can before
doing so, because if you propose solution _____ which actually only
covers 80% of my goals, in my naivete I probably won't realize that
it's not the right solution until far later, and then I'll be cranky :)



ROUGH GOALS FOR MY PARTICULAR HOUSE
I'm a geek, but despite that my goal is to make the automation as
transparent as possible. No ugly wall warts, almost no 'attractive'
master control wallplates, no text-to-speech computers announcing
trivial things. The interior should look like a non-automated house,
and work like a non-automated house, with the exception of how it
reacts to its use, and the exception of a few wall-mounted control
touchscreens.

Here's roughly what I'm aiming for:

* Every (almost) light switch in the house should be able to be
computer controlled, with about 2/3 of them dimmable. (Rough count is
23 dimmable light 'zones', and 10 non-dimmable.) This includes 4-6
table/floor lamps.

* 7 zones for music (speaker sets). Any zone should be able to listen
to any audio source, in an n-to-n matrix.

* 6 audio sources.

* 1 big TV, and the ability (hopefully) to route video signals to the
wall LCDs and/or any computer in the house.

* 5-6 video sources (3-4 of which are security cameras)

* 3 watering zones

* Light, Temperature, and Humidity sensors in 5-6 locations, and a full
weather station outside also hooked in.

* 7 radiant floor heating zones, controllable by the system.

* A few motorized blinds.

* All doors and operable windows with open/closed sensors.

* All but one exterior door with computer controlled deadbolt,
auto-opening using something like iButton.

* An RF sensor for buttons activated from the car.

* My own custom interface, designed by me.

* The ability to set up complex triggers/macros *after* installation,
like: "If the average temperature in the livingroom is above ___ and
the heating is on, turn it off. If the heat is already off, and the
blinds are open, and the light level in the room is above ____, close
the blinds."

* The ability to view graphs of historical sensor data ("show me the
average temperature in the room over the last day").

* I want to buy quality, premade components and hook them up. I do
*not* want to solder. (Not only have I never been very good at it, but
primarily I want a solution that my friends can use just by spending
money themselves.)

* If I can find them, I was really hoping to use touchscreen, wireless,
LCD thin network clients to both control the house and also use other
'intranet' applications, and browse the web. Something in the 14-17"
range.



WHY CAN'T I USE EXISTING SOLUTIONS?
I dunno, maybe I can. But so far, every system I've looked suffers from
one or more of the following problems:

* Covers a portion of the system, but not all of it. (Lighting and AV,
but not temperature or watering.)

* Have expensive components which try and do too much work themselves.
(I already have a DVD player with 2 video outputs, a receiver with 6
video inputs and 2 outputs, and a TV with 3 video inputs and 2 coax
tuners. Every piece is trying to do the job of every other piece. I
don't want a lightswitch that stores complex lighting schemes when
that's what the computer will be doing.)

* Are proprietary, usually in a silly way. I can't easily extend the
system myself later, and probably can't program it myself.

* Have horrific 1980-looking touchpad interfaces, which are usually
designed around the hardware's features rather than the user's needs.




THE SOFTWARE SOLUTION - WHAT I'M (gasp) PLANNING
So, what I'm thinking really needs to happen is to abstract the various
levels from each other:

Interface <-- abstraction layer --> Control Software <--
abstraction
layer --> Hardware

The project I'm planning (and dreading) is to write (open source) the
middle component in such a way that people can develop their own
interface programs which communicate with it.

More importantly, each type of hardware device (from different
manufacturers and using different technologies) will have its own
'plugin'/DLL written for it, which abstracts the implementation from
the control interface.

For a far better visual representation, see:
http://phrogz.net/tmp/HouseMouse_Block.png

CoolTechnologyCompany will release a new bluetooth temperature sensor.
I (or you) will write the plugin for it that describes the properties
and methods it supports, and internally knows how to produce the values
and perform the methods. I drop the plugin into my own components
directory, tell the Master Program to rescan components and (without
restarting the program and crashing the house) suddenly the admin side
of the Master Program knows how to control that device.


Note that when I mention this project a lot of geeks say
"Zeroconf!",
"Embedded Linux!", thinking that I'm suggesting that the hardware
device (the lightswitch) itself is supposed to expose its
functionality. While this would be grand, this isn't the case with 99%
of the existing hardware out there, and that's what I want to use. I
want a piece of software--the plugin--to provide the abstraction.





HELP ME!
Am I insane? Does this middle Master Program already exist? Can I
accomplish all my goals above without this level of abstraction?

If I had a solution like this readily available, would you want it?
Does your answer depend on what language it was written in, or on the
hardware platform (Windows vs. MacOS vs. Linux vs. BSD) that it ran on?

If I wrote this in Java as an open-source project, would you be willing
and able to contribute?

I know so little about the amazing array of hardware choices available.
(X10 switches; X10 in-wiring control; Lutron RadioRA; Clipsal C_Bus;
etc.). My software wouldn't care which system I ended up using, but the
electrician wiring the house needs to know. How can I figure out what's
good and what isn't, and (more importantly) what the full spectrum of
offerings is?

In your experience, do professional automation 'experts' know what
they're talking about, or do they only know the solution or two that
they are a reseller for? Should I hire such a consultant to work out
the system, or are they going to just say "You're dreaming; here, just
buy this."

Am I dreaming? Is this project too ambitious to even think of
attempting with ~1 year to go until the house should be close to done?

--
(-, /\ \/ / /\/



Home | Main Index | Thread Index

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.