Home Asssistant em Raspberry Pi 4 com Boot USB SSD/HD

INTRODUÇÃO

Existe muitos tutoriais e vídeos por ai que ensina como iniciar o Raspberry Pi 4 utilizando boot para SSD mais nenhum que vi até o momento está voltado para HA, com isso decidi fazer um passo a passo para auxiliar quem está querendo fazer o boot para um SSD, para iniciar tive uma ajuda no grupo do HA no telegram do nosso amigo @allanlopesprado que me deu algumas dicas e com isso consegui fazer no meu PI4, então vamos para a melhor parte colocar a mão na massa.

1º Passo

Vamos instalar o SO do raspberry em um cartão de memória estou utilizando um de 32gb class A.

Faça o download do programa Raspberry Pi Imager no meu caso eu baixei a versão para MacOS, mais tem para outros sistemas operacionais.

Depois de baixar instalar vamos dar inicio a gravaçao da imagem do SO no cartão SD, primeiro vamos escolher qual SO vamos gravar no SD.

RPI Manager1

Eu escolhi o SO próprio do raspberry pi mais fica a preferência de cada um.

RPI Manager2

Insira o SD utilizando um pen drive ou um micro sd e selecione o SD para gravar o SO.

RPI Manager3

Agora vamos gravar no SD o sistema.

RPI Manager4

Seu ocorreu tudo certo vai mostrar uma mensagem de sucosso

2º Passo

Nesse passo vamos fazer de duas formas a instalação no SSD, na primeira vamos instalar o Raspberry PI OS e na segunda vamos instala o Home Assistant.

Case Transparente P/ Sata 2.5 Hdd Ou Sdd Usb 3.0 Ecase-320 Infokit

  1. Para instalar o Raspberry PI OS vamos utilizar o 1º Passo só que ao invés de gravarmos a imagem no SD vamos fazer a gravação no SSD.

  2. Vamos instalar o HA em um SSD no qual vai ser rodado nosso sistema depois que fizermos o boot pelo SD, podemos baixar direto do site do Home Assistant eu baixei a versão recomendada para
    Raspberry Pi 4


    Vamos baixar também um programa para gravar a imagem do HA no SSD, eu utilizei o Etcher, muito utilizado para gravar imagens, depois de instalado iniciamos o etcher e escolhemos o SO do HA que baixamos do site.

    Após seleciona a imagem do HA devemos selecionar o SSD onde vamos gravar.

    E por fim dar inicio a gravação do HA no SSD.

3º Passo

Pronto agora a parte onde fazemos o boot do SD para o SSD, para isso temos que utilizar o sistema que foi instalado no no SD no meu caso o raspberry, temos duas opções podemos utilizar o proprio raspberry para fazer ou fazemos por ssh, eu vou fazer todo o processo por meio do ssh. Por padrão o ssh do raspberry pi vem desbloqueado com isso temos duas opções para liberar.

  1. Primeira opção podemos utilizando a interface do raspberry pi na qual temos que conectar o rasp em um monitor e utilizando mouse e teclado vamos em “Preferências” → “Raspberry Pi Configuration”.


    E habilitamos a opção SSH.
    RPI2

  2. Segunda opção podemos fazer isso muito mais rápido, para isso depois de gravar a imagem do SO no cartão SD entramos no SD e criamos na raiz um arquivo chamado “ssh”, e pronto agora e só ir no terminal e conectar.


    como eu nunca tinha utilizado o SO do raspberry pi eu decidi fazer a liberação do SSH utilizando a primeira opção, a interface dele me lembrou muito a primeira interface que utilizei do link a versão RED HAT, só que essa tem os graficos melhor do que a do red hat.

4º Passo

Abra o terminal no mau caso como estou utilizando o MacOS, quem utiliza o windows tem que baixar um programa para fazer essa conexão pode ser o Putty, quem nunca utilizou recomedo pesquisa como utilizar. Para conectar via SSH vamos pegar o IP que o raspberry esta utilizando na nossa rede.

Comando para conectar via SSH, por padrão a senha é raspberry:

ssh pi@192.168.X.XXX
password: raspberry

Agora que já temos acesso ao raspberry pi via ssh vamos utilizar alguns comando para fazer o boot.
O primeiro passo, no raspberry ou em qualquer instalação de servidor ao meu ver, é garantir que todos os pacotes básicos estejam devidamente atualizados. Para isso utilizamos os seguintes comando.

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo reboot

