-
-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Which Installation should I do? #3918
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
||
## Considerations | ||
|
||
The primary consideration in my opinion is HOW do you want to use Home-assistant? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use italics or bold instead of all caps
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
|
||
This is the best option for beginners or people that want that appliance "just works feel". | ||
|
||
For those that like to get into the nitty gritty and tinker, it's the worst option. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd mention here that there are some limitations with hass.io and that you may not be able to do things that you're using to doing in Linux
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
|
||
Simply download the image and install on the SD card, you can now edit the configs and also tweak code etc as needed. | ||
|
||
This option is basically Option3 for lazy people :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you should mention that this option also installs hass in a venv
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was trying to be funny and imply that with:+This option is basically Option3 for lazy people :)
Unless you've been hiding under a rock (or you're just not a techie) you will have heard of Docker, Linux containers made easy. | ||
|
||
This is basically Hass.io but you have more control over the image and how it is mounted, you can also manage your container as you normally do. This is a great way to run Home-assistant if you have a docker swarm and want to have high availability. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mention that this doesn't have the same limitations as hass.io on hardware recognition for certain devices. Also, add info link on docker
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
This is basically Hass.io but you have more control over the image and how it is mounted, you can also manage your container as you normally do. This is a great way to run Home-assistant if you have a docker swarm and want to have high availability. | ||
|
||
### Vagrant | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add info link to VirtualBox/Vagrant
### Option 3: [Virtual Environments](https://home-assistant.io/docs/installation/python/) | ||
|
||
This is the most "complex" / flexible install (and I use complex in the loosest possible sense of the word). This is for when you don't want to dedicate your system to only home-assistant, you want to tweak the code and contribute back, or perhaps you want to install multiple versions with different configs. | ||
Or perhaps you dont have a raspberry Pi or you want to install on other hardware / operating systems. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
point out it's not a great idea to do this on Windows and mention that the Hassbian install does install a venv itself
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not? Windows is listed in the Install Docks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windows install is limited since quite a few components requires the underlying OS is *nix based.
It's been moving that way for quite a while.
|
||
* I don't care I just want an autonomous home using my RPi / NUC -> Hass.io | ||
* I don't want to fully dedicate my Pi and I want a simple install -> Hassbian | ||
* I'm a developer -> Python Virtual Env |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or someone who wants more control
|
||
This is the best option for beginners or people that want that appliance "just works feel". | ||
|
||
For those that like to get into the nitty gritty and tinker, it's the worst option as the Hass.io is fully self contained so you lose access to the underlying Linux system. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"the Hass.io" to "Hass.io"
Mention that there are some issues with certain USB devices not being recognized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a list anywhere?
|
||
# Decisions, Decisions, Decisions... | ||
|
||
Ok you've made it this far you're interested in automating your home, but Home-assistant has you stuck there are 3 main ways to install it.. Which should you choose? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's Home Assistant
and two periods at the end of sentence.
* Python Virtual Environment | ||
* Hassbian | ||
|
||
This brief article will hopefully give you a starting point to make your decision as all 3 are perfectly viable options. These are not prescriptive and hass.io for example can be installed on any linux server but if you are looking to do that, you don't need this article to tell you the options. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use Hass.io
. Well, you can't install it on any linux server
. There are limitations and requirements.
|
||
* I don't care I just want an autonomous home using my RPi / NUC -> Hass.io | ||
* I don't want to fully dedicate my Pi and I want a simple install -> Hassbian | ||
* I'm a developer -> Python Virtual Env |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This option is not limited to developers. It's pretty much the default way how you could run Python based tools. Maybe advance user
with command-line experience.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Already corrected
|
||
Simply download the image and install on the SD card, you can now edit the configs and also tweak code etc as needed. | ||
|
||
This option is basically Option3 for lazy people :), basically the image has the virtual environment already setup and configured on your behalf so you dont need to worry about the commands to execute it . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Option 3
, don't
and space before period.
|
||
In my case I want a simple stable install for my "production" instance and I have a few spare Raspberry Pis, So I use Hass.io for that "production" instance. | ||
|
||
On my Linux Laptop I use the Python Virtual Environment install so I can test different configs and I also have multiple Virtual Environments on the laptop allowing me to develop components using different versions of the libraries. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would replace install
with option
.
## Install Options | ||
### Option 1: [Hass.io](https://home-assistant.io/hassio/) | ||
|
||
This is the simplest option, it hides all that nasty code from you so can only edit the config files and all you have to do is click update in the UI and hey presto you have an updated install. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of talking about nasty code
I would focus on the add-ons.
It's a great topic and the current installation wiki is definitive not beginner friendly. You should also explain each option a bit more:
for each method:
also venv is not "complex" to use :P |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
Some things that might be good to highlight are hass.io addons & hassbian-config.
@@ -0,0 +1,79 @@ | |||
--- | |||
layout: post | |||
title: "Which installation should I do" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest another title: Which installation method should I use?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, I was tired and had had a few drinks. :)
--- | ||
layout: post | ||
title: "Which installation should I do" | ||
description: "Should you use hass.io or VirtualEnv or hassbian?" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hass.io and Hassbian should be spelled with a capital letter.
|
||
# Decisions, Decisions, Decisions... | ||
|
||
Ok you've made it this far you're interested in automating your home, but Home Assistant has you stuck there are 3 main ways to install it. Which should you choose? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should it be 3 preferred ways?
|
||
Ok you've made it this far you're interested in automating your home, but Home Assistant has you stuck there are 3 main ways to install it. Which should you choose? | ||
|
||
* Hass.io |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Re-order this list to reflect the ordering in the article below?
|
||
### Option 2: [Hassbian](https://home-assistant.io/docs/hassbian/installation/) | ||
|
||
You have a raspberry Pi, you want to be able to see and edit the internals but you want a simple install and you want to use your RPi for multiple things. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Raspberry Pi.
|
||
Simply download the image and install on the SD card, you can now edit the configs and also tweak code etc as needed. | ||
|
||
This option is basically Option3 for lazy people :), basically the image has the virtual environment already setup and configured on your behalf so you don't need to worry about the commands to execute it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's quite a bit more.
- Since quite a a few components have some external dependencies these are pre-installed in quite a few cases.
- Home Assistant is run by a separate user that has limited privileges.
There's more but it should be highlighted over a Venv.
### Option 3: [Virtual Environments](https://home-assistant.io/docs/installation/python/) | ||
|
||
This is the most "complex" / flexible install (and I use complex in the loosest possible sense of the word). This is for when you don't want to dedicate your system to only Home Assistant, you want to tweak the code and contribute back, or perhaps you want to install multiple versions with different configs. | ||
Or perhaps you don't have a raspberry Pi or you want to install on other hardware / operating systems. Although there are examples of running this on windows it is generally advisable to avoid doing it as there are numerous issues that seem to pop up. With Docker and Vagrant and Virtual box (see below) there is generally no good reason to use run Home Assistant on Windows. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Capital letter
- Raspberry Pi
- Windows
|
||
Simply choose where you fall into: | ||
|
||
* I don't care I just want an autonomous home using my RPi / NUC -> Hass.io |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove the extra spaces before and after /
. Also, add a comma after I don't care, I ...
|
||
* I don't care I just want an autonomous home using my RPi / NUC -> Hass.io | ||
* I don't want to fully dedicate my Pi and I want a simple install -> Hassbian | ||
* I'm a developer or Poweruser / Tinkerer -> Python Virtual Env |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same. Also don't capitalize Poweruser
or Tinkerer
I don't like this blog post. We have done a ton of work to guide people to Hass.io. Our UI is all focussed around Hass.io and that is for a good reason: it requires 0 extra OS knowledge of people. If people are interested in the other options, they will find them. Things like vagrant or custom Docker installations should only be found by people that know what it is. If you don't know what something is, learning Home Assistant and whatever tech you're going to use to run Home Assistant will be a bad choice. |
I'd rather make an informed decision than being pushed onto something that perhaps in the end won't meet my expectations. I think this is an honest blog post, and it doesn't write hass.io down. Many people who try hass.io don't understand its limitations, so stating those up front will cater for a better user experience in the long run. |
As I said above. So we should update/ improve our docs and don't write a blog post |
Why not both? |
I'm leaning more to not publishing this blog post. I think that it will only confuse our users. This is fine on a third party blog but we should be clear about our message. |
@balloob Not everyone's needs are the same and Hass.io is still not ready for the users with 0 knowledge as they still need to ssh in and modify configuration.yaml. SSH is a jump for some people, 0 knowledge would be when we can configure the whole application from the UI and never need commandline (with caveats for advanced/experimental use). My wife for example could not install and configure Hass.io without a bit of handholding. I was in a meeting yesterday in work where very technical people told me how they struggled with YAML (in the context of Ansible). I was shocked as while I hold little love for YAML I certainly wouldn't class it as particularly difficult. Yes part of that is their learning and I'm sure they figured it out quickly, I mention it as I think it is a good example of how our own knowledge can blind us to others difficulty as to us it is easy. I would see this post as an addendum to the Getting Started page or perhaps some of this could drive how we direct people between Hass.io & VirtualEnv by asking a question and then giving them the most appropriate install method. I was hoping that this post / wiki entry would actually clarify our message and provide more confidence to users that they are infact choosing the most suitable installation method. I'm happy to defer to the collective here, however I hate typing so I honestly wouldn't have bothered doing this if I didn't think there was a need for it in some form.
For you perhaps not, for someone whose prior experience of Python is a large snake not so simple :). It confused me the 1st time I encountered them (which was actually because of HA) but now I love them. |
Following a long back and fore on Discord, here's my thoughts:
I do think something like this is needed - it's not like we're short of questions about whether to use Hass.io/Hassbian/other. I think that full list also needs a summary of why you might not use a platform (thinking particularly of Windows here), rather than hiding that away as a footnote on the platform page. |
Closing PR as I think the Discussion has run it's course and this post is not the correct format going forward |
Description:
Blog entry to try and assist people in chosing the correct installation method for them
Pull request in home-assistant (if applicable): home-assistant/home-assistant#
Checklist:
current
. New documentation for platforms/components and features should go tonext
.