Jetson Nano powered House
Building an energy efficient fully connected
In my system, I have 2 Alexa + Philips Hue which acts as HUB.
Why Jetson nano over Raspberry PI ?
Well Jetson nano play at another level in the computing game. It integrate a full size GPU — Graphic Processing Unit. This allows real time AI — Artificial Intelligence on board at 10W.
Connectivity limitation
Jetson nano does not ship with Wifi onboard. I would advice to connect it directly on the router.
Power limitation
To get the most of the Jetson nano a power supply is required.
Step by step installation
Let’s dive though the steps assuming your have already install Nvidia Linux OS.
- Connect Jetson nano to your router via ethernet cable.
- Plug and boot-up your Jetson nano.
- Connect the Aoetec in any of the USB port
First we need to install a ZWave bridge for Home Assistant.
Make sure you have a Snapd installed. It’s shipped with most Ubuntu Flavors and some other distributions.
sudo snap install zwavejs2mqtt
And give the package access to use USB-devices and observe hardware. The last one is needed for the program to list available devices in the UI.
sudo snap connect zwavejs2mqtt:raw-usb
sudo snap connect zwavejs2mqtt:hardware-observe
Wait a few second for the UI to load, then connect. Ignore the error message.
- Login
- Select setting > serial port /dev/ttyACM0
Next step is to bind the Zwave device.
- Disconnect the Aoetec USB stick
- Walk around the house and pair your Zwave device
- Go back to the Jetson nano and connect Aoetec USB stick on the same USB port.
- Double check that you can see the ZWave device in the UI http://<jetson_ip>:8091
Now you can install the home assistant baremetal for maximum performance. https://www.home-assistant.io/installation/linux
Install Home Assistant Core
INSTALL DEPENDENCIES
Before you start make sure your system is fully updated, all packages in this guide are installed with apt
, if your OS does not have that, look for alternatives.
sudo apt-get update
sudo apt-get upgrade -y
Install the dependencies:
sudo apt-get install -y python3.8 python3.8-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 tzdata
CREATE AN ACCOUNT
Add an account for Home Assistant Core called homeassistant
. Since this account is only for running Home Assistant Core the extra arguments of -rm
is added to create a system account and create a home directory.
sudo useradd -rm home-assistant
CREATE THE VIRTUAL ENVIRONMENT
First we will create a directory for the installation of Home Assistant Core and change the owner to the homeassistant
account.
sudo mkdir /srv/homeassistant
sudo chown homeassistant:homeassistant /srv/homeassistant
Next up is to create and change to a virtual environment for Home Assistant Core. This will be done as the homeassistant
account.
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3.8 -m venv .
source bin/activate
Once you have activated the virtual environment (notice the prompt change to (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $
) you will need to run the following command to install a required Python package.
python3 -m pip install wheel
Once you have installed the required Python package it is now time to install Home Assistant Core!
pip3 install homeassistant
Start Home Assistant Core for the first time. This will complete the installation for you, automatically creating the .homeassistant
configuration directory in the /home/homeassistant
directory, and installing any basic dependencies.
hass
You can now reach your installation via the web interface on http://<jetson_ip>:8123
.
When you run the hass
command for the first time, it will download, install and cache the necessary libraries/dependencies. This procedure may take anywhere between 5 to 10 minutes. During that time, you may get “site cannot be reached” error when accessing the web interface. This will only happen for the first time, and subsequent restarts will be much faster.
Next add Z-Wave integration
- Select Configuration
- Add integration (bottom right )
- Search Z-Wave JS
- After installation the default WS url ws://localhost:3000 is fine
Now all your Z-Wave devices should appears in home assistant.
Happy automation.