Quando reiniciar nossa conexão vai cair, aguardar alguns minutinhos e conectamos via ssh novamente. Depois que o PI4 estiver totalmente atualizado vamos atualizar o RPI4 eeprom. Para fazer isso , você precisará.

Instalar o rpi-eeprom

sudo apt install rpi-eeprom

Edite o rpi-eeprom e substitua “critical” por “stable”
FIRMWARE_RELEASE_STATUS=“stable”

sudo nano /etc/default/rpi-eeprom-update


:warning:Garanta que foi alterado para “stable”, pois se não tiver não vai funcionar no mom,ento de iniciar o PI4 pelo SSD. Para verificar se realmente alterou rode o comando abaixo.

cat /etc/default/rpi-eeprom-update

resultado esperado.
eeprom

Atualizar/Instalar o stable eeprom

sudo rpi-eeprom-update -d -f

Reiniciar

sudo reboot now

Quando o seu RPI reiniciar novamente, você poderá verificar se agora está executando o eeprom mais recente:

Verificar se sua versão está atualizada, “a minha versão nesse momento é Jun 15 2020 14:36:19”.

vcgencmd bootloader_version

Version

Verificar a configuração BOOTORDER=0xF41, tem que estar para 0xF41, isso indica que vai inifiar pelo USB.

vcgencmd bootloader_config

Config

Agora vamos prepara o SSD para iniciar no PI4, plug seu SSD em um computador depois copie e cole esses arquivos no SSD. Esses arquivos *.dat e *.elf são os mesmo que já está atualizado no seu SD, só retirei para ficar mais simples, mais caso a atualização seja diferente da minha pode ser utilizado os passos abaixo.

Com o SSD plugado no PI4 comece a montar seu SSD Drive.

sudo mkdir /mnt/mydisk
sudo mount /dev/sda1 /mnt/mydisk

Copie todos os arquivos necessários para a inicialização do SSD.

sudo cp /boot/.elf /mnt/mydisk
sudo cp /boot/
.dat /mnt/mydisk

Desligue o RPI

sudo shutdown now

Agora retire o SD do PI4 e deixe somente o SSD plugado no USB 3.0, quando iniciar o PI4 ele vai ser iniciado pelo SSD, normalmente na primeira vez demora um pouco a iniciar.

Pronto o seu PI4 está sendo executado pelo SSD, agora vamos instalar o docker. Existe diversas forma de fazer essa instalação, eu utilizei essa que vou descrever agora mais fica livre para você fazer a instalação a sua escolha.

Nosso amigo @Leonardo criou um tópico muito bom de como instalar o docker. Como instalar HA em um computador velho ( Linux Ubuntu Server + Docker )

O Docker é um projeto de código aberto, graças ao qual é possível criar microsserviços dentro de “contêineres” que serão “desconectados” do sistema operacional e da máquina que os hospeda, por exemplo, um host linux.

Você pode assimilá-lo a uma máquina virtual, mas eles não são os mesmos. O Docker requer muito menos recursos e um contêiner pode ser executado em segundos, ao contrário do que acontece com uma máquina virtual.

Instale as dependências necessárias.
Essas dependências já devem estar instaladas, portanto, não há necessidade de executar esses comandos. Faça isso apenas se quiser ter
certeza de que possui. Os pacotes não serão baixados se já estiverem instalados e atualizados.

sudo apt-get install apt-transport-https
sudo apt-get install ca-certificates
sudo apt-get curl
sudo apt-get avahi-daemon
sudo apt-get dbus

Em vez disso, as seguintes dependências precisam ser instaladas , porque não devem estar lá. Execute um comando de cada vez, para que você possa entender melhor os erros.

sudo apt-get install apparmor-utils
sudo apt-get install jq
sudo apt-get install network-manager
sudo apt-get install socat
sudo apt-get install software-properties-common

Instalamos o Docker no Raspberry Pi 4. Execute os seguintes comandos.

curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add -
echo “deb [arch=armhf] Index of linux/raspbian/ stretch stable” | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update
sudo apt-get install docker-ce

Como verificar se o Docker está instalado corretamente

Para verificar se o Docker está instalado corretamente, digite o seguinte comando.

sudo docker run armhf/hello-world

Para verificar a versão do Docker, execute:

