Awesome Open Source
Awesome Open Source



The Raspberry Pi All-In-One Installer deploys a complete Home Assistant server including support for MQTT with websockets, Z-Wave, and the Open-Zwave Control Panel.

The only requirement is that you have a Raspberry Pi with a fresh installation of Raspbian connected to your network.

Enable SSH on the Raspberry Pi for the procedure to complete. Best to do this when you write the SD card or after initial boot before you follow the rest of this procedure.

  • Login to Raspberry Pi. For example with ssh [email protected]_raspberry_pi_ip
  • Run the following command
$ curl -O && sudo chown pi:pi && bash

Note this command is one line and not run as sudo

Installation will take approx. 1-2 hours depending on the Raspberry Pi model the installer is being run against.

BRUH automation has created a tutorial video explaining how to install Raspbian on your Raspberry Pi and install Home Assistant using the All-In-One Installer.

Once rebooted, your Raspberry Pi will be up and running with Home Assistant. You can access it at http://your_raspberry_pi_ip:8123.

The Home Assistant configuration is located at /home/homeassistant/.homeassistant. The virtualenv with the Home Assistant installation is located at /srv/homeassistant/homeassistant_venv. As part of the secure installation, a new user is added to your Raspberry Pi to run Home Assistant as named, homeassistant. This is a system account and does not have login or other abilities by design. When editing your configuration.yaml files, you will need to run the commands with "sudo" or by switching user. Windows users - Setting up WinSCP to allow this seemlessly is detailed below.

By default, installation makes use of a Python Virtualenv. If you wish to not follow this recommendation, you may add the flag -n to the end of the install command specified above.

The All-In-One Installer script will do the following automatically:

  • Create all needed directories
  • Create needed service accounts
  • Install OS and Python dependencies
  • Setup a python virtualenv to run Home Assistant and components inside.
  • Run as homeassistant service account
  • Install Home Assistant in a virtualenv
  • Install Mosquitto, running on ports 1883 and 9001
  • Build and Install Python-openzwave in the Home Assistant virtualenv
  • Build openzwave-control-panel in /srv/homeassistant/src/open-zwave-control-panel
  • Build and Install libcec for the hdmi component
  • Add Home Assistant to systemd services to start at boot

To change the MQTT default password:

  • Login to Raspberry Pi ssh [email protected]_raspberry_pi_ip
  • Change password sudo mosquitto_passwd /etc/mosquitto/pwfile pi
  • Restart mosquitto sudo systemctl restart mosquitto.service
  • Be sure to update your configuration.yaml to reflect the new password.

To launch the OZWCP webapp:

  • Login to Raspberry Pi ssh [email protected]_raspberry_pi_ip
  • Change to the ozwcp directory cd /srv/homeassistant/src/open-zwave-control-panel/
  • Launch the control panel sudo ./ozwcp -p 8888
  • Open a web browser to http://your_pi_ip:8888
  • Specify your zwave controller, for example /dev/ttyACM0 and hit initialize

don't check the USB box regardless of using a USB based device

Windows Users - Please note that after running the installer, you will need to modify settings allowing you to "switch users" to edit your configuration files. The needed change within WinSCP is: Environment -> SCP/Shell -> Shell and set it to sudo su -.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
shell (10,397
automation (718
deployment (232
configuration-management (88
fabric (66