PVR

Installing Home Assistant with the pvr CLI

The pvr Command Line Interface (CLI) is the fastest and easiest way to manage changes on a Pantavisor-powered device. This guide will walk you through adding Home Assistant to your device.


1. Cloning the Device

First, you need to clone the device’s current state to your local machine. This process requires that your device is on the same local network and that you know its IP address.

To clone the device, use the following command:

pvr clone <DEVICE_IP>:12368/cgi-bin mydevice

This command clones the device’s entire state, including all running containers, their configurations, and any associated files.

2. Adding the New Container

Now that you have a local copy of the device’s state, you can add Home Assistant.

Use the pvr app add command to add the container from Docker Hub:

pvr app add homeassistant --from homeassistant/home-assistant:stable --platform linux/arm64

Next, stage the newly added files to prepare them for a commit:

pvr add .

3. Committing the Changes

To verify that your changes have been staged correctly, use the pvr status command:

pvr status

The output will show the new files for the Home Assistant app staged for a commit. Once confirmed, commit the changes:

pvr commit -m "Add Home Assistant container"

4. Deploying the Changes

To deploy the new revision, use the pvr post command:

pvr post

Where does it go?

  • Local Device: If you used pvr clone <DEVICE_IP>:12368/cgi-bin, pvr post will send the update directly to the device over your local network.
  • Pantahub: If you used pvr clone <PANTAHUB_URL>, pvr post will push the changes to the cloud, which then notifies the device to update itself.

The device will automatically download the new container and apply the changes.

5. Verifying the Installation

After the update is applied, you can verify that Home Assistant is running:

lxc-ls

You should see homeassistant in the list. You can now access it at http://<DEVICE_IP>:8123.


Next Steps

Now that your application is running, you can: