Eu tenho feito algo parecido nos últimos dois meses. Actualmente a configuração só se estende para a minha oficina (para testes). Atualmente, estou usando uma única UNO para controle, que lê vários estados do sensor, incluindo nível de luz e temperatura / umidade, além de alguns sensores de porta (relé de lâminas) e de movimento IV. O arduino lê o estado e envia mensagens para algum software (atualmente Python 2.7 no Ubuntu) sobre o UDP, que então faz o processamento necessário e envia os comandos de controle de volta para o Arduino, novamente através do UDP. O processamento atualmente equivale a verificar os sensores de luz internos e acender as luzes, se necessário. Em última análise, quero migrar toda a minha iluminação para 12v LED para que eu possa funcionar com energia solar armazenada, mas no momento estou usando um sistema semelhante ao seu em que os relés estão em série com o interruptor para as luzes, normalmente fechado, Se o circuito de controle falhar, os interruptores de luz devem operar normalmente. Eu também tenho alguns sensores IR externos e o mesmo sistema ativa uma luz de segurança externa, desta vez com um relé normalmente aberto. Eu considero usar os relés normalmente fechados como essenciais para as luzes principais, caso contrário, o gerenciamento doméstico será iniciado assim que o sistema for lançado para o resto da casa. Eu quero usar LEDS por causa de sua natureza regulável ao usar os pinos habilitados para PWM do Arduino, isso permitirá um baixo nível de iluminação para as viagens noturnas, tudo automaticamente, é claro. Acabei de receber uma Mega 2560 que fornecerá muito mais IO. Como você, eu prefiro ter Arduino separado para entrada e saída. Estou desenvolvendo o sistema de controle em python, com a intenção de migrá-lo para o PI de framboesa assim que o desenvolvimento terminar. Isso permitirá que eu execute tudo em um gabinete com uma tela de status conectada ao vídeo composto. Eu atualmente tenho uma tela de status limitado em execução no PC, o que me permite controlar o brilho dos painéis de LED e lâmpadas GU16. Eu configurei o arduino para que ele aceite comandos de qualquer dispositivo na rede, para que eu possa configurar algum controle dos dispositivos Android que tenho em casa. Eu também tenho uma instalação zoneminder totalmente funcional, mas não tinha considerado usá-lo para acionar qualquer coisa ainda, mas, novamente, eu não tenho nenhuma câmera interna sobre isso, apenas externa. Eu considerei imagens térmicas, como você sugeriu, mas acho que o custo é um grande problema (seria necessário ficar abaixo de US $ 100 australiano, por quarto para ser viável para mim), então estou perseverando com sensores IR de baixo custo $ 2 cada um da China). Meu código Arduino não é o melhor, mas estou mais do que disposto a compartilhá-lo. Ele está atualmente configurado para monitorar os vários sensores em um loop constante, e também escuta uma string UDP de 3 bytes na forma de 410 (4 é luz 4, 1 é para ligado, o último dígito é usado para um nível de brilho para o LED)
Eu concordo com o comentário sobre os valores de revenda da casa, mas não estou planejando me mudar a qualquer momento no futuro previsível. Suas necessidades podem ser diferentes.
O código python também faz algum controle DPMS dos monitores na oficina. Atualmente, eles são colocados em modo de espera após 10 minutos sem movimento na oficina. Eu estou no processo de configurar alguns soquetes de energia que são comutados da mesma maneira que as luzes, para que o sistema possa desligar coisas como meu ferro de solda e amplificadores que eu freqüentemente esqueço de deixar.
Deixe-me saber se posso ajudar com o seu projeto. Parece ótimo. Boa sorte
John