Openhabian configuration tool documentation

Using Rpi and openhab 2.5M1 hasslefree install.

Short question:
Is there anywhere to read what exactly those menu entries in the tool are doing? The doc´s are very limited about this tool. Some menus are selfexplaning. But what I search for is, what the #02 and #11 is doing exactly. And whats the different between them.

#02 (Upgrade system - Upgrade all installed software packages to their newest version)
#11 (Packages - Install needed and recommended system Packages).

I just ran #02 and it upgraded alot of packages.
Should a user do this upgrade often?

After that I ran the #11 and it showed several packages were already upgraded to newest. I have a slight feeling, these got upgraded when I ran the #02. Is that correct?
If thats the case. Why is there an #02 and #11 doing the same?

Overall - running these upgrades, what exactly are they good for? (It might be worth explaining in a doc, if the upgrades are important).

Yes: the source code.
#11 installs stuff while #2 upgrades installed stuff. Actually the menu descriptions are pretty accurate.

1 Like

Ahmm… Honestly, the source code??

#11 installs stuff ???
I can read, it installs needed and recommended stuff. What I fail to understand is “needed”. Isn´t “needed” stuff suppose to be installed when installing openhab??
And what exactly is “recommended” stuff? I would have expected this to be part of the recommendation through the docs, with options to choose from. Now, as you say, this is just “recommened” stuff…

#02 upgrade installed stuff ??
I guess this is the best answer, by the result from the first question, which in both cases doesnt really answer anything.

I have to admit, an answer like this is not was I was suspecting to get. But I guess its the best there is, or?

You didn´t answer, if these two options are important to run, and second how often. I dont suspect the source code would be able to answer this as well?

Yes. It’s all in there (and no, I’m not gonna translate it for you, it’s fairly easy to read, the relevant functions are in system.bash).

You misunderstand the whole thing. openHABian is supposed to be run as unattended install. That’ll execute all required steps. Those menu options allow for manual selection or repetition of the steps.
If you don’t understand what that is good for then you don’t need them and shouldn’t use them.
If you still want to know, read the source.

Thats what I thought as well…


So what you say is, that when someone installs openhabian (openhab hasslefree), there is no need to run these menu´s? I would say that may be an important information, and therefore should be part of the doc, beside is seems missing. How is anyone suppose to know, when the label says, its needed?

Now this becomes a bit odd.
Openhabian-config got a menu for needed stuff… You´d confirmed that part. Now you tell me, if I dont understand, I dont need it… How can needed stuff become not-needed just because a user might not understand it (due to lack of documentation)?

No I dont understand, which is why I started this thread.
Running option #02 did upgrade quite a few packages. If I didnt run this option in openhabian-config, when will these packages ever be upgraded then? Or is that the part which is not needed?

Mind you - I started this thread because I couldnt find any documentation of openhabian-config tool. How am I suppose to know anything then?

The stuff still is needed but it was installed during unattended install already so it is not necessary to install it again.

This is about OS packages beyond OH. Installation is a prerequisite to, but Upgrading usually is not needed to run OH. But you may or may not want to do that for a number of reasons such as security fixes. Normally the box admin would do this on the CLI. This option exists to ease that a little for non Linux people and to safeguard the system because on CLI it’s easy to trash the system particularly when you don’t know Linux.

Do what everybody (incl. myself) has to do: read the source.

So this is kinda like upgrade (updating) windows OS, which has nothing to do with the actual applications running?
That makes sense, and it was good to know. Thank you. Now I get it!

I guess it can´t be any better then. But it is wrong, in my opinion. Users should not be reading source codes, in order to understand what they´re dealing with. Whats the need of any documentations then?

Not exactly. You need to be more careful in reading: it’ll upgrade ALL packages to their latest versions. That’s OS and app packages.

To elaborate a little on this. On Linux there really isn’t that strong of a distinction between the operating system and the “actual applications running”. The OS part is pretty much just the kernel. Everything else from systemd which controls which services start at boot to your shell that you use to interact with the system are all applications. This is counter to Windows where the distinction between OS and apps is in a much different place.

Linux looks like this:

Windows looks like this:

The stuff in green is “the operating system” and the boxes in gray are the applications.

