Note
Thank you to @ms1design for his generous contributions and work on porting Home Assistant & Wyoming containers for Jetson!
The container image is based on the Home Assistant Core
with a few modifications:
HA OS |
Container |
Core |
Core on Jetson |
Supervised |
|
---|---|---|---|---|---|
Automations | ✅ | ✅ | ✅ | ✅ | ✅ |
Dashboards | ✅ | ✅ | ✅ | ✅ | ✅ |
Integrations | ✅ | ✅ | ✅ | ✅ | ✅ |
Blueprints | ✅ | ✅ | ✅ | ✅ | ✅ |
Uses container | ✅ | ✅ | ❌ | ✅1 | ✅ |
Supervisor | ✅ | ❌ | ❌ | ❌ | ✅ |
Add-ons | ✅ | ❌ | ❌ | ✅2 | ✅ |
Backups | ✅ | ✅ | ✅ | ✅ | ✅ |
Managed Restore | ✅ | ❌ | ❌ | ❌ | ✅ |
Managed OS | ✅ | ❌ | ❌ | ❌ | ❌ |
If you want to use docker compose
to run Home Assistant Core Voice Assistant Pipeline on a Jetson device with cuda
enabled, you can find a full example docker-compose.yaml
here.
name: home-assistant-jetson
version: "3.9"
services:
homeassistant:
image: dustynv/homeassistant-core:latest-r36.2.0
restart: unless-stopped
init: false
privileged: true
network_mode: host
container_name: homeassistant
hostname: homeassistant
ports:
- "8123:8123"
volumes:
- ha-config:/config
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
volumes:
ha-config:
The user interface can be found at http://your-ip:8123. (replace with the hostname
or IP
of the system). Follow the wizard to set up Home Assistant. Feel free to follow the official instructions.
We encourage to look for help in the official Home Assistant documentation and within the HA Community Forums or on a Jetson Research Group thread on the NVIDIA forum.
Configuration files location
You can specify where you want to store your Home Assistant Core configuration by attaching a docker volume
. Make sure that you keep the :/config
part:
-v /PATH_TO_YOUR_CONFIG:/config
Devices auto-discovery
Home Assistant can discover and automatically configure zeroconf
/mDNS
and UPnP
devices and add-ons on your network. In order for this to work you must create the container with --net=host
:
when using docker cli
:
--net=host
when using docker-compose.yaml
:
network_mode: host
Add-on auto-discovery
TLDR; It's disabled, go with manual way...
Native auto-discovery of add-ons running on the same host/network is disabled due to the requirement of running Home Assistant Supervisor
. This has some deep debian system dependencies which were too tedious to port in this project.
Most Home Assistant add-ons use
bashio
under the hood so some of the system overlay commands ware adapted to make them work withoutSupervisor
.
To manually add the wyoming
enabled add-on from this repository to the running Home Assistant Core instance, just follow the steps below:
- Browse to your Home Assistant instance (eg.:
homeassistant.local:8123
). - Go to
Settings > Devices & Services
. - In the bottom right corner, select the
Add Integration
button. - From the list, search & select
Wyoming Protocol
. - Enter the
wyoming
add-onHost IP
address (uselocalhost
if running of the same host as Home Assistant). - Enter the
wyoming
add-onport
(default is10400
).
Accessing Bluetooth Devices
To provide Home Assistant with access to the host's Bluetooth
device(s), the Home Assistant Core container uses BlueZ
on the host
- add the capabilities NET_ADMIN
and NET_RAW
to the container, and map dbus
as a volume
as shown in the examples below to enable Bluetooth support:
when using docker cli
:
--cap-add=NET_ADMIN \
--cap-add=NET_RAW \
-v /var/run/dbus:/var/run/dbus:ro
when using docker-compose.yaml
:
cap_add:
- NET_ADMIN
- NET_RAW
volumes:
- /var/run/dbus:/var/run/dbus:ro
- Fix add-ons auto-discovery
Got questions? You have several options to get them answered:
- The Home Assistant Discord Chat Server.
- The Home Assistant Community Forum.
- Join the Reddit subreddit in
/r/homeassistant
- In case you've found an bug in Home Assistant, please open an issue on our GitHub.
- The NVIDIA Jetson AI Lab tutorials section.
- The Jetson AI Lab - Home Assistant Integration thread on NVIDIA's Developers Forum.
- In case you've found an bug in
jetson-containers
, please open an issue on our GitHub.
Note
This project was created by Jetson AI Lab Research Group.
Footnotes
-
Home Assistant Core is now containerized. ↩
-
Supports only manually installed, dockerized and preconfigured
wyoming
Local Voice Assistant add-ons from this repository. These add-ons are compatible withHome Assistant Core
hosted on any machine. ↩