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.

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.

@catloaf@lemm.ee
link
fedilink
English
97M

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.

Max-P
link
fedilink
English
47M

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.

@xyguy@startrek.website
link
fedilink
English
17M

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.

Lemmy Tagginator
bot account
link
fedilink
-37M

deleted by creator

@BCsven@lemmy.ca
link
fedilink
English
157M

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.

Alto
link
fedilink
2
edit-2
7M

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

funkajunk
link
fedilink
English
47M

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.

Alto
link
fedilink
27M

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

NekuSoul
link
fedilink
English
17M

Don’t worry. There’s still plenty of ESP32 waiting to be flashed with ESPHome and placed into their own little enclosure out there.

Source: Me, who’s got a Bluetooth Proxy for my adjustable desk and some small LED strips running, with a soil moisture sensor planned as my next quick project.

@BCsven@lemmy.ca
link
fedilink
English
27M

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

AmbiguousProps
link
fedilink
English
77M

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.

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.

@gedaliyah@lemmy.world
creator
link
fedilink
English
07M

Thanks. That helps.

@palitu@aussie.zone
link
fedilink
English
137M

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

@BearOfaTime@lemm.ee
link
fedilink
English
37M

vendor shits off the server

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

@palitu@aussie.zone
link
fedilink
English
27M

@TrickDacy@lemmy.world
link
fedilink
English
87M

vendor shits off the server

Lol

@gedaliyah@lemmy.world
creator
link
fedilink
English
07M

This is really amazing to me. I had no idea that it was using the internet to send the on/off signal from my phone, up to a server (multiple servers), just to send the command back to my home network, and to the device. That seems like an absolutely bonkers system to turn on a switch. I would be better off to repurpose an old RC toy to control the switch!

@BCsven@lemmy.ca
link
fedilink
English
17M

What is bad is when the supplying company goes out of business, you are left with junk. Self Hosting is the way.

Also if you buy Kasa TPlink plgus and switches there is a git HS100 repo that has scripts to run to preprogram your switches to use a localhost instead of baked in proprietary IP server, and scripts to associate your switches and plugs to your wifi without an app. https://github.com/jkbenaim/hs100

With this CLI tool you can also manipulate the plugs and switches direct by IP address rather than via homeassistant server.

SayCyberOnceMore
link
fedilink
English
567M

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.

@gedaliyah@lemmy.world
creator
link
fedilink
English
-87M

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

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.

LifeBandit666
link
fedilink
English
77M

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…

@gedaliyah@lemmy.world
creator
link
fedilink
English
-17M

I don’t really understand why a computer is necessary at all, is the thing. I know that it’s possible to use wifi network to send a signal between two devices. I have a sound board that works this way, and manages to communicate precise multichannel instructions directly over the network without an internet connection.

If I want to turn on a light switch, it seems like all I should need to send is the location of the light switch on the network and the on/off command. I know that there is not the computing power in the light switch itself to process much more than that.

Do these devices all connect to a remote server to switch on and off??

@cron@feddit.de
link
fedilink
English
47M

Many “smart” devices are sold with the idea that you can control your home from somewhere else. Maybe change the temperature on your way home or get notified when someone rings your doorbell. All this stuff requires servers to work.

Controlling some lightbulbs via bluetooth/wifi would be possible of course, but probably not very interesting for many.

@oldfart@lemm.ee
link
fedilink
English
17M

It’s crazy, given that all these devices have something powerful like an esp32, isn’t it?

I’ve done some of my home stuff this way, but I had to program it myself. Tasmota has some features which can be used without a server, but that’s just for simple stuff like switches. For whatever reason (simplicity for non tech people?), out of the box products don’t work this way.

If you don’t have days of spare time, you buy ready made products and set them up in minutes in Home Assistant

LifeBandit666
link
fedilink
English
17M

The computing as to when they need switching on and off is done by the computer.

I used to use Tasker and Smart Life connected through Google to control my lights. It worked but it was fucking shit. I wrote all the logic for it based off my phone, so it kinda worked for me, and everyone else in the house hated it.

Now it’s all controlled by a computer based in the home, based on sensors that are in the home from all kinds of manufacturers using different protocols (because that’s what Home Assistant does, conglomerate protocols) it works much better for everyone involved.

You can try to make iot devices work without a computer or cloud if you like but it will just be absolutely garbage.

Good luck

@BCsven@lemmy.ca
link
fedilink
English
27M

https://github.com/jkbenaim/hs100 if you have tplink kasa hardware this cli tool lets you send direct commands via Wifi, no hub required. it is not that the tech actually needs a server, it is that the server handles IP address changes, records data, checks switch on/off status, scheduling, etc, to provide a better experience than hitting an on off command.

