Openhabian installation: More Detail Needed on '/etc/openhabian.conf' Step of Setup Process

Hello (System details provided at the very bottom),

When following the process given here when setting up openHAB on a standard Linux PC using the openhabian-config setup script, there is one part of the setup process where I feel there needs to be more detail provided in the instruction currently given.

There is one line:

Edit /etc/openhabian.conf to match your needs, then use

which doesn’t provide enough information. What are my needs? I don’t know because I’m not given enough information to tell me what this configuration file does or how modifying it will impact my openhabian installation.

When I open the file and read the comments, I am even more confused…

# Modify your openHABian settings
# Handle with care, only touch if you need to!!
# This file will only be used on initial install.
# If you want to change anything after install completed, use menu in openhabian-config.


Is it important I change this to match the existing name of my current Linux machine?

# Do not change these lines

So, leave this alone, even though there was a different username field just above this one?

# Language and time. Be sure to set these to valid values
locales="en_US.UTF-8 de_DE.UTF-8"

What sort of time configuration format is this? It says to use valid values, but I do not know what format this is or where to go to lookup the correct time code for my region. Do I need to leave the German as well?

# Wi-Fi settings. An ethernet connection is recommended
# Requirement: RPi4, RPi3, RPi0W or a supported external Wi-Fi dongle
# Fill in your SSID and password below, leave empty to use ethernet
# ATTENTION: you need to escape these special characters: $, `, ", \, (newline)
# 'Escaping' means to put an additional \ in front of that character

# Eventually disable all IPv6 e.g. on installation problems
# values: "enable", "disable"

# repo and branch to clone from

# debug verbosity mode
# off, on (verbose output in log) or maximum (show every command)

# Hardware
# pi0, pi0w, pi1, cm1, pi2, pi3, cm3, pi3+, cm3+, pi4

# Hardware architecture
# x86_64, amd64, armv6l, armv7l, aarch64, arm64

# external SD card device to backup and mirror the internal SD card to

# OS Release
# ubuntu, raspbian, debian
# stretch, buster
# bionic, focal

# Java architecture mode
# Valid arguments: "Adopt11", "Zulu8-32", "Zulu8-64", "Zulu11-32", or "Zulu11-64"

# vim: filetype=sh

My Wi-Fi is already configured through Linux/XFCE - do I need to just leave this blank? Should I comment-out those “wifi_ssid” and “wifi_psk” fields?

Hardware architecture - my machine is amd64-based - should I un-comment out this line?

OS Release - I am running Debian (Buster). Should these lines somehow be un-commented?

It would perhaps be really helpful if these configuration settings where given automatically when installing openhabian-config, in the format of some sort of user-wizard or installation setup question process. At any rate, I really feel there needs to be more detail given in the openhab-config installation documentation website or/as well as clearer and more thorough detail provided in the configuration file comments themselves. It seems changing these settings is important but there is not enough information provided to new users to make this a simple and streamlined process.

Thank you for your help and guidance!

Snaphot created on: 20200815_1336
System:    Host: <filter> Kernel: 4.19.0-10-amd64 x86_64 bits: 64 compiler: gcc v: 8.3.0 
           parameters: BOOT_IMAGE=/boot/vmlinuz-4.19.0-10-amd64 
           root=UUID=<filter> ro quiet splash 
           Desktop: Xfce 4.14.2 tk: Gtk 3.24.5 info: xfce4-panel wm: xfwm4 dm: LightDM 1.26.0 
           Distro: MX-19.2_x64 patito feo May 31  2020 base: Debian GNU/Linux 10 (buster) 
Machine:   Type: Detachable System: Dell product: Latitude 5175 v: N/A serial: <filter> Chassis: 
           type: 32 serial: <filter> 
           Mobo: Dell model: 0RJJV5 v: A00 serial: <filter> UEFI: Dell v: 1.7.1 date: 11/29/2019 
