this post was submitted on 28 Apr 2024
70 points (90.7% liked)

Selfhosted

40383 readers
654 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 56 points 7 months ago (2 children)

I think others have generally caught this, but I wanted to simplify the point: the apps on your phone are not controlling your home, a computer is. If you don't use Google's, then you'll need to provide one.

load more comments (2 replies)
[–] [email protected] 33 points 7 months ago

so can someone explain why a pretty robust dedicated device is necessary as a replacement?

The cloud is just someone else's computer, so when you cut the cord from the cloud, you gotta run your own server.

And you don't need to buy a (robust) device to run HA, just install it on a spare system and start playing with it. I started building mine about 1.5yrs ago when I bought a house and I think I only gave mine like 2 CPU and 8gb ram.

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?

Yes, you have to have something that accepts your commands and sends the action to the end device. Just like your Google home did.

What really has to be processed, and why can't a smartphone app do it?

Because that's not how things work. Your app has to talk to a server to send the commands, Google home has cloud servers and a local bridge. HA has an app that you can use to control your stuff, same as Google Home.

Smart Home apps are worthless without hardware required to connect the app to your home.

[–] [email protected] 29 points 7 months ago

Proprietary products just use a simple app to manage and control devices

They have a dedicated set of servers your devices and app are connecting to, that's what home assistant is essentially replacing.

It's not just app > device, it's app > server > device.

[–] [email protected] 15 points 7 months ago (1 children)

My homeassistant is running on a pi2 with 2GB RAM. it doesn't need much.

But yes, it is a central place for processing and recording data, either from phone, imstalled electrical hardware or other devices.

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago) (2 children)

The issue with the combination of rabbit holes I'm going down is all the damn pis Im gonna end up being lol

[–] [email protected] 4 points 7 months ago (1 children)

Get any old enterprise workstation (they practically give Dells away for free) and get to know Docker.

Using multiple Pis for single applications is a fool's errand - my Optiplex was free and it is running ~30 containers with plenty of room to breathe.

[–] [email protected] 2 points 7 months ago (1 children)

But then I don't get to justify my 3d printer purchase with custom enclosures with their jobs engraved on them

load more comments (1 replies)
[–] [email protected] 2 points 7 months ago

You just need one Pi. get a pi5 for future proofing. Docker addition , so you can host more than just home assiatant

[–] [email protected] 15 points 7 months ago (1 children)

in a nutshell

This is how the control and information exchange of smart devices work:

Phone App -> [Server] ... [Server] -> Smart Device and vice versa

There's no way around this concept.

Now, Google gives you the phone app and the (public) server part. but these only work with their servers and apps, keeping you locked in.

HA gives you the same, a server and an app, but allows you to keep the server private (access via vpn for public)

Also who guarantees that Google Home will be there in the next few years? HA will still keep running even if it ever gets abandoned.

[–] [email protected] 2 points 7 months ago (2 children)

Technically there is. If the device uses BLE or the phone has some built in hardware shenanigans. There is also a local gateway via ble. I'd argue a simple gateway is not a "server". Scheduling can be done by the device via internal non-volatile storage and RTC

[–] [email protected] 3 points 7 months ago

Gateway is a more specific name for a server.
Like web host is a more specific name for a server.

A server isn't anything fancy, it just serves a service.
If that is just a relay between your phone and local devices, that's what it's serving

load more comments (1 replies)
[–] [email protected] 13 points 7 months ago (4 children)

Depending. But yes. A lot of the time they go the long way around, and head out to some server and back to your local network.

If the internet is down, or the vendor shits off the server, the device stops working.

Home assistant is attempting to localise everything, and get different vendors devices to work together.

Note, for your hass install, it can be installed on any server. Though I am using the green device

[–] [email protected] 8 points 7 months ago

vendor shits off the server

Lol

[–] [email protected] 3 points 7 months ago (1 children)

vendor shits off the server

Oh, autocorrect, sometimes you really say things better than intended

