Skip to main content
AI Automation

Migrating from SmartThings to Home Assistant: What I Lost and Gained

· · 8 min read

I ran Samsung SmartThings for four years. It worked. Devices connected, automations ran, the mobile app didn’t crash often. Then one Tuesday I realized I was paying $15/month for cloud-dependent automations, couldn’t run logic locally, and had zero visibility into what the hub was actually doing. So I migrated to Home Assistant. It took a Friday night and most of Saturday. The question now isn’t whether it was worth it—it clearly was—but what actually changed and what I genuinely miss.

Home Assistant screenshot
Home Assistant u2014 from the official site

Why I Left SmartThings

SmartThings isn’t bad. Let me say that first. The hub works. Pairing new Zigbee devices was always straightforward. Samsung’s app is polished. But four years in, the friction points accumulated.

Cloud latency was the first real problem. Automations routed through Samsung’s servers in Virginia. That meant a 500ms delay from motion sensor to light. Not catastrophic, but noticeable when you walk into a dark room. Local execution existed on paper but only for certain device types and Samsung app automations—not custom routines. I built most of mine anyway and accepted the lag.

The second problem was lock-in. I couldn’t export automations. I couldn’t see the actual rules firing. Debugging a misfiring automation meant opening the app, squinting at a UI designed for phone-first interaction, and guessing. When I added non-Samsung devices—a Shelly relay, some Sonoff gear—integration felt grafted on. SmartThings calls them “works with” devices. It’s transparent marketing for “we’re barely supporting this.”

The third was price creep and uncertainty. The hub cost $70 upfront. The subscription was optional unless you wanted presence sensing or automations above the free tier. Mine was $15/month because I’d built enough to hit a limit I didn’t remember agreeing to. Samsung kept adding premium features and quietly moving old ones behind paywalls. That pattern bothers me more than the cost itself.

I started looking at alternatives. Home Assistant came up in every thread. Open-source. Runs locally. No cloud requirement. Supports 2000+ device types. I read the docs. Seemed reasonable.

The Actual Migration: Hardware and First Run

I didn’t rebuild everything from scratch. I kept the SmartThings hub online for a month to run both in parallel, which meant I could test Home Assistant without betting my entire home on it working.

Hardware: I had a spare Intel NUC (8th gen, 8GB RAM, 256GB SSD) sitting in a closet. Overkill for Home Assistant itself, but I knew I’d pile other services on it. I installed Proxmox, spun up a Ubuntu VM (8GB allocated), and ran Home Assistant Core via Docker Compose.

version: '3.8'
services:
  homeassistant:
    image: homeassistant/home-assistant:2024.1
    container_name: homeassistant
    volumes:
      - ./config:/config
      - /etc/localtime:/etc/localtime:ro
    environment:
      - TZ=America/Chicago
    ports:
      - "8123:8123"
    restart: unless-stopped
    networks:
      - homelab
networks:
  homelab:
    driver: bridge

First boot took about 90 seconds. The setup wizard was fine—asked for location, timezone, units. Then I hit the integrations page and reality set in.

Integration Hell Was Real, But Brief

SmartThings has one integration point: the hub. Add device to hub, done. Home Assistant asks you to choose. Zigbee? Add Zigbee2MQTT or ZHA (Zigbee Home Automation). WiFi devices? Check if your brand has a native integration—there are hundreds. No integration? Use MQTT or HTTP webhooks to wire it yourself.

This was the moment I nearly quit.

I had 23 devices across three protocols: Zigbee (motion sensors, door contacts, temperature), Z-Wave (smart locks), and proprietary WiFi (some Sonoff relays, a Tasmota switch I’d flashed years ago). SmartThings handled all of them because it speaks everything. Home Assistant needed configuration for each path.

I set up ZHA for Zigbee (built into Home Assistant, requires a USB stick). I added the Z-Wave integration (requires a separate USB dongle—I bought an Aeotec Z-Stick Gen 5 for $35). For the Sonoff and Tasmota devices, they already had MQTT set up from years back, so I just pointed Home Assistant at my existing Mosquitto broker. That actually worked without thinking.

The real time sink was re-pairing the Zigbee devices. Each one had to be factory reset, then paired to ZHA instead of SmartThings. The door sensors and motion detectors paired in seconds. The temperature and humidity sensor took three tries. No error messages, just silent failures until I realized the pairing process was timing out. Second attempt worked.

Total time in integration hell: about two hours. Not a weekend-breaker, but worth noting.

What I Actually Use and What Works Better

Automations are now local YAML files. I can version control them. I can read them. I can run complex logic without cloud latency. My motion-to-light automation now fires in about 100ms. That’s real.

Here’s an example automation I rebuilt:

- alias: "Hallway motion to lights"
  trigger:
    platform: state
    entity_id: binary_sensor.hallway_motion
    to: 'on'
  action:
    - service: light.turn_on
      target:
        entity_id: light.hallway_main
      data:
        brightness: 200
    - delay: '00:05:00'
    - service: light.turn_off
      target:
        entity_id: light.hallway_main
      condition: state
      entity_id: binary_sensor.hallway_motion
      state: 'off'