CPU:       Topology: Dual Core model: Intel Core m5-6Y57 bits: 64 type: MT MCP arch: Skylake 
           family: 6 model-id: 4E (78) stepping: 3 microcode: D6 L2 cache: 4096 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 12096 
           Speed: 1030 MHz min/max: 400/2800 MHz Core speeds (MHz): 1: 600 2: 600 3: 600 4: 601 
           Vulnerabilities: Type: itlb_multihit status: KVM: Split huge pages 
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
           Type: meltdown mitigation: PTI 
           Type: spec_store_bypass 
           mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, 
           STIBP: conditional, RSB filling 
           Type: srbds status: Vulnerable: No microcode 
           Type: tsx_async_abort mitigation: Clear CPU buffers; SMT vulnerable 
Graphics:  Device-1: Intel HD Graphics 515 vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:191e 
           Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: fbdev,vesa 
           resolution: 1600x900~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 515 (Skylake GT2) v: 4.5 Mesa 18.3.6 
           compat-v: 3.0 direct render: Yes 
Audio:     Device-1: Intel Skylake Imaging Unit 
           vendor: Dell Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor driver: N/A 
           bus ID: 00:05.0 chip ID: 8086:1919 
           Device-2: Intel vendor: Dell driver: N/A bus ID: 00:14.3 chip ID: 8086:9d32 
           Device-3: Intel Sunrise Point-LP HD Audio vendor: Dell driver: snd_hda_intel 
           v: kernel bus ID: 00:1f.3 chip ID: 8086:9d70 
           Sound Server: ALSA v: k4.19.0-10-amd64 
Network:   Device-1: Intel Wireless 8260 driver: iwlwifi v: kernel port: f040 bus ID: 01:00.0 
           chip ID: 8086:24f3 
           IF: wlan0 state: up mac: <filter> 
           IF-ID-1: vmnet1 state: unknown speed: N/A duplex: N/A mac: <filter> 
           IF-ID-2: vmnet8 state: unknown speed: N/A duplex: N/A mac: <filter> 
Drives:    Local Storage: total: 119.24 GiB used: 93.27 GiB (78.2%) 
           ID-1: /dev/sda vendor: LITE-ON model: L8H-128V2G-11 M.2 2280 128GB size: 119.24 GiB 
           block size: physical: 512 B logical: 512 B speed: 6.0 Gb/s serial: <filter> rev: 10C 
           scheme: GPT 
Partition: ID-1: / raw size: 114.11 GiB size: 111.82 GiB (97.99%) used: 91.66 GiB (82.0%) 
           fs: ext4 dev: /dev/sda2 
           ID-2: swap-1 size: 4.88 GiB used: 1.61 GiB (33.0%) fs: swap 
           swappiness: 15 (default 60) cache pressure: 100 (default) dev: /dev/sda3 
Sensors:   System Temperatures: cpu: 60.0 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Repos:     No active apt repos in: /etc/apt/sources.list 
           No active apt repos in: /etc/apt/sources.list.d/agornostal-ubuntu-ulauncher-groovy.list 
           Active apt repos in: /etc/apt/sources.list.d/debian-stable-updates.list 
           1: deb buster-updates main contrib non-free
           2: deb-src buster-updates main contrib non-free #Added by software-properties
           Active apt repos in: /etc/apt/sources.list.d/debian.list 
           1: deb buster main contrib non-free
           2: deb buster/updates main contrib non-free
           3: deb-src buster main contrib non-free
           Active apt repos in: /etc/apt/sources.list.d/google-chrome.list 
           1: deb [arch=amd64] stable main
           Active apt repos in: /etc/apt/sources.list.d/mx.list 
           1: deb buster main non-free
           Active apt repos in: /etc/apt/sources.list.d/nodesource.list 
           1: deb buster main
           2: deb-src buster main
           Active apt repos in: /etc/apt/sources.list.d/openhab2.list 
           1: deb stable main
           Active apt repos in: /etc/apt/sources.list.d/skype-stable.list 
           1: deb [arch=amd64] stable main
           Active apt repos in: /etc/apt/sources.list.d/spotify.list 
           1: deb stable non-free
           No active apt repos in: /etc/apt/sources.list.d/various.list 
           Active apt repos in: /etc/apt/sources.list.d/vscode.list 
           1: deb [arch=amd64] stable main
           Active apt repos in: /etc/apt/sources.list.d/zulu-openjdk.list 
           1: deb [arch=amd64] stable main
           Active apt repos in: /etc/apt/sources.list.d/zulu.list 
           1: deb stable main
