I recently learned about Home Assistant here on Lemmy. It looks like a replacement for Google Home, etc. However, it requires an entire hardware installation. Proprietary products just use a simple app to manage and control devices, so can someone explain why a pretty robust dedicated device is necessary as a replacement? The base model has a quad core processor, 4 gigs of ram, and a 32 gig hard drive. Admittedly it’s no gaming PC, but it’s no arduino either.

What actually happens when I turn on a smart switch in my home? Does that command have to be sent to a server somewhere to be processed? What really has to be processed, and why can’t a smartphone app do it?

Edit: I am still getting new replies to this (which are appreciated!), but I wanted to share what I’ve learned from those who have posted already. I fundamentally misunderstood how smart switches work. I had very wrongly assumed that when my phone is connected to the WiFi, it sends a signal over the local network to toggle the switch, which is connected to the same network, and it turns on/off. While there are technologies that work like this (zigbee, kinda?), most smart home devices rely on a cloud server to communicate the signal. This enables features like using the switches from outside the home network, automation, voice controls, etc. The remote server is what’s being replaced.

  • gedaliyah@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    11
    ·
    8 months ago

    That’s helpful. It seems like a system an insane person would come up with, but I understand it.

    • ScreaminOctopus@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      11
      ·
      8 months ago

      A dedicated server is needed because something needs to keep a catalog of the smart devices available on your network and ideally be accessible to many people in one household. You could make a system that went phone -> device but you would need to set up each device on each phone you wanted to use, which isn’t a great user experience. You could also run into issues where devices would need to handle multiple conflicting commands from different users coming in at once. Since smart devices are usually trying to use as little power as possible, that extra complexity would hurt you in that department. The third reason is that having a separate server enables automated workflows that would depend on an always online server that orchestrates multiple devices. For example, let’s say you have some automatic insulating blinds, a smart thermostat. You want to raise and lower the blinds to maximize your energy efficiency. Since you have the dedicated server, that server can check the temperature set point of your thermostat, current weather, and sunrise\sunset times. If it’s sunny out, and your set point is higher than the outdoor temperature, the server can raise the blinds to let warm sunlight in, and vice versa. If only your phone could control the devices a workflow like this couldn’t work when you were out of the house.