In SmartThings, I couldn’t write this directly. I could build it in the app, but it lived in Samsung’s servers as an opaque rule. Here, it’s readable. I can add conditions, nest logic, trigger on time windows or combinations of sensors. No subscription tier limits what I can automate.

The dashboard is better than I expected. It’s web-first, not mobile-first, but it’s fast and configurable. I can arrange cards by room, add custom templates, display whatever metrics I care about. SmartThings’ app was nicer to look at, but Home Assistant’s dashboard is actually useful at a glance.

Energy monitoring is a real feature now, not an add-on. I connected my shelly plugs and Home Assistant tracks daily consumption per device, shows trends, calculates cost. SmartThings had a smart plug integration but no energy aggregation worth using.

What I Miss From SmartThings

The mobile app. SmartThings’ app is polished, fast, pretty. Home Assistant’s web interface is functional but not a joy to use on a phone. There’s a mobile app (Companion), but it’s not the default experience. I usually just bookmark the web dashboard in my phone browser now, which is fine, but slightly annoying.

Presence sensing worked well in SmartThings because it integrated with Samsung phones. Home Assistant can do presence via GPS via the Companion app, but I’ve had to add a separate geofence integration (Home Assistant Cloud) or run my own solution with Owntracks. It works, but it’s one more thing.

Voice control came built-in (through Bixby). Home Assistant has it now too—local voice assistant via Whisper and Piper—but it took a separate setup. I built a quick wake-word detection pipeline using rhasspy. It works well now, probably better than Samsung’s, but I had to assemble it myself.

The surprise miss: device pairing UX. SmartThings was a button-and-wait experience. Home Assistant’s ZHA is less forgiving. Devices sometimes pair, sometimes don’t, sometimes need a factory reset first. I had to learn that. Not a deal-breaker, but slower.

The Real Cost Analysis

I spent a weekend migrating. I spent $200 on USB dongles (Zigbee and Z-Wave sticks). I was already running the NUC for other services, so no incremental hardware cost. Monthly: zero. Previously: $15/month to Samsung.

That breaks even in about 13 months. But the actual value isn’t just cost. It’s visibility. I can see what’s happening. I can add integrations with other open-source tools—Grafana for dashboards, Node-RED for complex logic, even ComfyUI for image generation triggered by automations. SmartThings would never support that.

The tradeoff is maintenance. SmartThings was a service. Home Assistant is infrastructure. If something breaks, I fix it. If a Zigbee device drops offline, I troubleshoot it. The weekend I migrated now comes back to me in small maintenance tasks. Worth it, but honest.

Setup and Configuration Considerations

Before switching, decide on your hardware. A Raspberry Pi 4 (4GB minimum) runs Home Assistant fine. A NUC or VM is faster. Aim for at least 2GB RAM, 32GB storage. Docker works, but native OS install is more common—Home Assistant OS is available as an image for most platforms.

Plan your radio protocols. Don’t buy 10 Zigbee devices and then realize you need Z-Wave. I settled on: Zigbee for sensors (cheaper, more range), Z-Wave for critical devices (locks), WiFi/MQTT for things I’m okay with replacing.

Export your SmartThings automations before switching. You won’t be able to migrate them—you’ll rebuild in YAML. But a written list means you don’t forget any. I took screenshots of every automation and kept a text file.

Expect a month of parallel running if you want to be safe. Keep SmartThings live while you test Home Assistant. Once everything’s responding and automations are firing correctly, kill the SmartThings hub. I waited six weeks before decommissioning it because I kept second-guessing myself on the motion-sensor integrations.

One thing that surprised me: the Home Assistant community is actually helpful. The forums have real threads from real people who solved the exact problem you’re having. SmartThings’ community exists, but it feels corporate-moderated. Home Assistant feels like people debugging their own setups and writing down the answers.

FAQ

Can Home Assistant run on a Raspberry Pi?

Yes. A Pi 4 with 4GB RAM runs it comfortably. A Pi 5 with 8GB is better and future-proof. Earlier Pis (3B, 3B+) work but are slower. Plan for USB sticks if you’re adding Zigbee or Z-Wave, since Pi GPIO is already used.

Do I need the Home Assistant Cloud subscription?

No. Home Assistant works entirely offline. Cloud (Nabu Casa) is $7/month and adds remote access, voice control, AI automations, and easier syncing. Useful, not required. I’m still running without it.

How do I migrate my SmartThings automations to Home Assistant?

You rebuild them manually in YAML. There’s no direct export. Screenshot or write down each automation’s logic, then recreate it in Home Assistant. It’s tedious for 20+ automations but takes a few hours for a typical setup.

What devices does Home Assistant actually support?

2000+ integrations covering Zigbee, Z-Wave, Matter, WiFi, Bluetooth, MQTT, and 100+ brand-specific APIs. If your device is smart, Home Assistant probably talks to it. Check the integrations list before buying.

Is Home Assistant harder to use than SmartThings?

Harder to set up, easier to use once running. SmartThings is click-and-go. Home Assistant requires hardware setup, radio pairing, and YAML config. After that, automations are more powerful and less restricted.

Explore Home Assistant in our AI Homelab Toolkit.

Share this article