Plan: Arduino based home automation system (newbie :) )

Hi,

i've recently watched the great arduino documentation and since then i thought of an arduino based home automation system.

Now i'm planning in the planning stage(i haven't bought anything because i think it's better to have a good plan and then build everything :slight_smile: )

My main interest is to have nearly the same functionality like other home automation system, but it should be less expensive, expandable and open source.

So now i want to explain my plan and i'm hoping for much feedback!

The head of the system should be an arduino one with ethernet shield and wifi(or xbee if it's also secure).
This head provides a json compatible webinterface which do all controlling.

Then in each room is a another arduino board(don't no which one would fit it needs) it has also wifi/xbee on it but also bluetooth(mainly because bluetooth shields cost less money).
These "room master" are for example mounted at the light bulb to control it and mainly are xbee to bluetooth relays.

Last but not least we have the "stupiest" arduino boards only with bluetooth shields. These stupid clients are for switching light, getting sensor information and much more(expandable of course :slight_smile: )

At first it sounds more expensive than other systems because of the relays but with each (stupid)controller the cost of an xbee/wifi version grow rapidly

Now what do you think? :slight_smile: Possible or not/clever or not?

This is starting to sound very expensive.

I know running wires can be a pain but if you go wireless I see the following problems (warning, personal bias against wireless follows)

a) expensive.
b) not secure, your neighbours can switch your lights off (ok unlikely)
c) local power, every room has to have a power supply off the mains
d) expensive

Did I mention it will get expensive. An Arduino and at least one (but probably two) shields in each room, that's maybe $50 but probably more.

What functions do you need in a room, so far you've really only mentioned turning on/off lights.

Having said all that it should be doable with enough effort put into it.

Have a look the at jeenodes (http://jeelabs.com/products/jeenode), I think they may do most of what you want and they are very cheap.

Whatever you do you will have to come up with a reliable protocol and that's no simple thing.


Rob

I almost hate to bring this up. To people who have been around here a while I must sound like an X10 evangelist :relaxed:!
However, in case you haven't considered it, you should be aware with what you can do with Arduino and X10. And particularly, if you live in N. America, I don't think you'll find a more economical solution to control lights and appliances either through RF or by sending the signals down the power line (which is essentially wireless). In addition, you are using UL approved devices and not mucking with mains voltage, and putting DIY boxes in your walls and ceilings.

Here is a diagram I made to get an idea of costs . . .

With an $8 box (PSC05) the Arduino can send commands over the power line to turn on lights and appliances. It can also receive commands that have been put on the power line by other devices. With a $6 box (CM17A) the Arduino can also send commands over RF.

I have a little box on my desk that has an Arduino in it that "controls" all the lights in my house. Control can mean simply turning on and off lights at specific times, or more complex things like if it's a certain time, and motion is detected, do this, and this . . .

In your case, that little box can be connected to a web interface. Here is a guy who is doing that:
lookout: June 2010

There are libraries that you can get on the Playground that interface with the devices mentioned above.
For additional info, I have a blog that shows what I have working. Arduino Collection: Home Automation

Believe me, I'm not trying to sell you on X10. I can give you it's disadvantages too. However, when I hear that your plan involves multiple Arduinos, Xbees, and SSR's I can't help thinking how the limitations of cost will force you into a smaller system than you would like.

At least it's worth checking out if you haven't.
Have fun building your system! :slight_smile:
John

With a $6 box (CM17A) the Arduino can also send commands over RF.

Will the CM17A "firecracker" operate off of 5v? I've got a couple I can tinker with.

Absolutely they will run on 5V.
I'd guess you know about the lib for them on the Playground.
You can also make your own receiver - as mentioned in my blog.

Go to the old forum and search for Automation and you'll see tons of posts.

I'm actually in the process of installing / developing my home automation system.

I actually DO have a BUNCH of X10 modules and the transciever, and have successfully integrated it to work with the Arduino (youtube my name and you'll see videos).

The problem with X10 is it's not reliable, I've tried different set up, noise filters, all sort of stuff, but still cant get a reliable output. Also, there is a pretty good couple seconds delay between the signal and the action. I guess if you can live with it, then go for that set up.

The project I'm doing will be using the Arduino Mega, well, actually I'm using a Seeeduino Mega, but it's basically the same thing, but with more pins.
That will be attached to an Arduino Ethernet shield.

The ethernet shield will allow the arduino to be on the LAN, and so any devices (smart phones, Ipad, iPod Touch) with a web browser can control it.
I then run a small web server with PHP and MySQL to collect all the data from the Arduino into a database for temperature, power usage, and member log on and all that stuff.

The project will include: RFID to open doors using electric strike plate, temp sensor throughout the house, reed switch for security for all the windows and doors, Solid-state relays to turn on/off all the lights, PIR sensor to sense where "people" are in the house. Eventually, I'll add more features, but that's expensive enough for now.

I'll post a part list that I ordered from Digikey up soon... it includes a lot of Solid state relays, shift registers, sensors, and all the goodies. A really thorough write up of installation and development will be up soon as well... but if you follow the old thread on the old forum, you can see some progress of it.

Graynomad:
This is starting to sound very expensive.

I know running wires can be a pain but if you go wireless I see the following problems (warning, personal bias against wireless follows)

a) expensive.
b) not secure, your neighbours can switch your lights off (ok unlikely)
c) local power, every room has to have a power supply off the mains
d) expensive

