Bluesky, Mastodon, Telegram e RSS

#TerSoftware: Automação residencial instancia.org

O #TerSoftware é uma iniciativa do @usuario@instancia.org no fediverso. Toda terça-feira, indicamos apps a partir de um tema sugerido por alguém da comunidade. (Aí eu trago ele aqui para o Manual, fazendo essa ~ponte.)

Nesta semana, o tema é automação residencial:

Todos os truques pra ligar a cafeteira na hora certa cabem aqui. E hoje temos um convidado especial: o HARDWARE! Ou seja, valem também dicas de dispositivos além das soluções de software.

(Destaque especial para soluções que não dependam da nuvem alheia, quando possível…)

4 comentários

4 comentários

  1. Tenho um projeto de automação iniciando. Estou aprendendo a usar o Home Assistant mas a minha experiencia maior é com a dupla NodeRed + Mosquitto(MQTT) rodando em uma Raspberry Pi 4 de 4GB com SSD. Os sensores e atuadores são baseados em Sonoff e circuitos customizados com ESP32. Estou estudando o Home Assistant e suas possibilidades e implementando o que aprendo. A maior parte das automações estão associadas a ligar e desligar luzes com base em sensores de presença e horários pré-definidos.

  2. Por aqui o grosso da automação é feito com o HomeAssistant (HA), que é uma central, um grande hub de automação que permite integrar inúmeros hardwares e softwares para automatizar. É gratuito, open source, tem muitas formas de utilizá-lo e ja conto mais como faço isso.

    Também uso Node-Red (NR), um outro software para automação nocode/lowcode. Usava mais no passado, para ser honesto. Com a evolução do HA, tenho concentrado quase tudo por lá, mas ainda uso NR. O fato dele ser bem visual, e com blocos, facilita muito.

    E para automatizar algumas lâmpadas, interruptores e reles, uso tasmota e ESPHome, assim o controle desses dispositivos fica apenas local.

    Juntamente com isso tudo, uso Mosquitto MQTT (um broaker MQTT para controlar dispositivos de “casa inteligente”. Pro usuário isso é transparente). Um resumo bem resumidinho (e impreciso, mas suficiente) é que o MQTT é “o idioma” que esses dispositivos falam, então aciono o interruptor ele precisa enviar a mensagem até a lâmpada para que ela acenda (ou apague). Com um sensor de porta, ao abrir a porta, ele manda uma mensagem para lâmpada, avisando que abriu e fala pra lâmpada acender. O broaker fará a organização e transmissão das mensagens desses dispositivos “no idioma MQTT”.

    E para transportar essas mensagens, usamos WIFI e Zigbee, que é uma outra tecnologia sem fio (para fins práticos, funciona como o WIFI). Para que as mensagens MQTT possam falar também com dispositivos que usam a tecnologia Zigbee, uso um software chamado Zigbee2mqtt (Z2M).

    (Lendo parece bem confuso, mas isso é simples).

    Agora como hardware (e mais alguns detalhes de software):
    – uso um raspberry pi 4 8gb com um SSD (cartões microSD dão bastante problema): nele está instalado Raspberry pi OS (mas já usei Debian, ambos funcionam igualmente bem, porque aquele deriva deste) e praticamente tudo que mencionei roda via docker neste raspberry pi.
    – conectado ao raspberry pi, uso um dongle zigbee sonoff. Parece um pendrive gigante com uma antena. É isso que me permite usar zigbee (em conjunto com o zigbee2mqtt). Para ficar simples, é como se você colocasse uma placa wifi num computador que só podia se conectar via cabo de rede. Ele passou a ter mais esse “caminho para se conectar”.
    sonoff mini wifi e zigbee – reles: eles são reles pequenos, que ficam junto de interruptores comuns. Você liga eles na energia, a lâmapa de led simples ( “não smart”) será ligada na saída do rele e o interruptor será ligado no canal de controle desse rele. Quando vc consegue entender essas ligações, entende que são bem simples. Você aciona o rele via software próprio, HA ou interruptor e ele controla a lâmpada.
    sensor de contato – porta e janela – zigbee: é um sensor de imã, que quando aproxima marca “fechado” e quando se afasta marca “aberto”. Você usa isso para obter o status de portas e janelas (pode ter outros usos também, conforme sua imaginação). Gosto de sensor zigbee ao invés do sensor wifi porque é mais rápido e economiza muita bateria.
    “Lâmpada smart”– bem, aquelas lâmpadas que trocam de cor, intensidade etc.
    Interruptor smart – funciona como o “sonoff mini”, só que é um interruptor;
    sensor de temperatura – uso um interno e um externo, apesar de não ter AC, minha esposa gosta de saber a temperatura.
    robô aspirador – posso acionar remotamente. Comprar um modelo melhorzinho, que mapeia a casa, desvia de obstáculos e não deixa áreas a serem limpas foi uma escolha acertada (apesar de um pouco mais cara na época). Faz 5 anos que temos, fiz pequenas manutenções (troquei um motorzinho, uns R$ 50, filtro e outras peças móveis que fazem a limpeza, custo mais uns R$ 100~150 no tal).
    tomada smart (é um rele, que funciona igual aos de lâmpada, é um interruptor no fim do dia). Uso na cafeteira (uma daquelas bem simples), pois minha esposa esquecia ligada. Agora, passados “X” minutos, ela desliga. Outro uso é, quando sei que o dia será mais corrido, já deixo a cafeteira pronta e quando acordo, aciono pelo celular. Enquanto estou no banho o café fica pronto (e ela já desliga sozinha).

    Mais alguns detalhes:
    – hoje em dia não vale tanto a pena comprar um raspberry pi, um mini pc será o mesmo preço e terá mais desempenho. Se tiver um PC usado (de até uns 10 anos atrás), provavelmente servirá bem.
    – uso HomeAssistant via docker, mas é mais fácil instalar diretamente no raspberry pi ou no (mini) pc. Você copia a imagem da internet, joga no disco e funciona. Ai o node-red, mosquitto, zigbee2mqtt e muitas outras coisas funcionam como complementos (você vai na aba de add-ons, dá dois cliques, faz 1 ou 2 configurações, cuja documentação está presente ou linkada ali mesmo, e pronto).

    Se quiserem saber sobre as automações que uso, é só avisar.

    1. caraca, achei muito legal as suas automações.

      sabe se seria possível identificar de qual lado uma porta está abrindo para ligar a lâmpada? ex.: estou chegando em casa depois das 18h a a lâmpada ascende, mas se eu tiver saindo, ela não liga.

      1. Sim, existem várias formas de fazer isso.

        É possível, por exemplo, ao usar uma fechadura digital em conjunto com o sensor de porta que já tenho, de tal forma que se foi usada senha, digital ou algo assim, e a porta abrir, foi aberta por fora, do contrário, foi aberta por dentro.

        Outra opção é usar um sensor de presença ou mmWave antes de chegar à porta, vindo por fora (“da rua”), de tal forma que se foi detectada presença e depois aberta a porta, estão chegando, se foi o contrário, estão saindo de casa.

        Eu moro em apartamento, então não coloquei nenhum sensor na área comum. Resolvi por meio de lógica (com ajuda de amigos e colegas da comunidade do HomeAssistant no fórum brasileiro e no telegram).

        Eu rastreio minha presença e da esposa por meio da rede wifi: se os nossos celulares estão conectados, estamos em casa, se não, estamos fora de casa.

        Minha automação: Se não ninguém estava em casa e abrirmos a porta no período noturno, a luz da cozinha acende. Se for muito tarde da noite, acende a luz da lavanderia, que é suficiente para caminharmos sem bater em nada. Se alguém estiver em casa, a luz não acenderá.
        Isso por opção minha, eu poderia, por exemplo, acender a luz da cozinha sempre que abrir a porta e for a noite, desde que não estivéssemos em casa eu e a esposa.

        Ela funciona da seguinte forma:

        Premissas:
        Celular desconectado do Wifi = fora de casa;
        Conectado a menos de 4 minutos = estou chegando;
        Conectado a mais de 4 minutos = estou em casa.
        Entre 4h30min e 17h45min – nenhuma luz deve acender;
        Entre 17h45min e 21h00 – acender luz da cozinha;
        A partir das 21h até 4h30min – acender apenas luz da lavanderia.

        quando o sensor detecta que a porta abriu, ele verifica o horário:
        1) se for antes das 17h45min, não faz nada – encerra a automação;
        2) se for entre 17h45 e 21h: (a) se alguém estiver em casa, não acende nenhuma luz (nosso ap é pequeno, então essa solução se mostrou ótima); (b) se estamos chegando em casa, a luz da cozinha se acende (temos um interruptor smart – zigbee);
        3) Após 21h e antes das 4h30min: (a) se alguém estiver em casa, não acende nenhuma luz ; (b) se estamos chegando em casa, a luz da lavanderia se acende, por ser mais suave que a da cozinha e provavelmente nossa filha estará dormindo ou sonolenta (temos um sonoff mini, usando ESPHome, que aciona a luz da lavanderia).

        Apesar de pequeno, nosso apartamento possui 2 entradas. A outra é pela porta da sala. Neste caso, a lógica é a mesma, sendo que no começo da noite acende as luzes mais fortes e se for mais tarde, acende apenas um pendente, pelo mesmo motivo já explicado.
        Ele tem apenas mais uma circunstância: se a TV estiver ligada (ou as luzes da sala, cozinha, varanda ou corredor), então não acende as luzes ao abrir a porta – isto evita que caso minha esposa tome uma luz forte na cara caso esteja assistindo TV (e por algum motivo com o celular desconectado do wifi), o que é muito desconfortável.

        Com essa lógica, independemente do horário, se eu abrir a porta para sair de casa, não acenderá as luzes (porque vai verificar pelo wifi que estávamos em casa).
        Os 4 minutos são mais que suficientes para não ter nenhum falso positivo de eu estar chegando em casa, me conectar no wifi rapidamente e ele não acender a luz porque demorei para abrir a porta – mesmo que chegue com compras e vá colocá-las no chão e procurar as chaves numa mochila, o tempo é suficiente.

        Ah, sempre após termos fechado a porta a 4 minutos, ele verifica se estamos em casa (pelo wifi). Caso ninguém esteja em casa, todas as luzes se apagam e a esposa e eu recebemos uma mensagem perguntando se queremos acionar o robô para limpar a casa (ou avisa que ele já está funcionando). Isso é bem útil quando saímos carregando muitas coisas e também evita esquecermos de ligar o robô aspirador (o que acontecia com relativa frequência).