I've been doing something similar for the past couple of months. At present the setup only extends to my workshop (for testing). Currently I am using a single UNO for control which reads various sensor states, including light level and temperature/humidity, plus some door (reed relay) and IR movement sensors. The arduino reads the state and sends messages to some software ( currently Python 2.7 under Ubuntu) over UDP which then does the processing that is required and sends control commands back to the Arduino, again over UDP. The processing currently amounts to checking the internal light sensors and switching on the lights if necessary. Ultimately I want to migrate all my lighting to 12v LED so I can run off stored solar, but at present I am using a system similar to yours in that the relays are in series with the power switch for the lights, normally closed, so that if the control circuitry fails the light switches should operate as normal.
I also have some external IR sensors and the same system activates an external security light, this time with a normally open relay.
I consider using the normally closed relays as essential for the main lights, otherwise the domestic management will kick off once the system is rolled out to the rest of the house.
I want to use LEDS because of their dimmable nature when using the PWM enabled pins of the Arduino, this will then enable a nice low level of light for those nocturnal toilet trips, all automatically of course.
I have just taken delivery of a Mega 2560 which will provide a lot more IO. Like yourself I envisage having separate Arduino's for input and output.
I am developing the control system in python, with the intention of migrating it to raspberry PI once development has finished. This will allow me to run it all an enclosure with a status screen hooked up to the composite video. I currently have a limited status screen running on the PC, which allows me to control the brightness of LED panels and GU16 bulbs.
I have configured the arduino so it will accept commands from any device on the network, so I can set up some control from the android devices I have around the house.
I also have a fully working zoneminder installation, but had not considered using it to trigger anything as yet, but then again I don't have any internal cameras on that, just external.
I did consider thermal imaging, as you suggested, but I think cost is a major issues (would need to come in at below $100 Australian, per room to be feasible for me), so I'm persevering with low cost IR sensors (about $2 each from China).
My Arduino code is not best but I am more than willing to share it.
It is currently set up to monitor the various sensors in a constant loop, and also listens for a 3byte UDP string in the form of 410 (4 is light 4, 1 is for on, the last digit is used for a brightness level for the LED)
I do agree with the comment about the resale values of the house, but I'm not planning to move anytime in the foreseeable future. Your needs may be different.
The python code also does some DPMS control of the monitors in the workshop. Currently they are put to standby after 10 minutes of no workshop movement.
I am in the process of setting up some power sockets that are switched in the same way as the lights, so the system can turn off things like my soldering iron and amplifiers that I frequently forget to leave on.
Let my know if I can be of any help with your project. It sounds great. Good luck
John
Unfortunately, your 3-way switch install isn't compatible with Z-wave switches -- even if a 3-way Z-wave switch existed, all the Z-wave devices I know of require a neutral to function, and you don't have that. Instead, you have an old-style switch loop where the white wire is retagged to be a traveler, hot, or switched hot instead of a neutral.
Best Answer
You can purchase and utilize a common DPDT type relay (Double Pole / Double Throw) to create a cross over switch. It is pretty easy to understand from the following relay diagram:
You connect one circuit to the two NC (normally closed) terminals of the relay. The other circuit connects to the two COM (common) terminals. Then you add two additional wires which cross connect the two NC terminals to the opposite NO (normally open) terminals.
The coil of course is driven with the control voltage that you have selected. The simplest control voltage to use would be +12V DC. There are plenty of relays available that have 12V DC coils and your remote automation control can use simple transistors to drive the relay coils.
If you go ahead and use 24V AC for the relay coils then you would have to use an additional relay for each switch control to translate the switching from the AC realm to the low voltage DC realm. (There are circuit components available that can switch the 24VAC but it gets more complex than necessary for an application where +12V DC can be easily used instead. And then you can derive the needed +12V DC from a re-purposed computer power supply.
A major concern when building any type of system such as this, where you bring remote control wiring into the mains wiring boxes of your house, is safety and isolation. Only relays rated properly should be used and you would bear the safety liability associated with stringing the control wires around your house.