Because it is pretty much all applications, when you perform an upgrade on Linus, you are upgrading everything from the Kernel to the right. Each and every application and library is separately upgradable.

When you run #2, you are performing an sudo apt-get update; sudo apt-get upgrade. The first part checks to see what the latest versions of everything is. The second command downloads and installs the upgrades for everything you have installed, from the base C library to openHAB.

So the description in openhabian-config is sufficient I think. “Upgrade all installed software packages to their newest version”.

#11 downloads and installs a bunch of stuff that you would likely need to/want to install yourself had you installed openHAB manually or through apt-get instead of using openHABian. You can look at the output of running the command and see everything that it installs.

  • A bunch of standard generic Linux tools: screen vim nano mc vfu bash-completion htop curl wget multitail git bzip2 zip unzip xz-utils software-properties-common man-db whiptail acl usbutils dirmngr arping
  • Some additional networking tools, python: apt-transport-https bc sysstat avahi-daemon python python-pip avahi-autoipd
  • Bluetooth libraries: bluez python-bluez python-dev libbluetooth-dev raspberrypi-sys-mods pi-bluetooth

Looking at the list, these are largely stuff that would either already be installed or are required by stuff you might want to do with openHAB (e.g. Bluetooth).

As Markus indicated, this would have already been run when you installed using the automatic openHABian method. But the menu item is required for those who install openHABian using the manual method.

The OpenHABian tool is designed to get a user who is new to OpenHAB up and running so they can start working with OpenHAB, learning the configuration options, and perhaps the underlying Linux system as DOCUMENTED in the Tutorial. You DID follow that, didn’t you? I did.

and then

and then

Thanks Rich… This is the info I was searching for…

But… Shouldn´t that be noticed then?

Noticed how? The menu says “Install needed and recommended packages”. openHABian as a system can’t run without the needed packages. There is nothing in the SD card image instructions that tells you to run this command through openhabian-config. Running the #11 is essentially a noop (doesn’t do anything) once openHABian is installed because all of that is already installed. You can see exactly what it does by looking at the output.

What exactly do we need to say? It isn’t necessary to run the commands but it doesn’t hurt either. Adding some kind of warning, on-the-other-hand might cause someone not to run the commands on a manual install out of an abundance of caution. The warning would cause more problems than the lack of a warning.

And, as you know, I firmly believe “what to do” needs to be fully documented. If we have to document “what not to do”, especially if it’s completely benign we will never be done with the documents and they will be hundreds of pages long. If you want to sign up for that I’m sure a pr would be accepted. But I’m not going to write it maintain it.


Without, how do you expect anyone to know?

It is called TRUST in the developers to warn if there could be catastrophic consequences.

They already do that the multiple warnings, apparently ignored by some users (you cannot fix that), when installing snapshot builds with OpenHABian.

Thats a whole different situation. Openhabian-config tool is mentioned to be run. Fx to change the password.
Stay on target, and remember my first post, please.

Do we have to say “don’t run rm -rf /” too?

If the instructions don’t say to do something, users are not expected to do it. If users decide to deviate from the instructions how is that our responsibility?

If a user wants to deviate from the provided instructions, it is what users responsibility it research and understand what they are doing. We can only responsible for actions taken following the instructions we provide.

1 Like

If you believe most users with limited knowledgde would be running something like that, yes it would be worth mentioning…
But you seem to miss the point in openhabian-config tool is there, its adviced to run it. Menu options are said to be self explained… Well, a menu with “needed” in it would for sure create some attention, dont you think? But nowhere is it mentioned, that this is not needed for automatical installations.
And as I started, there is very limited doc about this tool. Markus advice was to read the source code… I really wonder how come any docs has been done at all then!

here is a link to the git where you should make a pr if you think a change should be made to the docs. I don’t think anyone would mind if you added a little piece in with a little bit further explanation of each of the options.

obviously you have already found the best source for information about how it works… this forum! and if you need help clarifying what to put in your pr I am sure everybody will pitch in with answer like they have already here in this thread

Well I wouldn´t mind as soon as I know how to…
But I´ll never ever tell anyone to go read the source code to be able to understand whats someting is actually doing… this doesn´t work for users… Developers yes, but not users.

And it’s completely benign. If all those apps are already installed running that command doesn’t do anything.