Home Assistant nos da un control total sobre los dispositivos inteligentes de nuestro hogar ofreciendo ademas, una privacidad absoluta ya que todos los datos estarán en nuestra Raspberry Pi.
Para comenzar, instalamos las dependencias necesarias para Home Assistant:
1 |
sudo apt-get install python3 python3-venv python3-pip libffi-dev libssl-dev |
Ahora vamos a añadir una cuenta de usuario que solo usará Home Assistant, el grupo “dialout” se usa para los controladores Zigbee y Z-Wave y el grupo “gpio” para tener acceso a los pins de nuestra Raspberry:
1 |
sudo useradd -rm homeassistant -G dialout,gpio |
Una vez instaladas las dependencias y el usuario este creado, vamos a crear el directorio de instalación de Home Assistant:
1 2 |
sudo mkdir /srv/homeassistant sudo chown homeassistant:homeassistant /srv/homeassistant |
Lo siguiente es crear un entorno virtual para Home Assistant, esto debe hacerse con el usuario “homeassistant” anteriormente creado:
1 2 3 4 |
sudo -u homeassistant -H -s cd /srv/homeassistant python3 -m venv . source bin/activate |
Una vez activado el entorno virtual, ejecutamos los siguientes comandos:
1 2 3 |
(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant (homeassistant) $ hass |
El comando “hass” descargará e instalará todas las librerías y dependencias necesarias, la primera vez que se ejecuta puede tardar unos 10 minutos en terminar, después de ese tiempo, deberíamos poder acceder a la nueva instalación de Home Assistant en http://ip raspberry:8123
Iniciar Home Assistant automáticamente
Vamos a crear un servicio para poder iniciar/parar/reiniciar Home Assistant fácilmente, ejecutamos el siguiente comando:
1 |
sudo nano -w /etc/systemd/system/home-assistant@homeassistant.service |
Y pegamos este contenido:
1 2 3 4 5 6 7 8 9 10 11 |
[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 |
Una vez el fichero esté creado, recargamos el daemon para que cargue los nuevos cambios:
1 |
sudo systemctl --system daemon-reload |
Ahora, para que Home Assistant se inicie automáticamente al inicio del sistema:
1 |
sudo systemctl enable home-assistant@homeassistant |
Para comprobar que funciona, podemos hacer un “sudo reboot” y Home Assistant debería iniciar automáticamente.
Ver el log de Home Assistant
Podemos ver el log completo en tiempo real con el siguiente comando:
1 |
sudo journalctl -f -u home-assistant@homeassistant |
O este otro para ver solo los logs que contengan “error”:
1 |
sudo journalctl -f -u home-assistant@YOUR_USER | grep -i 'error' |
Editando la configuración de Home Assistant con Samba
Para poder editar los ficheros de Home Assistant desde el usuario por defecto de Raspbian (pi), añadimos el usuario “pi” al grupo “homeassistant”:
1 |
sudo usermod -a -G homeassistant pi |
Luego damos permisos de escritura al grupo sobre los ficheros deseados:
1 2 3 |
sudo chmod 664 /home/homeassistant/.homeassistant/configuration.yaml sudo chmod 664 /home/homeassistant/.homeassistant/customize.yaml sudo chmod 664 /home/homeassistant/.homeassistant/automations.yaml |
Fuente y más información:
https://www.home-assistant.io/docs/installation/raspberry-pi/