load more comments (2 replies)
[–] [email protected] 11 points 7 months ago (1 children)

A service needs a server, not just a phone. Do you want to self host, or use the entire hardware installation in someone’s cloud data center?

You can run HA on lighter hardware, or use a VM or docker, but it needs something to host.

When I say “hey Siri open my garage door”, my phone does voice recognition, calls the Apple Home app, which calls my local Home Assistant server, which calls the RATGDO which opens the door.

[–] [email protected] 2 points 7 months ago

Plus the benefit of running HA on this hardware is that you can often eliminate the proprietary hubs and sometimes cloud-based communication.

[–] [email protected] 9 points 7 months ago (1 children)

Yes, Google runs their servers in the cloud. If you host it yourself, it runs off a device in your house.

But you don't need to use their own hardware. You can run on whatever you like, and it probably doesn't actually need all four vCPUs.

[–] [email protected] 4 points 7 months ago (1 children)

Even then, those requirements are easily satisfied by a Raspberry Pi and most other SBCs out there. Seems rather reasonable to dedicate one to HA. It's not too crazy when you take into consideration how powerful cheapo hardware can be these days.

[–] [email protected] 1 points 7 months ago

I actually run mine in a 12 year old castoff Thinkpad. 4 GB ram total. More than enough to run it because I run a DNS server, a dashboard and a speedtest server on the same machine.

[–] [email protected] 9 points 7 months ago (1 children)

The idea of Home Assistant is not to be a replacement for anything. It rather connects all things. It is a smart home control center, or hub.

Compare it to a Homematic, or maybe Aquara hub, etc. but still more feature rich and expandable with many more protocols and device categories.

Proprietary single switches etc. use only their own protocol.

Google Home is limited to a few protocols.

load more comments (1 replies)
[–] [email protected] 7 points 7 months ago

Bluetooth can do it locally, but yes, for things on ZigBee or Z-Wave, it's gotta have an antenna hub. WiFi switches and lights most likely do "phone-home" to the cloud in some way (usually for color or brightness control via app, Govee especially loves this). The down side, other than the obvious privacy implications, is that if your ISP has an outage, so do your switches.

Home Assistant attempts to mitigate both the privacy and offline issues, while putting all of the different brands and hubs into one place.

[–] [email protected] 7 points 7 months ago (9 children)

My words.

When you read "Cloud" change the word in your head to "Someone else's computer"

So when I was using Tuya lightbulbs I was connecting Tuya's Computer to Googles Computer to turn my lights on.

Now I use Home Assistant, I'm connecting MY computer to Googles Computer to turn the lights on, since I'm asking Google to turn MY lights on.

I can just not use the Google Cloud and have a voice assistant in Home Assistant do it, then I'm just using my own computer.

Now then, you don't think that all the photos you've ever taken reside in an app on your phone do you, because if you do I've got some news for you....

load more comments (9 replies)
[–] [email protected] 6 points 7 months ago (2 children)

It doesn't take much to run home assistant. I just have a raspberry pi going and it never fails. I plan to upgrade it to something more powerful in the future, but for now it is more than capable of running home assistant for me with no issues.

[–] [email protected] 7 points 7 months ago (1 children)

Obligatory if you install HA on a raspberry Pi. Use the SSD option as you will wear out an SD card or usb key pretty quickly since those devices aren't intended for constant writes from things like logging and generally don't have any wear out leveling.

[–] [email protected] 3 points 7 months ago (1 children)

I ran all my home assistants on Pis with the SD card + external database and never had issues.

[–] [email protected] 2 points 7 months ago

And I've had SDs fail within a month.

load more comments (1 replies)
[–] [email protected] 5 points 7 months ago* (last edited 7 months ago)

While there are technologies that work like this (zigbee, kinda?),

Yes, there are many. You probably know them as "remote control". Your TV, your garage door...

Home Assistant can also control them via gateway devices, turn them into "smart" devices and include them in larger automation scenarios.

