this post was submitted on 17 Sep 2024
0 points (NaN% liked)

homeassistant

19566 readers
1 users here now

Home Assistant is open source home automation that puts local control and privacy first.
Powered by a worldwide community of tinkerers and DIY enthusiasts.

Home Assistant can be self-installed on ProxMox, Raspberry Pi, or even purchased pre-installed: Home Assistant: Installation

Discussion of Home-Assistant adjacent topics is absolutely fine, within reason.
If you're not sure, DM @GreatAlbatross@feddit.uk

founded 3 years ago
MODERATORS
top 34 comments
sorted by: hot top controversial new old
[–] Strit@lemmy.linuxuserspace.show 0 points 2 years ago* (last edited 2 years ago) (1 children)

It is both.

Home Assistant created an OS for appliance like installations.

But there is also the docker images, repo packages (I know Arch Linux has it in the repo) and pip based packages too.

[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago) (2 children)

docker images

Is not distro packages.

Arch Linux

It's not in Debian. There's no Red Hat packages either. Or OpenSUSE. It's not even in OpenWrt which would make the most sense. So it looks like no useful, practical distro packages.

pip

Is not distro packages.

[–] hendrik@palaver.p3x.de 0 points 2 years ago* (last edited 2 years ago) (1 children)

A lot of software isn't packaged for Debian. Especially complex ones and webapplications tend to be Docker containers or something like that. Home Assistant has a lot of Python dependencies which are a chore to maintain the Debian way. Same probably applies to some other distros. I mean it can be done, as Arch and NixOS show...

And you have Docker, you can install HA core in a Python virtual environment on any distro, or install Supervised, or the appliance (OS).

So there are many ways to install it. And I have the same complaint for other software. For example I'd like Nextcloud and a few other collaboration services to be available as distro packages. Sadly they aren't available like that.

[–] rah@feddit.uk 0 points 2 years ago (1 children)

A lot of software isn't packaged for Debian.

Yes, often projects which are engineered without distros in mind. Which is to say, engineered poorly.

[–] hendrik@palaver.p3x.de 0 points 2 years ago* (last edited 2 years ago) (1 children)

Yeah, I don't think I agree with you at all. Software development and operation are vastly different jobs. Packaging is yet a different story. Maintainers need different things than developers. Handling dependencies is a chore, and you need lots of them if your product speaks dozens of protocols and can interconnect with thousands of devices, each with their own quirks... All the people have something in mind. They already pay attention to deployment and support several methods. Sure it's not the method you have in mind. But the world doesn't specifically revolve around you. There are other factors at play. And sure. It'd be awesome if we solved software packaging, dependency hell, the supply chain of larger projects and everything. It's just not easy. And reality has quite some limitations. It's just... fighting reality doesn't get you anywhere. Sometimes we have to make ends meet with imperfect solutions. Or you just live without a smart home. Or use a different software stack. I mean there is FHEM and some other projects.

And with that said, there is some merit to what you're saying. Software should be designed with usage in mind. It's just not easy and there are contradicting requirements. Either someone puts in all the effort to cater for your specific use-case... Or they don't.

[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago)

They already pay attention to deployment and support several methods. Sure it's not the method you have in mind. But the world doesn't specifically revolve around you.

It's not my method. Writing software with distributions in mind is the standard in free software development.

It's just not easy.

Indeed. That's why many engineers don't bother. Especially poor engineers.

[–] Strit@lemmy.linuxuserspace.show 0 points 2 years ago (1 children)

You didn't mention in your OP that it had to be debian distro packages. I just gave examples of HA being packaged in other ways than a complete OS.

I could have said: "If you want to run HA from packages, you need to install Arch!" But I didn't. Chill out.

[–] rah@feddit.uk 0 points 2 years ago

You didn't mention in your OP that it had to be debian distro packages.

It doesn't. WTF are you talking about?

[–] mhzawadi@lemmy.horwood.cloud 0 points 2 years ago (1 children)

Home Assistant has a lot of moving parts, all the add-ons and extra user stuff. So they provide a docker image with everything you need, they also provide a full appliance install for easy setup.

If you did all that as a package install, you would complain about all the dependancies and if you didnt install the right version of something Home Assistant might not work at all

[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago)

all the add-ons and extra user stuff

You're hand-waving the answer to my question :-) What add-ons and extra user stuff require Home Assistant to be an OS?

If you did all that as a package install, you would complain about all the dependancies and if you didnt install the right version of something Home Assistant might not work at all

That's not how packages work. The packagers take care of all that. That's the point.

[–] SkyNTP@lemmy.ml 0 points 2 years ago* (last edited 2 years ago) (1 children)

Before I understood Docker, I used to have HA installed directly on bare metal side by side with other "desktop" apps.

