Receber encomendas quando não se está em casa pode causar grandes transtornos, mas a ajuda do Home Assistant e algumas automações, podemos criar um sistema que permite saber quando alguém tocou à campainha e deixar que o estafeta deposite os pacotes dentro da garagem. Como nos explica o meu amigo de longa data João Paulo.
Este artigo resultou do desafio lançado pelo Carlos Martins na sequência de um comentário que fiz neste artigo do AadM relativo à possibilidade dos drones virem a afectar a arquitectura das casas no futuro.
Na altura referi como automatizei o meu processo de recepção de encomendas quando não estou em casa, recebendo uma notificação quando tocam à campainha acompanhada por imagens de uma câmara, e podendo abrir temporariamente o portão da garagem para que lá possam deixar ficar os pacotes.
Começo por referir que a solução encontrada foi muito específica, por aproveitamento do ecossistema instalado, e não creio que seja o mais prático ou adaptável à maioria dos utilizadores (spoiler alert: no final vou dar dicas para outra solução mais simples e provavelmente de maior aplicabilidade prática aos interessados). Por outro lado isto não é um tutorial “passo a passo”, vou tentar apontar para algumas referências/links que poderão dar informações de base e exemplificar a minha implementação em particular.
Pré-requisitos
- Home Assistant como solução de domótica [no meu caso um modesto RPI3 a correr Home Assistant OS];
- Câmara(s) com cobertura da(s) área(s) que queremos observar que se encontrem integradas no Home Assistant [no meu caso umas básicas/baratas ZOSI 1080p], mas qualquer coisa serve desde que esteja integrada no HA;
- Um botão de campainha convencional (botão de pressão) que promova um contacto seco e um par de fios para que leve esse contacto seco a bom porto;
- Um Google Nest Mini / Google Home Mini integrado com o HA [para ser usada como campainha];
- Um ESP8266 NodeMCU (podem comprar apenas 1, mas vistas as possibilidades futuras, tendo em conta o preço, não me parece que seja caro comprar um pack de 5) [+ 1 carregador USB para alimentar], com firmware TASMOTA e integrado no HA.
(diagrama simplificado de princípio de funcionamento)
A implementação
Sempre que tocam à campainha, o contacto seco é lido pelo ESP8266 NodeMCU, que publica a alteração de estado do “sensor” (de desligado para ligado) no HA.No HA, tenho uma automação de acordo com a imagem seguinte (comentada):
Explicando a sequência anterior de acções, temos:
- Acordar o Google Home Mini (pelo sim pelo não)
- Definir som Google Home Mini para 100%
- Tocar "campainha.mp3" no Google Home Mini
- Capturar foto da câmara de entrada e guardar ficheiro JPG correspondente
- Enviar JPG via Telegram (para mim)
- Enviar JPG via Telegram (para a minha Maria) [evitável se tivesse criado um grupo, poupando repetir a acção, mas a preguiça é tramada]
- Aguardar 4 segundos (a explicação é que o mp3/"ding dong" demora esse tempo, não queremos interromper o toque com outra coisa, pois não?
- Enviar mensagem "Tocaram à Campainha" para o Google Home Mini, que a reproduz de forma audível.
- Reduzir volume do Google Home Mini para o valor habitual (50%)
A gestão do toque de campainha está feita, localmente ouve-se o ding-dong e "tocaram à campainha", remotamente recebo no Telegram a notificação e foto da coisa (e a "Maria" também)...
Se não está ninguém em casa para receber uma encomenda e o estafeta liga, logo à partida surpreende-se ao ouvir como primeiras palavras de comunicação "bom dia, estou a ver que está aí à porta para entregar uma encomenda...", seguida das simples instruções para deixar a mesma em segurança 😊… a “automação de recepção de encomendas” é feita da seguinte forma (optei por considerar um Script em vez de Automação, ainda que na prática funcionem de forma similar):
Explicando a sequência do script, temos:
- Mandar um impulso para o portão (como está fechado, começa a abrir)
- Começa a gravar um vídeo do que está a ser visualizado pela câmara do interior da garagem, com a duração de 40 segundos (gravando-a num ficheiro)
- Aguarda 11 segundos
- Envia novo impulso para o portão (como está em movimento de abertura, pára – portão fica meio aberto)
- Aguarda 15 segundos
- Envia novo impulso para o portão (como estava parado após movimento de abertura, portão começa a encerrar)
Tenho também, em paralelo, automações com notificações de abertura e encerramento do portão, que notificam também via Telegram, pelo que após fim do script, passados uns segundos recebo notificação de que o portão se encontra devidamente encerrado).
Esta é uma solução bastante específica, e para muitas pessoas poderá ser mais conveniente optar por outras opções. Por exemplo, poderá ser mais interessante ter a funcionalidade das notificações via Telegram em paralelo com qualquer sistema de campainha já existente, sem o modificar. Para esse efeito, podemos utilizar na mesma um ESP 8266 NodeMCU com firmware TASMOTA, e acrescentar um SW-420 vibration sensor.
(diagrama retirado deste site, com outra implementação distinta mas válido no presente caso)
A ideia é colocar o detector de vibração perto da campainha original (que deverá na maioria dos casos vibrar), servindo de trigger para o input do ESP 8266 NodeMCU, que similarmente ao que acontecia no exemplo inicial, perante vibração iria alterar o estado de "off" para "on" – lançando assim as acções previstas na automação respectiva.
Onde as campainhas não causem vibração, se as mesmas tiverem um LED, podemos substituir o sensor de vibração por um simples fotoresistor com efeitos práticos similares, ou seja, o fotoresistor tem de ser montado de forma a que a luz exterior não influencie os resultados (perfeitamente escuro), quando a campainha é despoletada e o LED acende, a variação de resistência é detectada pelo ESP 8266 NodeMCU, que notifica o HA. As possibilidades são ilimitadas.
Espero que este post possa ter contribuído para abrir a vossa mente a novas possibilidades e à criação de projectos simples e de custo reduzido, com a vantagem de poderem tornar as vossas habitações mais inteligentes.
Fantástico. Obrigado.
ResponderEliminarboas, de facto está um pouco complicado para maior parte dos utilizadores, uma outra solução simples, passará por utilizar uma camara como a que tem e um botão liagado a um Shelly 1 por exemplo, bem mais económico e simples, evitando uso de nest, poode ser integrada no home assistant e receber notificações ligar a cama conforme tem. Para abrir o portão poderá também utilizar outro shelly 1. Este shelly é possivel ajustar na aplicação
ResponderEliminaré basicamente o que lá esta! o google home serve pra tocar a campainha
EliminarSim, como o backonline refere é mais ou menos o que lá está... sendo que um NodeMCU arranja-se por +/-2eur e um Shelly custa +/-10eur... logo mais barato :) o Google home mini como já lá estava para outras coisas serviu para o efeito :)
EliminarMuito Bom!
ResponderEliminarinteressante
ResponderEliminar