@lemming741@lemmy.world
link
fedilink
English
27M

Pretty much, yes.

I think you’re underestimating the computing power of these devices. If it has WiFi, it has an operating system.

You’re looking for something like ESPhome maybe. It’s a project from the same people that do home assistant. There’s a web server (and/or local API) available that allows you to toggle outputs locally, your browser directly to the microcontroller.

@lemming741@lemmy.world
link
fedilink
English
17M

From the wifi wikipedia page> Hardware>Embedded Systems

https://en.m.wikipedia.org/wiki/Wi-Fi

Increasingly in the last few years (particularly as of 2007), embedded Wi-Fi modules have become available that incorporate a real-time operating system and provide a simple means of wirelessly enabling any device that can communicate via a serial port. This allows the design of simple monitoring devices. An example is a portable ECG device monitoring a patient at home. This Wi-Fi-enabled device can communicate via the Internet.

Yes. That’s why it’s called the Internet of things. Every “smart”, wifi connected, device you have uses that connection to communicate with a remote server. The app on your phone does the same to control the light.

Check out Zigbee for an example local control.

Possibly linux
link
fedilink
English
17M

Except Google likes to collect that data

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

@deegeese@sopuli.xyz
link
fedilink
English
117M

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.

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

@tburkhol@lemmy.world
link
fedilink
English
57M

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.

archomrade [he/him]
link
fedilink
English
6
edit-2
7M

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.

@bmcgonag@lemmy.world
link
fedilink
English
47M

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.

@qwestjest78@lemmy.ca
link
fedilink
English
67M

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.

cerothem
link
fedilink
English
77M

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.

Bakkoda
link
fedilink
English
37M

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

@BearOfaTime@lemm.ee
link
fedilink
English
27M

And I’ve had SDs fail within a month.

Possibly linux
link
fedilink
English
17M

You might want to have some other storage than a cheap SD card though

@wowwoweowza@lemmy.ml
link
fedilink
English
-67M

Okay — can anyone — and I mean anyone, please explain to me that allure of the so called home assistant. Our home was built in 1965. Its housed many families very comfortably. It houses our family very comfortably. Our kids are heading off to college. Tra la la. We have holidays, happiness, and we contribute to the community at a variety of events. We sleep well. Eat well. We host parties of up to fifty people sometimes… we have a yard.We have a dog, two cats, fish etc. All the things that happen in a home.

We are happy.

We have no so called smart products. We use a terrestrial radio in the kitchen on the daily. We stream from the rip-off services when we desire. We are up on the shows etc. So we have internet — each of us has a phone and a device for working. I just don’t get it.

What is the allure of the so called smart home etc?

Can anyone, I mean anyone, please explain to me that allure of so called cats. We are happy and have no cats. I just don’t get it

@wowwoweowza@lemmy.ml
link
fedilink
English
07M

I’m sure they have an app to help you understand.

It’s just a minor convenience, not sure why that’s confusing.

I can set the temperature from anywhere, that’s nice.

@wowwoweowza@lemmy.ml
link
fedilink
English
07M

Imagine… setting it while at home.

For many, just a hobby. If it doesn’t strike you as something you need or want, then maybe it isn’t

@wowwoweowza@lemmy.ml
link
fedilink
English
-27M

That’s true. It doesn’t.

I like the idea that some folks have entirely private systems run by raspberry-pi. That sounds fun.

But what can it do more easily than an mid 20th century home can do?

@d2k1@lemmy.dbzer0.com
link
fedilink
English
57M

But what can it do more easily than an mid 20th century home can do?

One word: Automations. Everything from lights to irrigation, HVAC to surveillance cameras, fishtanks to plant monitoring, managed by a single, extensible open source platform, hosted locally in your own home.

Of course that is not trivial. If you don’t see your smart home as a hobby you enjoy putting time and effort into then the smart home scene is not for you, especially not Home Assistant.

Sounds like you are in a fine place with your home, so you are probably not the target audience here.

@wowwoweowza@lemmy.ml
link
fedilink
English
17M

Nope. Just like living. Not sure what all the hoo-haw’s about. Never felt so old in my life.

Who doesn’t like hand feeding the fish? Why even have them?

thejevans
link
fedilink
English
27M

Also, notifications. I’m a fairly forgetful person, so I set up notifications to let me know if I left windows open or devices on before I go to bed or leave for work.

@wowwoweowza@lemmy.ml
link
fedilink
English
17M

Sounds convenient.

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.

Create a post

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!

  • 1 user online
  • 241 users / day
  • 640 users / week
  • 1.41K users / month
  • 3.93K users / 6 months
  • 1 subscriber
  • 3.78K Posts
  • 76.6K Comments
  • Modlog