Hass.io install on PINE64+

Recently decided to move from Vera to HA. While I had an RPI B available, I also had a few PINE64+ w/ 2GB sitting around which is a generally newer and more capable system than the B. Also had the IoT module which includes a ZWave radio.

There’s a handful of idiosyncrasies that need to be addressed to get Hass.io up and running on one of them so this post is to address them and hopefully provide a single guide for others.

First and foremost, Hass.io can be installed on top of linux rather than flashing a rom directly to the sdcard. There is not a flashable image for PINE64 at the moment. I used DietPi as the base linux image since I didn’t need or want a desktop or other overhead.

http://dietpi.com/downloads/images/

Once that’s installed, I walked through the config to get a couple of pieces in place including activating the BT module and the IoT riser, renaming the hostname, etc. I would avoid installing extra software at this point.

Next, I used the Hassio.install instructions for linux at this link: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio

There is a list of dependencies that you need to install and this is where I found a big piece of the puzzle. On the list is docker but technically the package is docker-ce. It is not currently available for aarch64 so either you need to compile it for multi-arch or download it from the nice person that already did that.

I subsequently found this which may work as well:
https://download.docker.com/linux/debian/dists/stretch/pool/test/arm64/
But I can’t guarantee it.

All the other dependencies should install with relative ease.

Last but not least is the curl command at the bottom of the page.

curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s – -m MY_MACHINE

For the PINE64+, you should replace MY_MACHINE with “qemuarm-64”

Once the hassio_install script is run, it should invoke docker and create two containers to run hass.io - the supervisor and the HA instance. You can check this by running “docker ps” from the CLI.

Server should be available at SERVERIP:8123 or Hassio.local:8123

6 Likes

@macstibs I have the Pine 64+ as well and followed your guide for the install. I think it got easier now maybe with the latest DietPi 6.14 so hope you don’t mind if I put the steps I followed to get it up and running.

09/22/2018

Prerequisites

  • Windows 10 Home
  • PINE A64+ 2GB Board, PINE64 WIFI 802.11BGN/Bluetooth 4.0 Module & PINE64 ZWave Module (US Version)
  • USB Keyboard
  • Ethernet connection
  • HDMI display
  • Etcher (using 1.4.4)
  • DietPI (using 6.14)

Steps

  1. Extract the image from the compressed file.

  2. Open Etcher, select the newly extracted image and memory card and flash it.

  3. After flashing it, you will put the SD card in thePine64, have your HDMI, Ethernet cable and USB keyboard connected. With this version 6.14 of the DietPi Wi-Fi module will not work. So either you connect an Ethernet cable to your router or, if it’s not nearby like in my case, you can bridge your laptop Wi-Fi connection to the Ethernet connection.
    |a.| Go to Control Panel – Network and Internet – Network Connections
    |b.| Select your Wi-Fi device, right click and select properties
    |c.| Then go to the Sharing tab, check the first checkbox “Allow other network users to connect though this computer’s internet connection”. Then select your Ethernet device from the list

  4. Power on your Pine64+ Board by connecting the micro USB power and wait till the login screen appears on the screen (first boot up takes about 2 minutes for something to print). Login with root / dietpi.

  5. You will be prompted with few menus to change passwords, then it will go and update its software and reboot.

  6. Once is back you will be prompted to install software, don’t go and install much now. I first went to the DietPi-Config and configured somethings for later
    |a.| 4 Advance Options – Serial Console to On
    |b.| 4 Advance Options – Bluetooth to On
    |c.| 5 Language/Regional Options – Locale selected en_US in my case
    |d.| 5 Language/Regional Options – Timezone selected my timezone

  7. The selected in Filer Server selected ProFTP. Selected install and ok. System will reboot

  8. Login again and type command “dietpi-software” to go again to the same screen. From here under Optimized software install 162 Docker. Select install and ok. System will reboot

  9. (OPTIONAL STEP) Now that we have Docker installed, let’s install a container to easily manage from web the different containers. It’s called portainer
    Commands are:
    $ docker volume create portainer_data
    $ docker run -d -p 9000:9000 --name portainer --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer:arm

  10. Install required APT packages to install HASS.IO and finally install it
    $ apt-get update
    $ apt-get install jq avahi-daemon –y
    $ curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s - -m qemuarm-64

NOTES: Would’ve put images and links but since I’m new user it does not allow me.

UPDATE 1

Found that in 6.14 - 6.16 (tested) if you run the following command then the WIFI module will be available
$ rm /etc/modprobe.d/disable_wifi.conf

Already let the developers at DietPI know about this issue so it might be fixed in future.

UPDATE 2

