{"id":1366,"date":"2018-11-10T08:33:56","date_gmt":"2018-11-10T13:33:56","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/edelros\/?p=1366"},"modified":"2026-07-22T05:20:10","modified_gmt":"2026-07-22T10:20:10","slug":"home-assistant-instalar","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/girni\/home-assistant-instalar\/","title":{"rendered":"1. Home Assistant - Instalar\/Actualizar"},"content":{"rendered":"\n<p><em>Revisado<\/em>: 2021-07-27<\/p>\n\n\n\n<figure class=\"wp-block-image alignright\"><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HomeAssistantLogo01.png\"><img loading=\"lazy\" decoding=\"async\" width=\"164\" height=\"160\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HomeAssistantLogo01.png\" alt=\"\" class=\"wp-image-1603\" \/><\/a><\/figure>\n\n\n\n<p>Home Assistant es una aplicaci\u00f3n abierta, tipo local con la gesti\u00f3n b\u00e1sica para iniciar un proyecto de IOT para el hogar u oficina. <\/p>\n\n\n\n<p>Permite acceder a la informaci\u00f3n y control de los dispositivos mediante una p\u00e1gina web de configuraci\u00f3n simplificada, personalizada, facilitando la instalaci\u00f3n b\u00e1sica para iniciar con los conceptos b\u00e1sicos.<\/p>\n\n\n\n<p>\u00c9sta secci\u00f3n muestra notas tomadas como documentaci\u00f3n simplificada al realizar un proyecto b\u00e1sico de IOT.<\/p>\n\n\n\n<p>La forma de implementarla para este proyecto es un Raspberry Pi, por tener un servidor dedicado y de bajo consumo energ\u00e9tico, aunque <strong>puede<\/strong> inslalarse en otras plataformas.<\/p>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: <a href=\"https:\/\/www.home-assistant.io\/installation\/\">https:\/\/www.home-assistant.io\/installation\/<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">1. Instalaci\u00f3n manual  en Raspberry Pi<\/h2>\n\n\n\n<p>Para la implementaci\u00f3n de un broker simplificado que gestione las conexiones con cada dispositivo se usa un Raspberry Pi con su sistema operativo \"<a href=\"https:\/\/www.raspberrypi.org\/downloads\/raspberry-pi-os\/\">Raspberry pi OS<\/a>\"&nbsp; a partir del a\u00f1o 2020, antes conocido como\"Raspbian\". Dado que la documentaci\u00f3n se inici\u00f3 en el 2018, se mantienen ambos nombres para la documentaci\u00f3n.<\/p>\n\n\n\n<p>En adelante, se considera que el Raspbian ya se encuentra instalado, actualizado, operativo y con direcci\u00f3n IP fija, de no ser as\u00ed puede seguir las instrucciones de la secci\u00f3n&nbsp;<a href=\"http:\/\/blog.espol.edu.ec\/girni\/1-raspberry-pi-os-instalar\/\">Raspberry Pi OS-Instalar <\/a><\/p>\n\n\n\n<p>A partir de aqu\u00ed se resumen los pasos para la instalaci\u00f3n de Home Assistant<\/p>\n\n\n\n<p>Para la instalaci\u00f3n se recomienda actualizar Rasbian a la fecha, puede usar las indicaciones en la secci\u00f3n correspondiente <a href=\"http:\/\/blog.espol.edu.ec\/girni\/raspbian-actualizar\/\">Raspbian-Actualizar<\/a><\/p>\n\n\n\n<p>algunos componentes adicionales para actualizar<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>sudo apt-get install -y python3 python3-dev python3-venv\nsudo apt-get install -y python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev\nsudo apt-get install -y autoconf build-essential libopenjp2-7 libtiff5 tzdata<\/code><\/pre>\n\n\n\n<p>Luego se continua con el proceso de instalaci\u00f3n en entorno virtual.<\/p>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: <a href=\"https:\/\/www.home-assistant.io\/docs\/installation\/raspberry-pi\/\">https:\/\/www.home-assistant.io\/docs\/installation\/raspberry-pi\/<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">2. Crea un Entorno virtual en Python<\/h2>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>Crear un usuario para homeassistant\n<pre>sudo useradd -rm homeassistant -G dialout,gpio,i2c<\/pre><\/code><\/pre>\n\n\n\n<p>Crear un directorio de trabajo<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>cd \/srv\nsudo mkdir homeassistant\nsudo chown homeassistant:homeassistant homeassistant<\/code><\/pre>\n\n\n\n<p>Configurar un entorno virtual, ajustar la versi\u00f3n de Python acorde a la disponible y que se encuentre probada. El resto de instrucciones se mantienen iguales.<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>sudo -u homeassistant -H -s\ncd \/srv\/homeassistant\npython3 -m venv .\nsource bin\/activate<\/code><\/pre>\n\n\n\n<p>A\u00f1adir los componentes Python<\/p>\n\n\n\n<p>hasta el momento,&nbsp; la linea de shell debe tener la forma de:<br><code>(homeassistant) homeassistant@raspberrypi:\/srv\/homeassistant $<\/code><\/p>\n\n\n\n<p>donde se puede escribir la instrucci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 -m pip install wheel<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h1 class=\"wp-block-heading\">3. Instala en entorno virtual<\/h1>\n\n\n\n<p>Iniciar el proceso de instalaci\u00f3n, en la l\u00ednea de shell mostrada en el estado anterior, se escribe:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip3 install homeassistant<\/code><\/pre>\n\n\n\n<p>donde se puede observar el progreso de instalaci\u00f3n de la siguiente forma:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>(homeassistant) homeassistant@raspberry:\/srv\/homeassistant $ pip3 install homeassistant\nLooking in indexes: https:\/\/pypi.org\/simple, https:\/\/www.piwheels.org\/simple\nCollecting homeassistant\n  Downloading https:\/\/files.pythonhosted.org\/packages\/87\/c9\/f41fcf931501f07ef9ca12365fd09eb879f6755618f375b058a229d9c94b\/homeassistant-0.103.6-py3-none-any.whl (6.0MB)\n    100% |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6.0MB 53kB\/s\nCollecting cryptography==2.8 (from homeassistant)\n  Downloading https:\/\/files.pythonhosted.org\/packages\/be\/60\/da377e1bed002716fb2d5d1d1cab720f298cb33ecff7bf7adea72788e4e4\/cryptography-2.8.tar.gz (504kB)\n    100% |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 512kB 343kB\/s\n  Installing build dependencies ... done\n...<\/code><\/pre>\n\n\n\n<p>El programa se puede iniciar usando la instrucci\u00f3n. Esperar con paciencia, toma tiempo la primera ejecuci\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hass<\/code><\/pre>\n\n\n\n<p>Durante el proceso de instalaci\u00f3n, (o esperado al menos 5 minutos) una vez que se ha llegado al proceso de:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>&#091;homeassistant.bootstrap] Home Assistant initialized in 525.83s\n&#091;homeassistant.core] Starting Home Assistant\n(MainThread) &#091;homeassistant.core] Timer:starting<\/code><\/pre>\n\n\n\n<p>o en otro caso, observe los tiempos:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>2021-07-23 06:06:09 WARNING (Recorder) &#091;homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at \/\/home\/homeassistant\/.homeassistant\/home-assistant_v2.db was shutdown cleanly\n2021-07-23 06:08:15 WARNING (MainThread) &#091;homeassistant.bootstrap] Waiting on integrations to complete setup: cloud\n2021-07-23 06:11:38 WARNING (MainThread) &#091;homeassistant.bootstrap] Waiting on integrations to complete setup: zeroconf<\/code><\/pre>\n\n\n\n<p>se debe ingresar v\u00eda web para ingresar los datos de usuario, palabra clave, ubicaci\u00f3n geogr\u00e1fica y as\u00ed completar la instalaci\u00f3n.<\/p>\n\n\n\n<p>Para el ejemplo mostrado deber\u00eda ingresar desde un navegador de internet a la direcci\u00f3n asignada en el proceso de instalaci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">192.168.10.100:8123<\/pre>\n\n\n\n<p>Cuando se termine el proceso de instalaci\u00f3n en la p\u00e1gina web, ser\u00e1 necesario configurar el inicio autom\u00e1tico, as\u00ed al reiniciar el Raspberry Pi, todo contin\u00fae funcionando normalmente.<\/p>\n\n\n\n<p>- se debe salir del proceso de la consola con las teclas <code>Ctrl-C<\/code><\/p>\n\n\n\n<p>- regresar al usuario b\u00e1sico con la instrucci\u00f3n:&nbsp; <code>exit<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Configura el inicio autom\u00e1tico<\/h2>\n\n\n\n<p>Crear un archivo de servicio con nombre semejante al mostrado en la instrucci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>sudo nano -w \/etc\/systemd\/system\/home-assistant@<strong>homeassistant<\/strong>.service<\/code><\/pre>\n\n\n\n<p>El contenido del archivo siguen las siguientes instrucciones:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>&#091;Unit]\nDescription=Home Assistant\nAfter=network-online.target \n\n&#091;Service]\nType=simple\nUser=%i\nExecStart=\/srv\/homeassistant\/bin\/hass -c \"\/home\/homeassistant\/.homeassistant\"\n\n&#091;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<p>Configure el autoinicio de Home Assistant con la instrucci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>sudo systemctl enable home-assistant@homeassistant<\/code><\/pre>\n\n\n\n<p>Para probar que todo funciona bi\u00e9n se reinicia el Raspberry Pi con la instruccion <code>sudo reboot<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Modo avanzado para administrador<\/h2>\n\n\n\n<p>Para comprobar que las configuraciones sean las correctas u otras opciones de administrador, se puede activar las opciones de modo avanzado para el usuario administrador desde la secci\u00f3n \"administrador\/modo avanzado\"<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HA_ActivaModoAvanzado.png\"><img loading=\"lazy\" decoding=\"async\" width=\"877\" height=\"552\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HA_ActivaModoAvanzado.png\" alt=\"\" class=\"wp-image-2118\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HA_ActivaModoAvanzado.png 877w, https:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HA_ActivaModoAvanzado-300x189.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HA_ActivaModoAvanzado-768x483.png 768w\" sizes=\"auto, (max-width: 877px) 100vw, 877px\" \/><\/a><\/figure>\n\n\n\n<p>Se activan y muestran los botones en \"configuraci\u00f3n\/controles de servidor\"<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Python Virtual enviroment<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.home-assistant.io\/docs\/autostart\/systemd\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Home Assistant \u2013 Actualizar<\/h2>\n\n\n\n<p>Peri\u00f3dicamente se publican actualizaciones para Home Asssistant en el sitio web. La versi\u00f3n instalada se puede revisar en el sitio web local, secci\u00f3n de \"Configuraci\u00f3n\/informaci\u00f3n\".<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HomeAssistantActualiza01.png\"><img loading=\"lazy\" decoding=\"async\" width=\"928\" height=\"661\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HomeAssistantActualiza01.png\" alt=\"\" class=\"wp-image-3911\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HomeAssistantActualiza01.png 928w, https:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HomeAssistantActualiza01-300x214.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2018\/11\/HomeAssistantActualiza01-768x547.png 768w\" sizes=\"auto, (max-width: 928px) 100vw, 928px\" \/><\/a><\/figure>\n\n\n\n<p>Las instrucciones para actualizar Home Assistant se realizan mediante una conexi\u00f3n terminal ssh que consiste en:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cambiar al usuario homeassistant<\/li>\n\n\n\n<li>activar el directorio de trabajo<\/li>\n\n\n\n<li>actualizar usando pip<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>sudo -u homeassistant -H -s\nsource \/srv\/homeassistant\/bin\/activate\npip3 install --upgrade homeassistant<\/code><\/pre>\n\n\n\n<p>La actualizaci\u00f3n se realiza usando pip dado que la base del programa es Python.<\/p>\n\n\n\n<p>La respuesta obtenida desde un terminal es semejante a lo mostrado:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>homeassistant@GirniLab01:\/home\/pi $ source \/srv\/homeassistant\/bin\/activate\n(homeassistant) homeassistant@GirniLab01:\/home\/pi $ pip3 install --upgrade homeassistant\nLooking in indexes: https:\/\/pypi.org\/simple, https:\/\/www.piwheels.org\/simple\nCollecting homeassistant\n  Downloading homeassistant-2021.12.7-py3-none-any.whl (15.4 MB)\n     |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 15.4 MB 21 kB\/s\nCollecting httpx==0.21.0\n  Downloading httpx-0.21.0-py3-none-any.whl (83 kB)\n     |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 83 kB 283 kB\/s\n....\n<\/code><\/pre>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: <a href=\"https:\/\/www.home-assistant.io\/docs\/installation\/raspberry-pi\/\">https:\/\/www.home-assistant.io\/docs\/installation\/raspberry-pi\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Actualizar con Docker<\/h2>\n\n\n\n<p>Si la instalaci\u00f3n fue realizada con Docker, se usan las siguientes instrucciones:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code># if this returns \"Image is up to date\" then you can stop here\ndocker pull ghcr.io\/home-assistant\/home-assistant:stable\n\n# stop the running container\ndocker stop homeassistant\n\n# remove it from Docker's list of containers\ndocker rm homeassistant\n\nsudo docker run -d \\\n  --name homeassistant \\\n  --restart=unless-stopped \\\n  --privileged \\\n  -e TZ=Americas\/Guayaquil \\\n  -v \/home\/girni\/homeassistant:\/config \\\n  --network=host \\\n  ghcr.io\/home-assistant\/home-assistant:stable\n<\/code><\/pre>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: <a href=\"https:\/\/www.home-assistant.io\/installation\/raspberrypi-other\">https:\/\/www.home-assistant.io\/installation\/raspberrypi-other<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Revisado: 2021-07-27 Home Assistant es una aplicaci\u00f3n abierta, tipo local con la gesti\u00f3n b\u00e1sica para iniciar un proyecto de IOT para el hogar u oficina. Permite acceder a la informaci\u00f3n y control de los dispositivos mediante una p\u00e1gina web de configuraci\u00f3n simplificada, personalizada, facilitando la instalaci\u00f3n b\u00e1sica para iniciar con los conceptos b\u00e1sicos. \u00c9sta secci\u00f3n [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1447337],"tags":[602214],"class_list":["post-1366","post","type-post","status-publish","format-standard","hentry","category-home-assistant-broker","tag-iot"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/1366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/comments?post=1366"}],"version-history":[{"count":9,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/1366\/revisions"}],"predecessor-version":[{"id":4284,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/1366\/revisions\/4284"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/media?parent=1366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/categories?post=1366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/tags?post=1366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}