---
layout: documentation
title: Configuration
---
# Configuration of your Smart Home
openHAB is the center of your home automation.
Properties and capabilities of all your devices are available through openHAB to the user interface.
openHAB is a system installed and driven by you, **running independently** of any online services or proprietary technologies.
You as the end-user have **full control** over every aspect of your smart home, and it will keep working even when your Internet link goes down.
Every device connected to openHAB is functionally and logically different.
In order to represent all of these, openHAB defines the following base components:
- [Add-ons](addons.html) - The numerous add-ons to communicate with your devices
- [Things](things.html) - Your devices represented in openHAB
- [Items](items.html) - properties and capabilities of your Things
- [Groups](items.html#groups) - collections or categories containing Items
- [Transformations](transformations.html) - Helper functions to transform your data
- [Persistence](persistence.html) - Services to store data over time
- [Rules](rules-dsl.html) - Automation logic, the "smart" in your Smart Home!
- [Blockly Rules](blockly/) - Visually define the automation logic of your Smart Home
- [JSR223 Scripting](jsr223.html) - Define rules and other runtime objects using [JavaScript](https://openjdk.java.net/projects/nashorn/), [Jython](https://www.jython.org) or [Groovy](https://www.groovy-lang.org/)
The individual articles have all the details needed to understand the concepts behind these building blocks for your Smart Home.
For more details on the basic concepts behind openHAB, please visit the [Concepts Overview page](/docs/concepts/index.html).
::: tip
This section does not cover building user interfaces; this subject has its own section: [User Interfaces](/docs/ui/)
:::
## Versatility
openHAB provides a _single_ graphical user interface to modify settings, to manage your components and rules, and to provide a UI for users.
While there are no full-scale starter and migration tutorials available yet, see the [recording of the recent 2020 openHAB virtual meetup](https://youtu.be/pwZ8AOwRDEk?t=1586) for a tour of the new Main UI (starting at 26:26).
::: tip Important changes for openHAB 2 users
PaperUI and HABmin are no longer supported, they are replaced by the new Main UI.
It also provides flexible charting now so you won't require Grafana or a similar external tool any more.
v1 bindings are no longer available, see [this list](https://github.com/openhab/openhab-addons/issues/6179#migrated) what has been migrated to OH3.
The expire binding's functionality is now part of the core (item configuration stays the same).
File-based configuration is still available, but we recommend that everyone start over with a fresh setup built using the new Main UI.
_Note there is an option in Main UI to bulk create Items where you can copy'n'paste the contents of your `.items` files._
:::
Configuration Task | via text files | in Main UI | openHAB console | Recommendation |
---|---|---|---|---|
Auto-Discover Things and Items | ❌ | ✔️ | ✔️ | Main UI Do not autocreate Items |
Define and manage Things | ✔️ | ✔️ | ✔️ | Main UI |
Define and manage Groups and Items | ✔️ | ✔️ | (✔️) | for starters: Use the semantic model in UI advanced users: import items in UI to use the semantic model only stick with *.items files if you know how to handle tagging and groups for the model |
Define GUI | sitemaps only | ✔️ includes YAML view |
✔️ | Main UI sitemaps/*.sitemap files |
Define Transformations | ✔️ | ❌ | ❌ | transform/*.map*.js files |
Define Persistence | ✔️ | ❌ | ❌ | persistence/*.persist files |
Define Rules | ✔️ | ✔️ | ❌ | for starters: Main UI and Blockly (graphically create JS code) for advanced users: rules/*.rules files for rules DSL and JSR223 |
Manage Z-Wave Devices | ❌ | ✔️ | ❌ | Main UI |
Modify openHAB Settings/Services | ✔️ | ✔️ | ✔️ | Main UI |
Install Add-ons | ✔️ | ✔️ | ✔️ | Main UI |