Iniciei o projeto de automação de minha casa. As principais soluções livres hoje para este fim são o OpenHAB (Open Home Automation Bus) e o Home Assistant. Ambos encotram-se maduros e atualizados, com objetivos semelhantes e diferenças sutis entregam o que precisarei para controlar meu projeto.Optei em usar o Home Assistant devido ao mesmo ser escrito em python, diferente do OpenHAB que é escrito em java (“I hate java”, parafraseando John Maddog em uma palestra que participei) possui mais integrações nativas com dispositivos em geral (o que não configura um problema para o OpenHAB visto que qualquer integração é possível a partir do desenvolvimento da mesma na plataforma de forma não nativa), de forma resumida ele é mais simples para meu uso por questões de familiaridade com a liguagem e integrações.
Para conhecer melhor a ferramenta que utilizarei recomendo que se leia a documentação da mesma. Abaixo um passo a passo para a instalação do Home Assistant em um Raspberry Pi 2 rodando Raspbian Strech.
Meu setup é composto por:
- Uma Raspberry Pi 2B+ com um cartão de memória de 16Gb classe 10 (use o que você possuir)
- Imagem do Raspbian Stretch lite para instalação na Raspberry. (Donwload aqui)
- Um adaptador WiFi USB (Pois minha rasp não possui WiFi nativamente), artigo não necessário afinal a placa possui conectividade ethernet;
- Etcher para gravar a iso no cartão de memória;
O primeiro passo é instalar o Raspbian em sua Raspberry PI, para isso siga um dos seguintes tutorias conforme seu sistema operacional:
Tendo instalado o Raspbian ligue sua placa na tomada, encontre o IP da mesma na rede e a acesse via SSH. Se você usa Windows recomendo o MobaXTerm para esta tarefa. Se usa linux como eu, acesse via terminal com o comando ssh [email protected] seguido da senha raspberry. Lembro que as credenciais padrão são:
- User: pi
- Pass: raspberry
Altere a senha padrão de sua placa com o comando passwd seguido da senha antiga, e da nova senha com sua confirmação.
Atualize seu sistema operacional com o comando sudo apt-get update && sudo apt-get upgrade -y
Com o sistema atualizado expanda o uso do sistema de arquivos para seu cartão de memória todo obtendo melhor aproveitamento do mesmo, com o comando sudo raspi-config escolhendo a opção expand the file system. Logo após escolha seu fuso horário com a opção set the timezone. Para finalizar reinicie sua raspberry pi selecionando finish and reboot.
Agora seguiremos o tutorial de instalação contido na documentação do Home Assistant, caso deseje acessar o artigo original ele se encontra aqui.
Conectado em sua placa via SSH execute os seguintes comandos:
- Instale as dependências:
- $ sudo apt-get install python3 python3-venv python3-pip
- Adicione a conta de serviço homeassistant com as permissões necessárias
- $ sudo useradd -rm homeassistant -G dialout,gpio
- Crie o diretório para instalação do software com as permissões devidas:
- $ cd /srv
$ sudo mkdir homeassistant
$ sudo chown homeassistant:homeassistant homeassistant
- $ cd /srv
- Agora você irá criar o ambiente virtual que o homeassistant irá utilizar para rodar, e também irá acessá-lo, com os comandos:
- $ sudo -u homeassistant -H -s
$ cd /srv/homeassistant
$ python3 -m venv .
$ source bin/activate
- $ sudo -u homeassistant -H -s
- Se no início da linha em seu terminal houver (homeassistant) quer dizer que está tudo certo, e você pode partir para o comando abaixo que instalará os pacotes python requeridos:
- (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel
- E finalmente, a instalação do homeassistant:
- (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant
- Finalize a configuração com o comando:
- (homeassistant) $ hass
Este último comando poderá demorar alguns minutos pois irá atualizar sua instalação e finalizar a mesma e de seus componentes, neste ponto faça uma pausa para o café. Após finalizado acesse seu HUB de automação pelo endereço http://ip.de.sua.raspberry:8123 e verá a carinha padrão do Home Assistant.
A configuração base está pronta, porém precisamos configurar o autostart de nossa central automatizada. Se você seguiu o tutorial exatamente como descrevi até aqui, execute:
- $ sudo nano -w /etc/systemd/system/[email protected]
Este comando criará um novo arquivo. Insira o seguinte conteúdo neste arquivo:
[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
[Install]
WantedBy=multi-user.target
Salve o arquivo, e atualize o systemd com o comando:
- $ sudo systemctl –system daemon-reload
Ative a inicialização automática do serviço ao executar:
- $ sudo systemctl enable home-assistant@homeassistant
Inicie o serviço, com o comando:
- $ sudo systemctl start home-assistant@homeassistant
Veja o status executando:
- $ sudo systemctl status home-assistant@homeassistant
Pare o serviço ao executar:
- $ sudo systemctl stop home-assistant@homeassistant
Caso seja necessário você pode desabilitar o início automático do serviço, com o comando:
- $ sudo systemctl diasble home-assistant@homeassistant
Bom, o setup inicial configura-se desta forma. Até aqui temos nossa Raspberry Pi configurada para a utilização do HomeAssistant com início automático. Estamos prontos para os próximos passos. Trabalharemos mais a fundo cada detalhe do HomeAssistant nos próximos posts. Abraço!