Instalando o Home Assistant com Supervisor no Debian 11 sem interface gráfica! (+Atualizado)

Home Assistant no Debian 11 sem a interface gráfica!

Nesse tutorial abordarei a instalação do Home Assistant Supervised no Debian 11 sem interface gráfica. Existem muitos tutoriais bons (em texto e vídeo) que demonstram esse tipo de instalação. No entanto, são poucos os que estão na nossa língua nativa. Para muitos/as isso não é um problema, mas o é para tantos/as outros/as, principalmente os/as que estão iniciando nesse universo da automação residencial com Home Assistant e Debian.

Sendo assim, esse tutorial objetiva demonstrar, de forma clara, objetiva, detalhada e com muitos exemplos em texto e imagens (muitas imagens) como instalar o Home Assistant Supervised no Debian 11. Dessa maneira, espero contribuir para que os/as recém chegados ao Home Assistant não desistam no primeiro degrau, que é a instalação do ecossistema. É nessa perspectiva que esse tutorial se insere.

Recomendo assistir ao vídeo abaixo e seguir o tutorial com ele!

PRÉ-REQUISITOS:


a) Hardware para instalação do Debian (a partir de 2gb de Ram e 32gb de armazenamento);
b) Imagem netinstall do Debian 11 - Baixe aqui. Clique na versão xx.x.x+nonfree/ e depois clique em amd64. Em seguida clique em iso-cd/ e por fim clique na versão firmware-xx.x.x-amd64-netinst.iso;
c) Pendrive de 4GB (para gravação da imagem do Debian 11) - Para gravar a imagem no pendrive você pode utilizar o Rufus, disponível para Windows, o Ventoy, disponível para Windows e Linux ou o Balena Etcher, disponível para Windows, Linux e Mac;
d) Internet cabeada.
e) Outro computador (com Windows, Linux ou Mac) para acessar o servidor via SSH.

Esse tutorial está dividido em duas partes. A primeira aborda a instalação do Sistema Operacional Debian 11 (para a realização do tutorial utilizamos uma máquina virtual no VirtualBox, mas os procedimentos se aplicam perfeitamente a máquinas físicas) e a segunda aborda a instalação do Home Assistant Supervised de acordo com a documentação oficial disponível aqui e aqui.

1ª PARTE: Instalação do Debian 11

INSTALANDO O DEBIAN 11 BULLSEYE - CLIQUE PARA MOSTRAR/OCULTAR O CONTEÚDO

