How to Migrate Home Assistant From a Desktop to a Dedicated Smart-Home Hub

Eva Wong is the Technical Writer and resident tinkerer at ZimaSpace. A lifelong geek with a passion for homelabs and open-source software, she specializes in translating complex technical concepts into accessible, hands-on guides. Eva believes that self-hosting should be fun, not intimidating. Through her tutorials, she empowers the community to demystify hardware setups, from building their first NAS to mastering Docker containers.

Move Home Assistant by restoring onto the dedicated hub, validating radios and critical automations in isolation, then scheduling one reversible control cutover.

Keep the desktop as the sole automation authority while you inventory integrations, addresses, USB radios, secrets, network storage, certificates, and household-critical routines. Download a fresh full backup off the desktop, restore it on the prepared hub, and test each dependency without letting both systems control the same devices. Retire the desktop only after the hub survives restart, backup, normal load, and rollback rehearsal.

Inventory the Current Control Workflow

List the installation type and version, local URL, fixed address or reservation, external URL, certificates, user accounts, add-ons or companion services, database location, network shares, custom integrations, secrets, and every USB or onboard radio. Photograph physical ports and record stable device paths where available.

Then map outcomes: lighting, climate, locks, alarms, presence, energy, voice, dashboards, notifications, schedules, and remote access. For each critical integration, identify one manual action, one automation, its expected state feedback, and a non-Home-Assistant fallback.

Do not proceed if a safety-critical routine has no manual fallback or if you cannot identify which machine, radio, broker, or cloud callback currently owns it. Migration preserves household control first; platform cleanup can happen later.

Prepare the Hub Without Creating Two Controllers

Give the hub stable power, wired networking where practical, adequate local storage, cooling, console access, and a reserved temporary address. Install the target Home Assistant environment and confirm that you can reach onboarding before importing production state.

Keep discovery and automations from creating duplicate control. Do not attach Zigbee or Z-Wave coordinators while the desktop is active unless the test plan explicitly guarantees isolation. Many device networks expect one coordinator state and one controlling instance, not two competing writers.

If a hypervisor, container, or network share is part of the target, validate host restart, USB passthrough, mount order, and write permissions now. The persistent-data role map helps separate portable configuration from host-specific runtime dependencies.

Create an Off-Host Backup and Dependency Record

Create a fresh full backup after the source is healthy and quiet. Download it to another machine, confirm that the file is nonzero and readable, label it with the source version and time, and keep the previous known-good generation until the migration observation window closes.

A backup cannot capture every external dependency by itself. Export or record broker credentials, static addresses, DNS and proxy rules, certificates, database endpoints, share paths, USB mappings, radio firmware, and recovery codes according to each component's rules. Keep secrets protected while ensuring the operator can retrieve them during rollback.

The new-server migration checklist is a useful companion for the source inventory and final delta. Stop if the only backup copy remains on the desktop being replaced.

-15% OFF
Single board computer zimaboard2

Restore in Isolation and Reconnect Boundaries

Restore the backup during target onboarding or through the supported target workflow, then wait for the system and its dependent applications to settle. A personal Home Assistant migration diary documents this backup, reimage, restore, and next-day observation pattern on dedicated hardware.

Before moving radios, inspect logs, integrations, database health, storage mounts, entity availability, and callback errors. Resolve addresses or host paths that belonged to the desktop. Preserve entity IDs and device ownership where possible; renaming during migration makes automation failures harder to attribute.

For USB radios, stop the desktop before the physical handoff, connect the coordinator to the recorded hub port, and update only the device path or passthrough boundary that changed. If restore or radio initialization fails, reconnect the coordinator to the stopped source path and execute the rollback plan rather than resetting the network.

Shadow-Test Dashboards and Critical Automations

Open every household dashboard from the actual phones, tablets, wall panels, and browsers that matter. Operate one device from each critical integration and verify both command delivery and state feedback. Test remote access from outside the LAN rather than assuming an internal URL proves the route.

Trigger time-based, presence-based, notification, safety, and restart-sensitive automations under controlled conditions. Check logs for repeated retries, unavailable entities, duplicate events, slow database operations, and integrations that silently reauthenticated against the old address.

A detailed new-server migration discussion highlights both the portability of backup/restore and the installation-type differences that can affect recovery. Treat every critical failed scenario as a blocking dependency, not a post-cutover chore.

Cut Over Once and Keep a Desktop Rollback

Choose a quiet window and freeze configuration changes. Create and download the final backup, stop Home Assistant on the desktop, move the radio hardware, assign the production address or DNS endpoint to the hub, and start the hub as the sole control authority.

  1. Verify local and remote login.
  2. Confirm radio networks and one device per critical integration.
  3. Run the critical automation and notification set.
  4. Restart the hub and repeat the blocking checks.
  5. Create and download a new hub backup.
  6. Record cutover and rollback duration.

Keep the desktop powered down and unchanged for the agreed observation window. If a blocking failure appears, stop the hub, restore the original endpoint and radios to the desktop, and avoid copying uncertain new state backward. Retire or repurpose the desktop only after normal household cycles, one restart, and one independent backup complete successfully.

NAS & Server Setup

More to Read

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.