To be able to access devices, HA needs many different OS-level configurations (users, startup, binding serial ports, and much more I don't have a clue about). It was a giant mess. The bare OS configuration was polluted with HA configurations. Worse, on updating HA, not only did these configurations change, the installation of HA changed enough that every update would break HA and even the bare OS would break in some ways because of configuration conflicts.

Could this be managed properly through long term migration? Yeah, probably, but this is probably a ton of work, for which a purpose-built solution already exists: Docker. Between that and the extra layer of security afforded by dedicating an OS to HA (bare metal or virtualized), discouraging the installation of HA in a non-dedicated environment was a no brainer.

[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago)

this is probably a ton of work, for which a purpose-built solution already exists: Docker

LOL Docker isn't a "solution" to the pressure of good engineering.

[–] Zavorra@lemmy.world 0 points 2 years ago (1 children)

You should ask this to your favourite distro packagers, not to the home assistant developers.

In any case, it is such a mess of dependencies due to load of optional packages, very active development, that continuously break dependencies on the package repo.

What advantage would bring have a most of the time obsolete distro specific repo? On a maintainer POV this is the typical use case for distro agnostic deployment, maybe flatpak, maybe docker.

[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago) (2 children)

You should ask this to your favourite distro packagers, not to the home assistant developers.

I disagree. The Home Assistant developers are the ones who chose to create an OS. They could have chosen to create distro packages instead, or at least software which is amenable to being packaged by distros.

obsolete

What does that mean in the context of Home Assistant?

[–] Zavorra@lemmy.world 0 points 2 years ago (1 children)

Since HA depends on a lot of python packages, on external softwares and libraries it could not feasible to ensure that the versions packaged with the distribution will always be in line with those needed by HA

[–] rah@feddit.uk 0 points 2 years ago (2 children)

it could not feasible

I disagree.

[–] Passerby6497@lemmy.world 0 points 2 years ago (1 children)
[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago) (1 children)

I'm not a Debian Developer and won't become one: http://settrans.net/~rah/why-not-debian.html

Also, I'm not a Home Assistant user so I've no interest in contributing.

[–] Passerby6497@lemmy.world 0 points 2 years ago* (last edited 2 years ago) (1 children)

Then do if for your distribution then. It's clearly not that difficult, you've all but explicitly stated as much.

[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago)

Then do if for your distribution then.

I use Debian.

It's clearly not that difficult, you've all but explicitly stated as much.

I have not said that, or anything like it.

Perhaps you missed the fact that I'm not a Home Assistant user and have no interest in contributing?

[–] Zavorra@lemmy.world 0 points 2 years ago (1 children)

Well, good for you. Now let's prove it

[–] rah@feddit.uk 0 points 2 years ago
[–] yggstyle@lemmy.world 0 points 2 years ago* (last edited 2 years ago) (1 children)

It seems to me they chose to provide a platform that vastly simplifies the installation of their software and maintenance of its code from a debugging standpoint. This seems perfectly reasonable. This appears to bother a particular community who feel entitled enough to demand multiple developers cater to their distribution's needs. Shit needs to stop.

[–] rah@feddit.uk 0 points 2 years ago (1 children)

This appears to bother a particular community who feel entitled enough to demand multiple developers cater to their distribution’s needs.

Your reading of the situation is wrong.

[–] yggstyle@lemmy.world 0 points 2 years ago (1 children)

Honestly I really don't think I am.

I've seen a number of topics over the last few weeks that are framed as this evil developer is doing a sinister thing... And for what it's worth I read the "clickbait" and then did my due diligence and followed the links / git responses etc and lo and behold every. single. issue. was stemming from that community.

We aren't reddit. This isn't 4chan. If your community is getting cut off because, frankly, it's being unreasonable... don't come here looking for a personal army.

[–] rah@feddit.uk 0 points 2 years ago (1 children)

this evil developer is doing a sinister thing

Nobody has said that here.

that community

I've no idea what community you're referring to. Nobody here has demanded that any developers cater to their distribution's needs.

If your community is getting cut off because, frankly, it's being unreasonable... don't come here looking for a personal army.

Again, I've no idea what community you're referring to. Nobody has come here looking for a personal army.

Your characterisation of the commentary on this post seems like that of an overly. dramatic. teenager.

[–] yggstyle@lemmy.world 0 points 2 years ago (1 children)

Strange- the very tone of this thread is suggesting that the HA developers choice in how they distribute their platform is "incorrect" by your assertions. Further you seem to disagree with explanations provided as to why those choices were likely made.

Dismissing those statements and observations do not make them incorrect. Nothing I stated is dramatic: it is an observation and a comment on an increasing trend popping up around several projects. This particular topic and your responses within it align with that trend. My closing statement was directed at that. You are welcome to not like it but resorting to insults is a bit childish.

[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago)

the very tone of this thread is suggesting that the HA developers choice in how they distribute their platform is "incorrect"

Not incorrect, just poor engineering. Anti-social ultimately.

you seem to disagree with explanations provided as to why those choices were likely made

I can see only two disagreements in the whole post. Only one of those is about the reasons for creating an OS rather than distro packages. I have corrected a number of factual errors and errors in reasoning but those aren't disagreements.

Dismissing those statements and observations do not make them incorrect.

Yes, my dismissing of them is not what makes them incorrect.

Nothing I stated is dramatic

LOL "this evil developer is doing a sinister thing"

[–] nogooduser@lemmy.world 0 points 2 years ago (1 children)

It can also be installed using docker containers but that is more difficult to manage as you have to install every component manually.

[–] acockworkorange@mander.xyz 0 points 2 years ago

That’s not how docker works, bud.

[–] Tolookah@discuss.tchncs.de 0 points 2 years ago (1 children)
[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago) (1 children)

That's manual installation which is (a) not distro packages and (b) exactly what distro packages are created to avoid.

[–] static09@lemmy.world 0 points 2 years ago* (last edited 2 years ago) (1 children)

Maybe I'm just old school and distro package means something different to me, but here is a link to the Home Assistant .deb distro package:

https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

[–] rah@feddit.uk 0 points 2 years ago* (last edited 2 years ago)

the Home Assistant .deb distro package

Firstly, that's a .deb but it's not from a distro. Secondly, that .deb doesn't contain Home Assistant, it contains some "Supervised" which runs the Home Assistant Docker container:

https://github.com/home-assistant/supervised-installer/blob/8dbfda2221b955dc810827285c5ac874eb0b70d9/homeassistant-supervised/usr/bin/ha#L10