Hass.io for technically apt dummies?

For context: I’m a relatively experienced techie, and have managed to easily install and have up and running hass.io in a virtual machine.

On starting up it immediately detected my Chromecasts and Google Homes. A great start. I can send messages to them and it will speak them out.

My next proof of concept goal was to add an IP camera. I head to the same place (integrations) and try to add one. Lots of entries for various things (even a PS4!) but nothing for a camera. I still don’t know why that is, I would have hoped a camera would be a popular thing to add.

Q1: What is an integration (in the UI) and how does it differ from a component?

But okay. Google a bit and find some components that might help, including one called “generic” (there is also “camera” but I can’t see any sample config for that so don’t know where to start with it). Generic has to be added via config. I look for the relevant place in the hass.io application but this config isn’t anywhere to be seen. But! There’s an addon, so I install that and there you have a config editor.

I add my camera and save the config. Do I have to reload? I’m assuming so, so I click back out and to settings where I see four reload buttons. Core sounds like the most common denominator one so I click it, wondering why anyone would want a choice on what to reload (why not everything? Is it really that expensive to reload config?)

Q2: What level of reload should I use and when?

Nothing. I notice a Check Config button and press it and it complains that my camera is missing a still_image_url key. I check the docs and it quite clearly says that it’s required so I’m the fool here. Except my camera doesn’t have anything like that. When I add it anything else I just give a rtsp address, so the requirement doesn’t make sense to me. How do I add my camera?

Google some more and I see lots of solutions from adding videocards, to ffmpeg components, to a stream service. Oh and motioneye (which I thought was another Linux software project). I will also at some point have to add a picture glance card apparently. I did try clicking on “configure UI” but got a scary message warning that if I continued on that path I’d lose some convenience features. No thanks, not yet anyway.

All seemingly very arbitrary and possibly a distraction from me just simply wanting to add an IP camera with a known rtsp url.

Q3: What’s the best (practice wise) way of adding a simple rtsp camera to hass.io? Eventually I want to be able to view cameras and solicit snapshots.

This isn’t a post about the quality of hass.io. I know the problem is with me not understanding something, or just not grokking the model of the software. So my real question is this: where can I learn, step by step, what hass.io is about? I’ve tried the docs and they seem to be more a reference for people who already know what they want.

TL;DR Q4: Is there a tutorial or cookbook or something that takes one through configuring and getting hass.io to do things? Maybe even documentation around the model the software uses? I can usually figure these things out but after a day of tinkering hass.io still has me stumped.

Bonus question Q5: Is Hass.io even for me? I’m happy to learn and iterate config etc, and I’m using a linux VM to host so should I actually be using Home Assistant as a way to get closer to what I’m doing? Is Hass.io getting in the way of that?

For camera:

A list of components:

A glossary

Q1 - that’s a bit hard to answer since there is a lot of crossover between the two.

generally the component is what you use to connect (or “integrate”) the different devices into HA.

Some components lead to an integration. some don’t. those are just included in the entities listing in the developers tools area (left hand hamburger menu at the bottom <>). The integrations will be listed there too. Basically almost every device/app will create entities and they will be in the states page referenced above. The ones that don’t will expose a service that can be called from the services page in the dev-tools area and in scripts/automations

Q2 - you use the level of reload for the thing you have modified. The vaguely named “reload core” is only used when you have made a change to the “customize” area. If the thing you have modified isn’t listed in that menu then for the changes to take effect you have to restart the Home Assistant (HA) server. But you don’t have to restart the HA machine. Just restart the HA server. So in your camera config change you would be required to restart HA not just do a reload of some area.

Configure UI - it sounds scary but it’s really not. Many (most?) people will use the GUI to configure the frontend (Lovelace). there are a couple of different options to do that tho. One is thru the GUI as mentioned before. Also in the GUI there is a “raw” option so that you can manually edit the GUI files for special cases when the GUI doesn’t support some config. Another option is to use the “yaml mode” in which all Lovelace configuration is done by manually coding everything. the advantage in using that is you can break up your config files into more readable bits and it maintains comments which the GUI/raw mode doesn’t. Lastly, by default, there is the mode in which the system just kind of just dumps everything onto one screen in an arbitrary order. You can use HA that way but you will very quickly realize that isn’t going to be sustainable once you start adding devices/apps.

Q3 - what brand of camera do you have?

tutorials - there really aren’t any good official tutorials. There are lots of youtube video’s and different third party websites that have tutorials but with the rapid development of HA those resources tend go stale fairly quickly.

your best source of info are the official docs and when that inevitably fails jump on here and ask for help. There are lots of helpful people on here.

Q5 - just to clarify…

Hassio is only one method of installing HA onto a controller. There are a bunch of others (IMHO, there’s too many but that’s just MHO). You can install HA in a virtual environment on an Linux distribution, you can install it in a Docker environment, you can install it in a Windows Linux VM, etc, etc, ad nauseum. BUT, every method of installation ultimately ends up with you having the same version of HA installed on your machine. Hassio has the added benefit (?) of supplying add-ons that make running associated/auxiliary/supporting type apps easier to get set up. I don’t personally run Hassio but there are definitely times I think I should try it just because there are a few apps that aren’t easily installed without an add-on.

So if you have Hassio installed then you already have “Home Assistant” installed by default. If you don’t want to use the add-ons supplied by Hassio then don’t and you likely won’t even notice any difference between the base install & hassio.

2 Likes

Thank you both for the help. The restart tip was the main breakthrough for me, so perhaps a note in the server control page saying a full restart is required most of the time would be of value?