docker --version
sudo apt-get update

Caso haja problemas com o comando anterior, tente com o seguinte.

sudo apt-get update --allow-releaseinfo-change

Otimizamos o sistema para executar o Home Assistant com o Docker. Digite o seguinte comando.

sudo nano /boot/cmdline.txt

No final do texto, insira.

cgroup_enable=memory cgroup_memory=1

Em seguida, salve o arquivo pressionando no teclado as teclas CTRL + X, depois Y e Enter.

Reinicie o PI4.

sudo reboot

Como instalar o Home Assistant (Hass.io) com o Docker no novo Raspberry Pi 4 Modelo B

Chegamos à instalação real do Home Assistant (Hass.io).

Digite o comando:

sudo -i

Agora, iniciamos a instalação do Home Assistant (Hassio) com este comando.

curl -sL https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh | bash -s – -m raspberrypi4

Quando a linha abaixo for exibida, será possível acessar o navegador hassio para prosseguir com a instalação automática e a primeira configuração, alcançando o endereço IP do seu Raspberry Pi4 na porta 8123.

[Info] Run Hass.io

Para descobrir o endereço IP do seu Raspberry Pi 4, digite o comando em uma janela do terminal Raspbian:

ifconfig

O endereço IP é o próximo à palavra inet e será do tipo 192.168.1.XX ou 192.168.0.XX , depende do seu roteador.

O endereço IP também pode ser obtido entrando no roteador e acessando a página que mostra os dispositivos conectados.
Por meio de um navegador, como o Chrome, acesse o endereço 192.168.1.XX: 8123

A instalação do Hassio começa.

Os arquivos do HA está localizado na pasta:

/usr/share/hassio/

comando para reiniciar o HA pelo docker:

docker restart homeassistant

Para quem gosta de usar o Home Assistant via linha de comando HA

:warning: Até esse momento não consegui fazer o PI4 iniciar pelo SSD onde só foi instalado o Home Assistant, ainda estou verificado, assim que conseguir continuo o tópico.

:white_check_mark: Em todo o tópico sempre falo em um SSD, testei em um HD WD de 1TB e funcionou da mesma forma.

Esse vídeo pode ajudar:

4 curtidas
  1. Usando este case pra SSD, qual o resultado no campo driver, com o comando “lsusb -t”?

  2. Tem algum problema ao dar reboot? Aqui tem apresentado problema, indica que tem SD card, quando na verdade nao tem. Se eu retirar da tomada e religar, funciona normalmente. Se ao invés de reboot eu usar shutdown, sem problemas quando religo.

1 curtida