Info:      Processes: 275 Uptime: 5h 02m Memory: 3.59 GiB used: 2.03 GiB (56.5%) Init: systemd 
           v: 241 runlevel: 5 default: 5 Compilers: gcc: 8.3.0 alt: 8 Shell: quick-system-in 
           running in: quick-system-in inxi: 3.0.36 

openhabian.conf is there to provide input for image install and is untested for the purpose of running elsewhere than Raspbian.
Frankly if you don’t know what valid values for a timezone are on your OS you shouldn’t be using this.
Go for interactive openhabian-config instead.

These first 3 I believe yes

The rest can be commented out if you don’t want to change what you have already configured on your system. If you don’t know what an option does omit it.

The standard timezone format of Debian.

Leave blank or comment out.

What do you mean? The system cannot determine or know these.
If you want a wizard, use the interactive install.

There are many different time/country-code formats and protocols used by Linux/Java/other applications. Frankly, if you could just provide one tiny word of context as to what format this data needs to be in, that would be very helpful. There are many ways to abbreviate countries, languages, and time zones. Yes, I can Google and find this out, but I thought (according to the installation documentation) for installation on a desktop Linux PC (and not “PI” / arm device) we are supposed to follow the manual installation. This is what is says when you visit the openhabian-config installation documentation:

And god-forbid you don’t install openHAB using openbian-config because then everyone on the message boards goes, “Why didn’t you install openHAB using openhabian??!?”

I like openhabian - it is a wonderful tool and I am so very thankful so much time and effort has been put into streamlining the installation process. I am your general audience, a typical homeowner with some working Linux knowledge but not an IT specialist or programmer by trade, trying to follow the website documentation and setup my OH system. I’m not trying to be confrontational, just provide feedback and I apologize if I don’t properly understand the concept of openhabian or its intended target users. But it does seem that it is the most comprehensive way to install openHAB.

Actually the openHABian general audience uses the image on a Raspberry Pi.
I agree the Linux documentation is currently confusing in an attempt to simplify the installation.

1 Like

Thank you Bruce. I agree and have written more about this on my original topic, which spawned this separate thread.

1 Like

Often when running an installation script (or installing an entire application via apt/snap/flatpak, etc) in the terminal window/console the installation script will pause and ask users some quick typically yes/no questions, ask for a username, ask for an installation directory, if the user wants to keep the existing .conf file or replace it with the package-maintainers version, that sort of thing. That is what I meant by “Wizard.” Just some simple bash-shell terminal prompts. Instead of one sentence that says to open and modify an separate configuration file but without many other details provided.

Is the interactive install something different than what I am trying to do? I am just trying to get openhabian-config running properly so that I can then use the openhabian menu option for “fresh install” to be up and running again. Is that what you mean by the interactive install? I am just trying to get to that point, but I’m not even past getting the openhabian-config script properly provisioned and ready to work.

With regard to timezone there is a wikipedia entry. I was not aware of this. The column TZ database name shows the entry that is expected to configure your local system.

Maybe this helps to understand the code that is used to set the locales.

1 Like

I get the impression we’re not talking the same language.
openhabian-config (without argument) IS the interactive install.
unattended install is right that, unattended, automated, non-interactive, using openhabian.conf as input.
That means to start openhabian-config with the unattended argument.
That’s the same code that’s run when you deploy the image.
Just the starting point is well-defined in that case (stock Raspi OS) vs. it’s mostly unpredictable in your case (some heavily customized OS), leading to much more need for support.