Looks like installing mosquitto from HASS IO is not working and installing from the official source neither since is not compiled for ARM. Here is what I did for this:

  1. $ docker run -d --name mosqutto -v mosquitto.config:/mosquitto/config/mosquitto.config -p 1883:1883 -p 9001:9001 -v /mnt/dietpi_userdata/docker/mosquitto/config:/mosquitto/config -v /mnt/dietpi_userdata/docker/mosquitto/data:/mosquitto/data -v /mnt/dietpi_userdata/docker/mosquitto/logs:/mosquitto/logs panuwitp/mosquitto-arm
  2. You will need to create the /mnt/dietpi_userdata/docker/mosquitto/config/mosquito.config file and type in it

persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
allow_anonymous false

  1. Start the docker container, then run a command inside with the following replacing $USERNAME with your user. After this it is expecting for you to type the password twice.
    # mosquitto_passwd -c /mosquitto/config/passwordFile $USERNAME

  2. Open again the mosquitto.config file and add the following to secure your mosquitto broker

password_file /mosquitto/config/passwordFile

  1. Restart mosquitto container and you are all set.
2 Likes

@vcliment89

Wondering why you created a container and then install hassio instead of using the hass docker image?

How has this setup been running for you so far?

You mean why I installed Portainer? That is completely optional (I’ll mark it on the main comment). I installed so is easier to start / stop the containers. Also you can run the command line inside the container from web so I thought it was a plus since I planned on installing also node-red and some other containers related to automation.

Or if you mean about mosquitto, why I didn’t use Hass.IO to install it, is because they only have mosquitto image but I needed mosquitto-arm to run here.

I am still getting everything setup, getting the zwave module working will take me some more time since is not a standard USB module, but so far so good. I like HASS a lot.

I was looking at the pine64+, looks like its a very high bang for the buck upgrade from a pi3.
I ended up using two pi3’s for now, one for hass and one for node red, and it runs pretty well.

Thanks for posting this, its nice to know I seems like I can move to a pine64+ in the future if I need to.

Hopefully you’ll post some information on getting the zwave stick working as I would have to do that too.

Randy

@vcliment89

I just had a look at https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install and realized it does install hassio in a container. So my first question is no longer valid.

However, thanks for the reply. Good luck with the Z-Wave.

@ vcliment89 were you ever able to get the zwave radio working?

@jondoe I have both a Vera Plus as well as the Zwave riser installed. The Vera has a great radio system, but it’s automation controls are crap and its software revs are equally garbage. With that said, while the Zwave riser works, the direct zwave implementation was kind of borked for a while and node naming was a real PITA so I stopped adding nodes to it.

I believe they fixed it in one of the more recent Hass.io revs but I haven’t had time to give it a try again.

@macstibs I’m not sure what the Vera plus has to do with hassio on pine64. What do you mean by zwave riser? Is that the zwave module that came with the pine64 board?

So I did get the zwave radio (that came with the Pine64 IoT kit) working using the manual setup (install longsleep ubuntu, make install python3.6, pip install homeassistant etc…) the one thing I think I had missed when I installed using this github hassio script was the group permissions. So I’m going to try the setup mentioned on this page again and ensure that I give the right use the right permissions. For me the radio seems to be installed on /dev/ttyS2.

Update: f*** it. the hassio is too complicated for me to work with with it’s supervisor and homeassistant containers. apparently you have to mount the additional hardware devices onto the homeassistant container which doesn’t happen by default. so first of all i can’t even find the script that starts the homeassistant container. i tried to see if could mount the additional devices manually using portainer but didn’t find a “duplicate/edit” button that im supposed to click on the container details page. Even if i did manage to mount it manually, am i to do this everytime the machine restarts!? no im probably supposed to update the docker image so that the configuration loads with the mounted devices. and so im supposed to edit the docker image? foggetaboutit! I’ll try one more thing, which is that the dietpi software installer lets me install an “optimized” homeassistant. This will be without the docker, i know that much. I’ll update again

Update 2: The Z-Wave radio must not like the dietpi image. It works with longsleep’s ubuntu image with nearly the same setup, but just not with dietpi. I posted my steps here: Installing Home Assistant on Pine64 + Z-wave (IoT kit) without HassIO (i.e. manually)

Great instructions, @vcliment89. Was able to get through it without any issues until the last step.

The curl command throws the following error:

“bash: line 1: 404:: command not found”

I’m sure this is something small on my end but can’t find the issue. I’m not a developer and my Unix skills are 1 out of 10 :slight_smile:

Ok, an update.

The error was due to the URL having changedI finally figured out the location of Hassio had changed. Would I now simply use a Supervised install?

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

With this command you get to the end and have a server at <IP_address:8123>

Good luck!

1 Like