Consegui uma solução:
No GitHub (https://github.com/raspberrypi/rpi-eeprom/issues/151) tem um patch. Basta gravar com o Raspberry Pi Imager num Sd Card e dar o boot, a tela deverá ficar verde (se não tiver monitor, espere apenas uns 10 segundo e pode desligar da energia, retirar o microsd e religar o Rpi).

Notei que ainda assim o firmware estava sempre sendo alterado para o de 31 de julho de 2020.

Alterei o arquivo /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-07-31.bin mudando de “.bin” para “.old” e tentei reinstalar o bootloader “pieeprom-2020-06-15.bin”, mas surgia uma mensagem de erro relacionada ao arquivo anterior.
Não sabia o motivo, mas notei que o bootloader estava sendo atualizado automaticamente, sempre.
Na documentação oficial da Raspberry Pi tem a solução (eu apenas nao havia notado antes):
Basta desabilitar essa função.

sudo systemctl mask rpi-eeprom-update

Feito isso, dei boot com o Sd Card indicado no github e a partir dai parece funcionar tudo corretamente
(ainda não entendi muito bem o bug, mas sei que se desligar completamente o Rpi, tirando da energia e recolando, ele funciona normalmente).

Top @eloigonc, nesso tutorial tem duas partes uma instalando no SSD o rasp e depois usando docker instala o HA e na outro versão vai ser instalando direto o HA no SSH, essa parte consegui finalizar spo que não estou conseguindo atualizar o tutorial, não me da a opção de editar, assim que conseguir complemento ele. Mais ainda bem que conseguiu qualuqer coisa fala ai.

3 curtidas

faz outro tutorial abaixo desse ai!

1 curtida

Vou resumir… Quando vc conseguir instalar no Raspberry pi 4 o HA em SSD direto… Putz vou tentar o mesmo, pois acho que é pra mim a única solução. Aguardo suas dicas e tutoriais irmão. Tudo de bom pra você.

Ola pessoal desculpe a demora para complementar o tutorial, é que estava envolvido com outras automações que tomou muito o tempo.
Mais vamos em frente, nesse complemento vou finalizar o tutorial fazendo com que o HA inicie direto do SSD sem ter que instalar em um docker.

No 2º Passo digo que vamos fazer de duas formas a instalação no SSD a primeira instalando o Rasp e a segunda instalando o HA direto no SSD, então nessa parte é que está o segredo, bem simples por sinal.
Até o momento a única versão que funcionou corretamente foi a versão de “Development 64 bit”, não consegui iniciar o Raspberry com a versão HassOs.
Nesse parte baixei a última versão disponível Development 5 build 3 download releases home assitant

Para concluir a instalação do HA no SSD continue seguindo os passos da segunda instalação do 2º Passo.

Pronto nosso SSD já está instalado, continue seguindo o tutorial para configurar o RPI4 e fazer com que ele inicie pelo SSD, quando chegar na ** 4º Passo** onde diz:

Agora retire o SD do PI4 e deixe somente o SSD plugado no USB 3.0, quando iniciar o PI4 ele vai ser iniciado pelo SSD, normalmente na primeira vez demora um pouco a iniciar.

Exatamente nesse ponto do tutorial você vai colocar o SSD com o Home Assistant que acabamos de fazer, e pronto se deu tudo certo na instalação o RPI4 vai iniciar pelo SSD e agora é só aproveitar.

Desculpe está colocando essa parte fora do contexto do tutorial e que como demorei muito a dar continuidade acredito que o fórum não deixe mais fazer edições. :blush::blush:

1 curtida

Boa noite Pessoal ! eu posso no lugar de um SSD usar um pen drive, pra inicio seria de 32 GB ?
Valew !

Sim, mas nao será tao bom quanto um SSD, mas já é mais estável que o SD

Muito obrigado ! Só achar o tutorial agora.

Fala @AlessandroQuiterio pode seguir esse tutorial vai funcionar para o pendrive tmb, o conseito da instalação é o mesmo.

Boa sorte.

Muito obrigado Helio !

Aconteceu com mais alguém de quando colocar o SSD no Raspberry ficar travado na tela de preparando o Home Assistant?

Fiz testes pelo SD Card e por ele da certo mas SSD sempre fica travado nessa tela.

Fala @kevinlima tudo bem?
Sim comigo aconteceu de ficar travado nessa tela, no meu caso foi o firmeware que instalei não era compatível, foi quando instalei o hassos_rpi4_… "64.

Tranquilo e você?
Descobri meu problema no sábado, eu estava utilizando uma fonte que não estava mandando energia suficiente e o SSD desligava, aí dava um monte de erro que só consegui ver depois que comprei o adaptador HDMI. Agora está tudo rodando certinho.

Para o meu funcionar só tive que atualizar o raspberry e fazer o flash do HA no SSD com o Balena, foi muito fácil depois que descobri o problema.

Bom dia grupo.

Primeira participação. Já tenho o HA instalado no SSD com docker. Tudo “parece” estar funcionando, mas, qual o próximo passo ? Podem me indicar um tópico para continuar o aprendizado ?

1 curtida

@calm1010 Instalar as integrações com as plataformas, ter acesso externo… node-red para as automações…
Aqui vai ajudar:

2 curtidas

É essa a minha ideia, só adquirir elementos que possam ser integrados sem dar (muitos) problemas. Só tenho um módulo sonoff basic r3 para os testes básicos (fora vários Node-MCU). Eu não tinha informado, mas instalei pelo “IOTStack”, que facilita a instalação de “modulos”, então instalei MQTT, Node-RED, e mais alguns outros que não lembro agora (verei no fds).

Uma coisa que notei é que não tenho a opção “Supervisor” na barra vertical à esquerda, entre “Ferramentas de desenvolvedor” e “Configurações”, e vários tutoriais e vídeos usam essa opção.

Obrigado pelas indicações, irei lendo tudo de acordo com minha disponibilidade de tempo, mas é muito bom saber que existe uma comunidade para nos auxiliar quando encontramos o que nos parece um beco sem saídas.

Eu segui esse tutorial aqui e deu certo!

1 curtida