Did I mention it will get expensive. An Arduino and at least one (but probably two) shields in each room, that's maybe $50 but probably more.

What functions do you need in a room, so far you've really only mentioned turning on/off lights.

Well the problem is,if you live in a flat wich is not your, it's nearly impossible to use wired systems without trouble :wink:
And referering to security... if you use wifi it can be secured with WPA2 and bluetooth should also support encryption (but I'm not sure whether the Arduino shields support it...)
Furthermore if i would use a system like Homematic the gateway without any controllers would cost about 200€ without any software to use it... Furthermore it's not that easy to expand with controllers wich are not sold by homematic
.@BroHogan
I'm not sure whether it's true or not but in reference to the wikipedia article about x10 it's totally useless in germany,, but thans for your hint, i will check whether it's an alternative or not.
@vinhtvu2
This sounds really interesting, how do you plan to connect your controlers with the controlling unit? Wires or wireless?

What controller with what control units??

I'm using the ATMEL 328P with the arduino bootloader on a breadboard right now, but eventually I'll print it and wired all the Solid State relays and everything onto a couple different perf boards, trying to keep it modular so I can pull one board off and it should still work.

You could connect the Arduino to a Wireless shield... but then you'll still have to wire sensors and relays to it to control stuff.

It's harder to do automation and security when you're renting and you dont own the property, because you'll always keep in mind that when you move out, you want to take the stuff with you.

I own my house, and plan on being it for a while, so I dont mind wiring everything in, a more permanent solution.

Mike,

I've got to go with BroHogan and suggest X10. Yeah it's not closed loop control, but if a light does/or doesn't go on I don't think it's the end of the world. I don't suggest you controlling an iron lung or anything with X10 but lights should be OK.

I've installed a Leviton HCA02-10E 2-Phase X10 Coupler-Repeater in my house and the X10 stuff is pretty solid. You can also use a passive coupler that is a little cheaper.

I just required an old HCS II Circuit Cellar home control system and am replacing it with a Arduino based system that's working out very well. I'll attached the code for you to look through. Let me know if you (or anyone else) have any questions or comments.

Couple of comments:

  1. This is a work in progress as per my To-Do list in the comment section.
  2. I'm utilizing a buffer I/O board from my old system on pins 30 - 53 of the Arduio Mega (less pins 50-52)
  3. To improve the reliability of my X10 modules I've added a Refresh_X10 function that will resend X10 commands every, say 10 minutes.

Home_Sample.pde (16.6 KB)

I've got to go with BroHogan and suggest X10.

:slight_smile: I'm going to back off my suggestion a bit! The reason is, that I am more hesitant to recommend X10 to those in 220VAC land. Prices on the 220V version seem to be 4X higher than the 115VAC versions. It's a damed shame, because the only diff is a cap and resistor. (You can modify the 115V to a 220V yourself.)

crites, the Coupler-Repeater you mentioned has really improved the reliability for my system too. It made a huge difference. My guess is that hoping across the phases is the biggest reason for unreliable comm. (AFAIK the phase thing is a N. American issue, however.)

And yes it is slow ~ 1.5 sec from signal to action, although most HA systems are mainly timed events, or triggered events, where the delay doesn't matter.

I'm not sure whether it's true or not but in reference to the wikipedia article about x10 it's totally useless in germany,

Sounds a little absolute to me! I looked at the (US) Wikipedia article about x10 and didn't get that impression, was that in the German Wikipedia?

I know that we tend to promote what we like and know, and that always makes me uncomfortable suggesting things like X10. However I'm compelled to suggest it when I hear about a $300 / 10 man-day solution that solves what might be a $40 / 1MD problem. (assuming 115VAC)
OTOH, "Your free to move about the cabin".

Almost off the soap box. Just to say, if I thought X10 was slow, unreliable, and un-cool (which it is!) I'd still buy a few pieces and see what it does. It's cheap (115V) and perhaps I'd end up using it for part of my HA system. :zipper_mouth_face: :zipper_mouth_face: :zipper_mouth_face:

I agree with BRO regarding coupler. I had all kinds of issues util I installed a coupler in my house.

While you may not be able to run wires around your house you don't necessary need to wire into most devices.

For example you can buy RF controlled light switches and wall sockets (either plugin units or new wall plates) which can be controlled via an arduino with an RF transmitter (http://homeeasyhacking.wikia.com has some info on how to do this with a common European home automation system). Home easy is the brand name used in the UK and they offer PIRs, and door/window magnetic switches which transmit an RF signal when they are triggered. This signal can also be picked up with an arduino with and RF receiver.

So one arduino with an 433Mhz RF receiver/transmitter could potentially do most of what you want without running a single wire around the house. Its not as cheap as using normal relays but its easier to install and simpler to un-install when you come to move out.

Hi to everybody,
I'm working on a similar project as the one shown by Mike, and find this conversation very interesting...

From my point of view, if you put an Arduino next to every light bulb it becomes a really expensive project, so I suggest you to put your devices inside electrical wall boxes, so that you can control more than one appliance at a time.
Security ove Xbee is not easy: I'm facing the same problem, and I'm thinking about using HTTPS over Xbee. Unfortunately, I still haven't found a lighweight libary that handles cryptographic operations upon Arduino.

I posted my project on my blog, and I'm daily updating the post. As soon as possible I'll share my code too, in the meantime I'll be glad to further discuss possible improvements with you all.

If you want to have a look at my work: http://www.bestmazzo.it

Matteo