I understand everything above. My OS is not heavily customized. Anything that will work with standalone Debian 10/Buster will work here without issue. And HAS worked just fine for me for over two years now.

I am running MX Linux 19.2. It essentially IS Debian 10/Buster. It it is currently the most-popular Linux distribution and has been for a very long time. That is not the issue here.

You can’t be sure it isn’t.
Any computer application needs to have a well-defined starting point, and our starting point is stock, generic Debian.
If it works on stock Debian then yes the reason that it fails on your system is that your system differs from stock Debian. It’s subtle difference most of the time but it’s differences.
You’re welcome to find out what would need to be changed and let us know and we’ll consider adding that to openHABian. But you must not expect us to support your specific Linux variant, popular or not.

1 Like

Today was the first time in well over a year I’ve looked at openHABian, and the installation notes.

I too was slightly confused at the suggestion to edit a file to set some defaults, as the strength of openHABian is the guided installation/configuration process via openhabian-config.

I think that the instructions should first direct you towards using the graphical configuration, and this should be the priority to present to new users, then, after that, the bits about modifying the configuration file to perform an unattended install can be referenced, as this is an advanced feature and for those who like to tinker, or look at automating installations/reinstallations.


This here is all I’m trying to state. Thank you!

You always are, aren’t you lol ? SCNR.

Right. You think they don’t ? Any suggestion how to reword that ?

1 Like

It definitely doesn’t!

“Edit the file, run the unattended, but if that doesn’t work then run the interactive mode” - to me, it makes it sound like the interactive mode is a fall-back, not the preferred, you shouldn’t really be using it unless you really have to.


As for rewording it, I would look to mention the strength of the guided interactive installation process, then mention that it can also be automated, but show us how to do the interactive mode first, then go into the specifics of the unattended.

Or, ask some questions to populate the config file so that the unattended can be performed. Users might be used to answering questions on the command line (which have a default they can just accept if they wish). But I don’t think we should be asking users to edit a text file, not unless, as @richaardvark says, it is documented MUCH better than it currently is!

1 Like

Definitely agree. This is what I was trying to suggest in my above comment - I don’t understand why the interactive mode can’t be used to first to set the openhabian.conf file parameters and then simply ask the user if they would like to continue in unattended or interactive mode. This should be fairly simple to append to the beginning of the current script.

Here is where I was describing this frustration/giving this feedback above (you did a much better job of touching upon it though, thank you!):

Couldn’t this just be part of the existing script setup, just appended to the beginning? Instead of asking users to update a separate file. And the wording on the website (from your screenshot) did not really convey to me that I needed to modify that file, when in fact it was essential that I do so.

Because you don’t have the insight to the code it takes to understand. It just doesn’t work that way.

No, again it doesn’t work that way.
What you effectively get when you run an interactive install is you can browse the options in their numbered order and decide on every option if you want to make use of it or not.

I’ve changed the docs to clarify that users should use the interactive mode.
(@Confectrician could you please initiate a docs update run?)


I am the target audience. I am a coding newbie and don’t want to spend days learning how to debug something.

I have managed to run openhabian for ages on rpi3 with boot msata drive.

I bought a new pi4 8gig and managed to install it on that with having to only a zram issue. (Kernel issue)

Yes the installation did hang for 40 min without feedback but because I RTFM and played some games while it installed its not a problem. It even from fresh install changed my timezone.

@mstormi has put a tremendous effort into getting everything running stable. He is volenteer and if you want to help him change the docs. I only have two words. “Pull Request”

As far as I understand that doesn’t answer the question of @richaardvark .
Wasn’t it more meant like a suggestion to offer functionality to interactively ask the user a set of questions and answers will be used to write content to openhabian.conf file and not meant like why does it not work in the current setup ?