[–] [email protected] 5 points 7 months ago (1 children)

HA doesn't require 4/4/32, that's just the hardware the HA people sell. (which, given that your phone may be 8/16/128, is hardly "robust"). Generally, the Home Assistant crowd kind of target an audience that's probably already running some kind of home server, NAS, or router, and HA can probably be installed on that device.

Theoretically, there's no reason the HA server couldn't be installed on your phone, except then your smart home functions would only work while your phone is in the house and not sleeping. Kind of defeats the point of a lot of it, unless you're just thinking of smart home like "remote control for everything." Regardless, much smaller niche for an already-small market, and apparently not a priority for the dev team.

[–] [email protected] 6 points 7 months ago* (last edited 7 months ago) (1 children)

Also, the point of HA is usually to avoid 3rd party servers, so you don't just need something that runs HA, you need something that can receive data signals that may not be over wifi. Unless you can connect 3rd party receiver dongles to your phone, it'll end up limiting which devices you can use on your network.

[–] [email protected] 4 points 7 months ago

THIS.

Home Assistant is the brain of the operation. Your smart phone is just an arm or hand in the operation. It’s the same for any of the services you perceive to be just using your smart phone. They actually call out to servers owned by the various companies, and then return requested operations to your devices at home. So with Home Assistant you have the opportunity to use devices and a server that all remain in your own network. Your data and information aren’t being sent to a third party. This, of course, depends on the devices you buy.

But that’s the power behind Home Assistant.

[–] [email protected] 5 points 7 months ago

Home Assistant can be installed as a Docker container instead of going with the whole dedicated machine route.

[–] [email protected] 4 points 7 months ago* (last edited 7 months ago) (1 children)

I never understood the want or desire for such things honestly

Also you don't want proprietary cloud based products because of things like this:

https://www.newsweek.com/amazon-smart-home-brandon-jackson-echo-racial-slur-allegation-1806947

load more comments (1 replies)
[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

Wifi smart devices can have that sort of completely local control, not just zigbee. LIFX devices use local control if you don't connect them to the cloud. However, you're then limited in lots of ways, such as you can't then use a smart switch from a different manufacturer to control the lights. Home Assistant takes over the job of Google/Apple Home, which allows different manufacturer's devices to all work together harmoniously. Those services also provide things like automations, turning the lights on when your smartphone arrives within a geofence for example. HA can do even better because those automations will work across Android as well as iOS. It also maintains the advantage of just one app to control your entire home.

As well, as far hardware, I think you're misunderstanding a bit. Nabu Casa, the org that controls the open-source HA project, sells a couple of pre-built devices that run home assistant already. They're designed as turn-key solutions for people with less technical know-how, and provide a bunch of expansibility so people don't waste money needing to upgrade. The proceeds from those go back into supporting the projects costs. But you can go out and buy a Raspberry Pi Zero 2 W (512mb RAM) for $15 and it'll happily run the kind of basic setup you're after. But you will almost immediately run into it's limitations if you try to do anything more complicated.

My HA server is running on an x86 VM with 2c/4t and 8gb of RAM to itself. Have a full music server running on it serving ~6 devices around the house though. Edit: 6 fixed devices. It can also be cast to a bunch of places from mobile devices. My music collection is in FLAC so it's transcoding to lossy on the fly where needed.

[–] [email protected] 1 points 7 months ago* (last edited 7 months ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
Git Popular version control system, primarily for code
HA Home Assistant automation software
~ High Availability
IP Internet Protocol
NAS Network-Attached Storage
SBC Single-Board Computer
SSD Solid State Drive mass storage
Zigbee Wireless mesh network for low-power devices

8 acronyms in this thread; the most compressed thread commented on today has 12 acronyms.

[Thread #718 for this sub, first seen 28th Apr 2024, 05:25] [FAQ] [Full list] [Contact] [Source code]

load more comments
view more: next ›