A primeira coisa a ser feita é instalar o Debian 11 no dispositivo que servirá de servidor para o Home Assistant (PC, Notebook, Mini PC)

  1. Dê boot na máquina com o pendrive de instalação do Debian 11. Na tela do Grub selecione Advanced Options… e depois Enter;

  2. Na tela seguinte selecione a opção …Graphical expert install e depois Enter. Sugiro a utilização dessa opção por ela permitir maior controle sobre o que estamos instalando;

  3. Selecione Choose language e tecle Enter;

  4. Selecione Português do Brasil e tecle Enter;

  5. Selecione Brasil e tecle Enter;

  6. Selecione pt_BR.UTF-8 e tecle Enter;

  7. Na tela seguinte não selecione nada e clique em Continuar;

  8. Selecione a opção Selecione o teclado e tecle Enter;

  9. Selecione Português Brasileiro e tecle Enter;

  10. Selecione Detectar e montar mídia de instalação e tecle Enter;

  11. Selecione os módulos disponíveis e tecle Enter. Se a mídia foi corretamente detectada tecle Enter novamente;

  12. Selecione Carregar componentes a partir da mídia de instalação;

  13. Na tela seguinte marque os componentes que necessitar e tecle Enter. Para o propósito desse tutorial não precisaremos de nenhum componente adicional;

  14. Selecione Detectar hardware de rede e tecle Enter. Em seguida selecione Configurar rede e tecle Enter novamente;

  15. Como o objetivo desse tutorial é simplificar a instalação do Home Assistant Supervised marcaremos para que o instalador configure a rede automaticamente. Será atribuído um endereço de IP via DHCP, o qual pode sofrer alteração quando a máquina for reiniciada. Mais à frente no tutorial é explicado como fixar o IP após a finalização da instalação do Home Assistant;

  16. Se a configuração automática foi bem sucedida a tela seguinte será a de inserção do nome da máquina. No nosso teste usamos o nome srv-ha (abreviação para Servidor Home Assistant). Coloque um nome para identificar a sua máquina e tecle Enter;

  17. No domínio você pode colocar ".local", “.intra” ou ".lan";

  18. Selecione Usuários e senhas e tecle Enter. Na tela seguinte marque Sim para habilitar senhas sombra e Não para não permitir login como root (isso fará com que o instalador faça a instalação do sudo e configure o usuário criado durante a instalação já com privilégios administrativos). Faremos a habilitação do root após a finalização da instalação do sistema;

  19. Insira o nome completo do usuário e tecle Enter. No nosso exemplo usamos Home Assistant, mas pode usar qualquer nome;

  20. Crie um nome para o seu usuário. Em seguida crie uma senha e continue;

  21. Selecione Configure o relógio e tecle Enter. Na tela seguinte marque Sim e continue. Na sequência não altere nada e tecle Enter novamente. Selecione o fuso horário da sua região e continue;

  22. Selecione Detectar discos e tecle Enter. Em seguida selecione Particionar discos e continue;

  23. Na tela de particionamento há várias opções, mas se você não tem conhecimento em particionamento ou não tem necessidade de fazer um particionamento mais complexo selecione a opção Assistido - usar o disco inteiro;

  24. Selecione o disco desejado para fazer a instalação. Se tiver mais de um disco na máquina eles serão listados;

  25. Se você não tem necessidade de ter várias partições a primeira opção já vai atender muito bem ao tipo de utilização que temos em mente para o nosso servidor. Selecione para manter todos os arquivos numa única participação e tecle Enter;

  26. Selecione Finalizar o particionamento e escrever as mudanças no disco e tecle Enter. Em seguida marque Sim e tecle Enter para escrever as mudanças no disco;

  27. Selecione Instalar o sistema básico e tecle Enter;

  28. Selecione a primeira opção;

  29. Selecione a opção genérico, para incluir todos os drivers. Isso pode ser útil na utilização de periféricos, bluetooth, etc;

  30. Selecione Configurar o gerenciador de pacotes. Na tela seguinte marque Não para que não seja lida outra mídia;

  31. Em Usar um espelho de rede marque Sim;

  32. No tipo de protocolo selecione http e continue;

  33. Selecione Brasil para o País do espelho do repositório Debian;

  34. Selecione o espelho deb.debian.org;

  35. Se você não vai usar Proxy deixe em branco e continue;

  36. Aqui marcamos se queremos habilitar os repositórios não livres no Debian. Isso permite instalar softwares que não fazem parte nativamente da distribuição Debian, os quais podem ter inclusive licenças proprietárias. Aqui deixaremos marcado como Sim;

  37. Deixaremos os repositórios fonte desativados, mas se considerar que precisa deles pode habilitá-los;

  38. Esse passo é muito importante. Selecione os serviços de atualização que você deseja habilitar no Debian. Indicamos marcar as duas primeiras opções para receber atualizações de segurança e atualizações do sistema. Se você pretende usar softwares do repositório backports (terá que inserir o repositório na lista de repositórios) selecione também a terceira opção;

  39. Na tela seguinte selecione Selecionar e instalar software e tecle Enter. Em seguida marque se deseja instalar as atualizações de forma automática ou não. No nosso exemplo deixamos sem atualização automática, o que obriga a verificar manualmente, de tempos em tempos, se existe alguma atualização disponível. Para tanto basta rodar o comando abaixo:

sudo apt update && sudo apt upgrade -y

  1. Se quiser ajudar os desenvolvedores do Debian com a coleta não intrusiva de dados sobre a utilização de pacotes marque Sim;
  2. Esse é um passo muito importante, pois é aqui onde definimos o quão leve e otimizado será o sistema do nosso servidor. Como não precisaremos de uma interface gráfica nativa no nosso servidor instalaremos apenas o Servidor SSH (para acessar a máquina remotamente de outro computador) e os utilitários de sistema padrão;
  3. Na tela seguinte selecione Instalar o carregador de inicialização GRUB e continue. Na sequência selecione Sim para forçar a instalação do GRUB para o caminho de mídia removível EFI;
  4. Em seguida selecione Finalizar a instalação;
  5. Na tela seguinte marque Sim para confirmar que o relógio do sistema está configurado para o padrão UTC;
  6. Finalmente chegamos ao final da instalação. Se tudo correu bem será exibida a mensagem Instalação completada;
  7. Tecle Enter para continuar e o sistema será inicializado;
  8. Se durante a instalação você habilitou os repositórios non-free é interessante a instalação dos pacotes firmware-linux com o comando abaixo:

apt install firmware-linux firmware-linux-free firmware-linux-nonfree

2ª PARTE: Instalação do Home Assistant Supervised

Considerando que o Debian já foi instalado e iniciado corretamente agora faremos a instalação do Home Assistant com Supervisor. É muito importante ficar atento a todos os passos e tentar entender o processo de instalação.

1 - Ao inicializar o Debian será mostrada uma tela com o nome atribuído à máquina e a opção de login, onde você deverá inserir o usuário criado durante a instalação do Debian. Após dar Enter aparecerá o campo password, onde você deve inserir a senha criada para o seu usuário. No nosso exemplo criamos o usuário homeassistant e a senha 123 (é sempre recomendado usar uma senha forte, aqui é apenas para finalidade de teste). Na sequência limpe o terminal digitando o comando clear seguido de Enter;

2 - Agora vamos identificar o nosso IP para acessar a máquina remotamente via protocolo SSH, sem a necessidade de usar monitor e teclado na máquina que hospedará o Home Assistant. Para fazer o acesso podemos usar algum aplicativo de conexão remota, como o puTTY (para Windows, disponível aqui), o PowerShell e/ou CMD do Windows ou o emulador de terminal de uma distribuição Linux. Para verificar o IP digite o comando abaixo:

hostname -I

3 - Sabendo o IP agora podemos abrir o aplicativo puTTY (o PowerShell ou o terminal Linux) e digitar no campo IP address . Em seguida clique em Open;

4 - Na tela seguinte clique em Accept;

5 - Agora digite o nome de usuário e a senha criados na instalação do Debian. A partir daqui utilizaremos apenas o terminal remoto através do puTTY;

6 - Limpe o terminal com o comando clear e depois digite o comando abaixo para logar como root;

sudo -i

7 - Antes de prosseguir com a instalação do Home Assistant com Supervisor vamos verificar se existem atualizações no sistema com o comando abaixo:

apt update && apt upgrade && apt autoremove -y

8 - Para se certificar de que não houve erros durante a atualização dos pacotes vamos rodar o comando abaixo:

apt --fix-broken install

9 - Agora precisamos instalar os pacotes necessários para a correta instalação do Home Assistant. A lista de pacotes recomendados pela documentação oficial pode ser conferida aqui. Rode os comandos abaixo para instalar:

apt-get install jq curl udisks2 libglib2.0-bin network-manager dbus wget -y

10 - Concluída a instalação dos pacotes precisamos adicionar o repositório do Docker na lista de repositórios do Debian. Isso vai permitir baixar o Docker com um simples comando e mantê-lo sempre atualizado. Use o comando abaixo, o qual também pode ser verificado na página oficial do Home Assistant no Github, disponível aqui:

curl -fsSL get.docker.com | sh

11 - Com a instalação do Docker concluída precisamos agora instalar o OS Agent, a ferramenta que proverá a interação entre o sistema Host (Debian) e o Home Assistant Supervised. No terminal do puTTY digite o comando abaixo para navegar até a pasta /tmp. Essa pasta guarda arquivos temporários que são apagados quando o sistema é reiniciado. Como vamos baixar alguns arquivos de instaladores não é uma boa prática baixar em qualquer lugar do sistema:

cd /tmp

12 - Estando dentro do diretório /tmp vamos baixar o software Os Agent. Copie e cole o comando abaixo no terminal do puTTY e tecle Enter:

wget https://github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_x86_64.deb

Fique atento/a à arquitetura da sua máquina para baixar a versão correta do OS Agent. No exemplo desse tutorial a máquina é x86_64, logo, baixamos a versão x86_64. Clique aqui para visitar a página no GitHub do Home Assistant, onde poderá conferir todas as versões disponíveis.

13 - Para instalar utilizamos o utilitário dpkg, que é um instalador de pacotes do Debian e derivados. Use o comando abaixo:

dpkg -i os-agent_1.2.2_linux_x86_64.deb

14 - Ainda dentro da pasta /tmp vamos baixar o instalador do Home Assistant Supervised com o comando abaixo:

wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

Para mais informações sobre a instalação do Home Assistant Supervisionado no Debian confira a documentação disponível aqui.

15 - Em seguida faça a instalação do pacote com o comando:

dpkg -i homeassistant-supervised.deb

Caso receba uma mensagem de erro ao tentar instalar o pacote .deb do Home Assistant Supervised não se desespere. Se estiver logado como root (#) digite o comando exit e tecle Enter. Em seguida faça login como root com o comando sudo -i e refaça a instalação (dpkg -i homeassistant-supervised.deb).

16 - Embora o instalador do Home Assistant recomende reiniciar a máquina para aplicação das mudanças não faremos isso agora. Primeiramente vamos verificar se os containers do Home Assistant já subiram (sete no total). Para verificar rode o comando abaixo como root ou com sudo antes:

docker ps

Importante destacar que na primeira vez demora alguns minutos para que todos os sete containers subam corretamente.

17 - Se a após esperar alguns minutos os containers não subirem volte ao terminal do Debian ou terminal de acesso remoto (do Windows, do Linux, do Mac) e execute uma ferramenta que faz parte do pacote NetworkManager. A ferramenta em questão é a nmtui, que é uma interface de usuário em texto que auxilia na configuração de rede. Nós vamos utiliza-la para verificar se o Supervisor do Home Assistant ativou a conexão de rede. Selecione a segunda opção Ativar uma conexão e tecle Enter:

18 - Selecione a conexão que começa com Supervisor e verifique se do lado direito aparece como Ativar ou como Desativar. Se aparecer Desativar significa que ela já está ativa. Nesse caso é só voltar teclando Esc:

19 - Esse é um passo muito importante para garantir que tudo vai funcionar bem após o reboot da máquina. Na tela inicial do nmtui selecione a primeira opção
Editar uma conexão. Depois selecione a conexão que começa com Supervisor e tecle Enter. Para garantir que a rede suba normalmente quando a máquina reiniciar navegue com a tecla Tab até a opção Conectar automaticamente e a marque teclando a tecla de Espaço no teclado (se estiver marcada ignore esse passo):


Caso não queira fixar o IP pelo nmtui você já pode reiniciar a máquina para aplicar as mudanças, conforme o instalador do Home Assistant sugeriu. Nesse caso só se atente para verificar se o IP não mudou após o reboot. Você pode verificar no terminal do Debian com o comando “hostname -I”, sem as aspas. Logo abaixo você pode ter uma ideia d ecomo fixar o IP pelo nmtui e pela própria interface do Home Assistant (em breve).

Fixando IP e DNS pelo nmtui

20 - Agora que já garantimos que a rede vai funcionar normalmente podemos fixar o endereço IP pelo nmtui. No terminal do Debian, como root, digite:

nmtui

21 - Tecle Enter na opção Editar uma conexão e em seguida Enter novamente para editar a conexão selecionada:

22 - Navegue com a tecla Tab até a opção CONFIGURAÇÃO IPv4 e altere de Automático para Manual:

23 - Em seguida navegue até a opção Exibir e tecle Enter para mostrar as opções. Em Endereços adicione o IP que quer fixar. Recomendo usar o que já está em uso na máquina (verifique com o comando hostname -I no terminal do Debian. Em Gateway adicione o endereço padrão da sua rede (pode verificar essa informação pelo roteador). Em Servidores DNS adicione pelo menos dois, o local, que é o mesmo gateway da sua rede (no meu caso foi o 192.168.0.1), e o do Google, que é 8.8.8.8. Terminada a configuração clique em OK para confirmar:

(Será necessário reiniciar a máquina para aplicar as mudanças e pronto, você estará com IP fixo no seu Debian/Home Assistant e ainda preveniu problemas com servidores DNS ao adicionar um servidor local e o do Google. Mas antes de reiniciar volte na tela inicial do nmtui e verifique se a conexão está ativa clicando em)

24 - Após o reboot você poderá acessar o Home Assistant adicionando :8123 ao final do endereço IP que acabou de fixar. No nosso exemplo ficou assim: http://192.168.0.175:8123. Digite o endereço na barra de endereços de um navegador de internet e faça as configurações iniciais, como criar usuário, definir localização, etc.

Fixando IP e DNS pela UI do Home Assistant

25 - Para quem acha o nmtui complicado ou simplesmente prefere a prativcidade da interface gráfica é possível fixar IP e DNS pela interface de usuário do Home Assistant. Para tanto clique em Configurações >> Sistema >> Rede. Escolha a interface de rede que deseja fixar o IP (cabeada ou wireless) e selecione a opção Estático. Em Endereço IP/máscara de rede coloque o IP que deseja fixar (recomendo o que já está em uso na máquina) e a máscara de rede /24, ficando algo assim IP/24. Em Endereço do gateway coloque o gateway padrão da sua rede. E em Servidores DNS insira o o gateway da sua rede como DNS local, insira uma vírgula e um espaço e adicione um DNS externo, como o da Cloudflare (1.1.1.1) ou da Google 8.8.8.8. Feito isso clique em Salvar e está pronto.

Bom pessoal, é isso. O tutorial ficou relativamente longo, todavia muito rico em detalhes, que talvez não sejam tão interessantes para quem já tem algum conhecimento em Debian Linux ou Home Assistant, mas que certamente será de grande valia para quem está iniciando. E é especialmente para essas pessoas a quem o tutorial se destina. A motivação de escrevê-lo foi contribuir de alguma forma com aqueles e aquelas que estão iniciando no Home Assistant (e em Debian Linux) com instruções claras e exemplificadas em português brasileiro.

REFERÊNCIAS


Abaixo listo algumas fontes que consultei para construir esse tutorial.

Guia de Instalação de Debian GNU/Linux
Instalação do Debian 11 Bullseye limpa passo-a-passo
Install Home Assistant Supervised
Supervised Installer - Github
OS Agent - Github
Installing Home Assistant Supervised on Debian 11

13 Likes

@gmesquita e @LeandroIssa , só passando para agradecer. Segui o tutorial e deu certinho. @LeandroIssa tive exatamente os mesmos problemas que vc estudou para resolver, foi providencial :wink:

2 Likes

Que bom que consegui ajudar, fico feliz!

Que bom que deu certo companheiro. Qual foi o problema que você vivenciou na instalação? Foi do Debian ou do Home Assistant? Talvez eu possa melhorar o tutorial com base nessas informações.

Boa tarde! Como irá funcionar o coordenador USB Zigbee? o Hassio irá identificar ele?

1 Like

Identifica normalmente @LucianoBerger
Eu tenho um Sonoff USB Dongle Zigbee e reconhece de primeira.

Eu acabei esquendo de informar um detalhe. Eu estou usando uma máquina virtual pra rodar o Debian.

1 Like

Não tem problema. É possível passar o USB para dentro da VM tranquilamente. Você usa o quê para virtualizar, qual software?

Aqui fiz a instalação sem gráfico também, como o computador é dedicado ao HA achei que seria mais leve. Porém precisei usar os dois tutoriais para fazer a minha instalação. Segui os passos do @gmesquita porém todos os erros que o @LeandroIssa disse que teve no dele eu tive no meu tbm, então foi primordial o tutorial do Leandro pra mim. Ficou muito bom pra mim, antes disso já usei o HA no Virtual Box com Windows 10 e no Proxmox, pro meu uso que é somente o HA, no Debian ficou perfeito. Recomendo.

Parabéns, excelente tutorial, receita de bolo não tem como dar errado.

1 Like
1 Like