Home Assistant is a home automation platform that runs on your own server.

About this Article

This document contains notes and helpful information and will be updated as the project progresses or as new features are added. Bookmark this page to keep your notes up to date.

Hardware and Installation Options

Primary Hardware Platform / Target Platform

  • Raspberry Pi (Raspberry Pi 3 recommended)
    • Referred to as the “Home Assistant Supervised”, “HASS” or “Hassio”
    • Secondarily available: Install “Home Assistant Core” requiring installation of the platform inside a python environment.
  • Any Linux System Supporting Docker (debian, Ubuntu, CentOS, etc), and even macOS, Windows and virtual machines supporting the x86 instruction set.
    • Referred to as the “Home Assistant Container” or Docker install.

Essential Tools & Knowledge

This is a Placeholder

Helpful Knowledge

  • Some understanding of the YAML language and formatting for proper validation of configuration files. (YAML is picky about things like indentation and spacing - you cannot use tab, it’s annoying)
  • Potentially some understanding of git command line tools (or ability to install and follow git guides later in the customization of the system).

Helpful Tools

  • Windows File Share Browser (On Mac, use Connect to Server in Finder, on Linux the SAMBA client may need to be installed).
  • VS Code to edit configuration files, includes helpful formatting, remote host connections (ssh, rsync, etc), and extensions for syntax as well as controlling Home Assistant (check configuration, start/stop, etc).
    • Why this is better - Easier workflow. Much of the setup and maintenance is done in the UI but early and core changes are in the config file which is YAML. You will be able to load, edit and see errors before saving, then call the server to double check your edits and restart the server. VS Code becomes the controller of the server and even when not editing YAML directly is easier to restart with less clicks. With the YAML highlighting and extra syntax features you’ll also be able to do custom configuration of cards and other elements in VS Code to take advantage of syntax highlighting.
  • SFTP (Secure File Transfer Protocol) client for remote host connections if SAMBA is not available and VS Code and/or the terminal/shell isn’t a possible solution.
VS Code Extensions
  • Home Assistant
    • How to connect VS Code to HA after install.
    • How it works explained - the extension needs a copy of the files locally to push back to the server or a way to access them. Otherwise the extension will primarily call the server to validate and restart the HA service to make changes go into effect. Page explains different access methods. NOTE: If installing on a Raspberry Pi it is not recommended to use SSH to connect to the HA server. Instead mount the SAMBA share and use the local path in VS Code to edit and save the configuration files.
  • YAML Parser/Formatter/Linter:
    • YAML Language Support by Red Hat - Will show errors if the YAML is not formatted properly inline, format on save. Use the Problems tab at the bottom of VS Code to see any potential YAML or other errors before saving your configuration.
  • GitHub Copilot -AI code completion. Especially useful as it will help by looking at the files in the Home Assistant folder to help with suggesting changes and will include things like variables local to your setup, API keys, passwords to avoid copy/paste or rekeying them.
  • Placeholder

Installation Outline

Placeholder - Suggested to use the official documentation from the website. RPI install will be flashing a preset image and updating it, and not as involved as installing in Docker (which is a single command itself actually - but requires Docker and some knowledge of Docker container configuration).