Kurze Frage zum Setup von openHAB

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
lucaspalm
Beiträge: 1
Registriert: 27. Mär 2026 10:16
Answers: 0

Kurze Frage zum Setup von openHAB

Beitrag von lucaspalm »

Hallo,
ich bin gerade dabei, openHAB einzurichten und habe mehrere Geräte im Einsatz.

Wie organisiert ihr am besten eure Things und Items, damit alles übersichtlich bleibt? Habt ihr Tipps für eine saubere Struktur bei mehreren Räumen?

Danke euch!

Benutzeravatar
lenschith
Beiträge: 339
Registriert: 11. Dez 2020 22:36
Answers: 1

Re: Kurze Frage zum Setup von openHAB

Beitrag von lenschith »

Hallo,
verstehe die Frage nicht so ganz. Aber ich habe das nach Etagen - Räume - Geräte - Item erstellt.
Screenshot 2026-03-27 111259.png
Hier auch eine Beschreibung https://www.openhab.org/docs/tutorial/model.html

Wenn das sauber modelliert ist, hat man auch schnell, automatsich und ordentlich eine schöne Locationcard
Screenshot 2026-03-27 111728.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB5.1.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Benutzeravatar
peter-pan
Beiträge: 2859
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Kurze Frage zum Setup von openHAB

Beitrag von peter-pan »

Da ich noch aus der Zeit des textbasierenden SetUps komme, sieht mein Grundgerüst der Location so aus:

Code: Alles auswählen

/*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                                                 Locations                                                                                  +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Item-Type:Dimension              Item-Name        Item-Label                               Icon                 Item-Group(s)       Tag(s)                              Meta-Data/Synonyms/Widget-Sorts/Channel-Links, etc.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
//                                                 Gebäudeplan - Building Plan       
Group                             gEstate         "Anwesen Flurstück"                      <garden>                                 ["Location"]
//                                                 Aussenbereich - Outdoor Area                                            
Group                             gAussen         "Aussenbereich"                          <garden>              (gEstate)          ["Outdoor"]                          { widgetOrder="1" }
Group                             gFront          "Vorgarten"                              <garden>              (gAussen)          ["Garden"]                           { widgetOrder="1" }
Group                             gHof            "Garageneinfahrt"                        <garage_1>            (gAussen)          ["Driveway"]                         { widgetOrder="2" }
Group                             gGarage         "Garage"                                 <garage_1>            (gAussen)          ["Garage", "garage_detached"]        { widgetOrder="3" }
Group                             gBack           "Garten Südseite"                        <garden>              (gAussen)          ["Garden"]                           { widgetOrder="4" }
Group                             gGhaus          "Gartenhütte"                            <huette>              (gAussen)          ["Outdoor"]                          { widgetOrder="5" }
Group                             gTerrasse       "Terrasse"                               <terrace>             (gAussen)          ["Porch" ]                           { widgetOrder="6" }
//                                                 Innenbereich - Indoor                                            
Group                             gInnen          "Innenbereich"                           <house>               (gEstate)          ["Indoor"]                           { widgetOrder="2" }
                                                                                           
Group                             gHome           "Casa Claudia"                           <house>               (gInnen)           ["Building"]
//                                                 Stockwerke - Floors                                               
Group                             gEG             "Erdgeschoss"                            <groundfloor>         (gHome)            ["GroundFloor"]                      { widgetOrder="2" }
Group                             gDG             "Dachgeschoss"                           <attic>               (gHome)            ["Attic"]                            { widgetOrder="3"}
Group                             gUGElw          "ELW UG"                                 <cellar>              (gHome)            ["Basement", "granny flat"]          { widgetOrder="1"}
Group                             gUGKel          "Keller"                                 <cellar>              (gHome)            ["Basement"]                         { widgetOrder="0"}
//                                                 Zimmer - Rooms 
//                                                 Erdgeschoss
Group                             gEG_Bad         "Badezimmer"                             <bubble_bath>         (gEG)              ["Bathroom" ]                        { synonyms="Badezimmer" }
Group                             gEG_Essen       "Esszimmer"                              <dining>              (gEG)              ["DiningRoom" ]
Group                             gEG_Kind1       "Speisekammer"                           <pantry>              (gEG)              ["Room","Vorrat","Ankleide"]         { synonyms="Speisekammer,Vorrat,pantry,Ankleide,dressup" }
Group                             gEG_WC          "Toilette"                               <toilet>              (gEG)              ["Bathroom" ]                  
Group                             gEG_Wohnen      "Wohnzimmer"                             <living>              (gEG)              ["LivingRoom" ]
Group                             gEG_Schlafen    "Schlafzimmer"                           <bed>                 (gEG)              ["Bedroom" ]
Group                             gEG_Kueche      "Küche"                                  <catfridge>           (gEG)              ["Kitchen" ]
Group                             gEG_Windfang    "Windfang-Garderobe"                     <wardrobe>            (gEG)              ["Entry" ]
Group                             gEG_Kind2       "Zimmer York"                            <boy_3>               (gEG)              ["Room", "Kinder" ]                  { synonyms="Kinderzimmer" }
Group                             gEG_Diele       "Diele"                                  <corridor>            (gEG)              ["Corridor" ]
Group                             gEG_Flur        "Flur"                                   <corridor>            (gEG)              ["Corridor" ]
Group                             gEG_Buero       "Arbeitszimmer"                          <office>              (gEG)              ["Office" ]                          { synonyms="Bureau,Bureaux,Büro" }
//                                                Dachgeschoss - Dachboden - Bühne
Group                             gDG_Speicher    "Dachboden"                              <attic>               (gDG)              ["Room" ]
//                                                Untergeschoss - Einliegerwohnung
Group                             gUG_Wohnen      "ELW Wohn-Esszimmer"                     <sofa>                (gUGElw)           ["LivingRoom" ]                       { widgetOrder="3"}
Group                             gUG_Schlafen    "ELW Schlafzimmer"                       <bed>                 (gUGElw)           ["Bedroom" ]                          { widgetOrder="2"}
Group                             gUG_Bad         "ELW Badezimmer"                         <bath>                (gUGElw)           ["Bathroom" ]                         { widgetOrder="1"}
Group                             gUG_Diele       "ELW Flur"                               <corridor>            (gUGElw)           ["Corridor" ]                         { widgetOrder="0"}
//                                                Untergeschoss - Keller
Group                             gUG_Waschkueche "Waschküche"                             <washingmachine>      (gUGKel)           ["LaundryRoom" ]
Group                             gUG_Heizraum    "Heizungsraum"                           <heating>             (gUGKel)           ["BoilerRoom" ]
Group                             gUG_Keller      "Bastel-Keller"                          <cellar>              (gUGKel)           ["Cellar", "Handicraft", "Basteln", "Tools", "Werkzeug" ]
Group                             gUG_Holzkeller  "Holz-Keller"                            <cellar>              (gUGKel)           ["Cellar", "Wood", "Holz" ]
Group                             gUG_Flur        "Flur-Keller"                            <cellar>              (gUGKel)           ["Cellar" ]
Group                             gUG_Treppe      "Kellertreppe-Vorraum"                   <cellar>              (gUGKel)           ["Cellar" ]

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//                                                Locations - End                                                                             +
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Items und Things sind bei mir meist nach Binding/Hersteller/Equipment unterteilt.

Items

Code: Alles auswählen

ohab@raspi58:/etc/openhab $ tree items
items
├── aktien.items
├── alexa.items_stop
├── astro.items
├── avm_fritz.items
├── avm_tr064.items
├── castle.items
├── HmIp_ccu.items
├── HmIp_Leak.items
├── HmIp_plugs.items
├── HmIp_sensor.items
├── HmIp_valve.items
├── http_flightdelay.items
├── ical.items
├── matter_plugs.items
├── mqtt_ESP32.items
├── mqtt_ESP.items
├── mqtt_others.items
├── mqtt_plugs.items
├── mqtt_Sonoff.items
├── mqtt_Sonoff_s20.items
├── network.items
├── ntp.items
├── owm_oncall.items
├── phone.items
├── readme.txt
├── sonos.items
├── test.items
├── zigbee2mqtt_airquality.items
├── zigbee2mqtt_bulbs.items
├── zigbee2mqtt_motion.items
├── zigbee2mqtt_plugs.items
├── zigbee2mqtt_sensor.items
├── zigbee2mqtt_smoke.items
├── zigbee2mqtt_switches.items
├── zigbee2mqtt_temp.items
├── zigbee2mqtt_valve.items
└── zigbee2mqtt_waterleak.items
Things

Code: Alles auswählen

things
├── alexa.things_stop
├── astro.things
├── avm_fritz.things
├── avm_tr064.things
├── cpu_tempPI.things
├── http_aktien.things
├── http_flightdelay.things
├── http_tasmotarelease.things
├── http.things
├── ical.things
├── mail.things
├── matter.things
├── mqtt_bridge.things
├── mqtt_ESP32.things
├── mqtt_ESP.things
├── mqtt_others.things
├── mqtt_plugs.things
├── mqtt_Sonoff_s20.things
├── mqtt_Sonoff.things
├── network.things
├── ntp.things
├── owm.things
├── readme.txt
├── sonos.things
├── test.things_stopped
├── zigbee2mqtt_airquality.things
├── zigbee2mqtt_bulbs.things
├── zigbee2mqtt_motion.things
├── zigbee2mqtt_plugs.things
├── zigbee2mqtt_sensor.things
├── zigbee2mqtt_smoke.things
├── zigbee2mqtt_switches.things
├── zigbee2mqtt_temp.things
├── zigbee2mqtt_valve.things
└── zigbee2mqtt_waterleak.things
@lenshith du hast so schöne Bilder in deinen Location-Kacheln. Hast du einen Tipp, wie man die Bilder passgenau als Hintergrund bekommt?
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.1.3 openhabian
(Test openHAB 5.2.0-SNAPSHOT - Build #5272)

Benutzeravatar
lenschith
Beiträge: 339
Registriert: 11. Dez 2020 22:36
Answers: 1

Re: Kurze Frage zum Setup von openHAB

Beitrag von lenschith »

@peter-pan ich habe einfach Bilder erstellt 200x670 die passen dann rein. Habe links und rechts einfach einen Verlauf hinzugefügt. Quasi das Bild größer gemacht/gestreckt damit es 670px breit wird.

EDIT: https://community.openhab.org/t/locatio ... ize/137366
openHAB5.1.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Benutzeravatar
udo1toni
Beiträge: 15666
Registriert: 11. Apr 2018 18:05
Answers: 254
Wohnort: Darmstadt

Re: Kurze Frage zum Setup von openHAB

Beitrag von udo1toni »

Meine 2 Cent:
Ein wichtiger Punkt beim Einstieg ist, zu verstehen, was Items und Things sind :)

Things sind die Abbildung der Hardware in openHAB - jedes physische Gerät ist ein Thing. Bussysteme können teilweise in ihrer Gesamtheit als ein Gerät betrachtet werden, das entspricht aber nicht der ursprünglichen Intention.

Items repräsentieren Zustände und steuerbare Datenpunkte. Sie sind vollständig von der Hardware abstrahiert, das heißt, wenn Du z.B. ein Switch Item hast, dann spielt es keine Rolle, ob damit ein Fernseher ein/ausgeschaltet wird (evtl. über das herstellereigene Protokoll), eine WLAN Steckdose, ein knx oder Loxone Aktor, oder, oder... Das geht so weit, dass, wenn Du mal eine Hardware austauschen musst/willst, das Item nicht verändert werden muss (bis auf die Verlinkung zum Channel).
Entsprechend ist es meist nicht sinnvoll, ein Item nach einer Hardware zu benennen, von wenigen Ausnahmen mal abgesehen. Stattdessen sollte sich ein Itemname auf die konkrete Funktion beziehen, z.B. statt HueSwitchLampe36OnOff besser OG1FlurLicht.

openHAB bietet in der MainUI das Semantic Model an, womit man den Standort modellieren kann. Das Model ist eine hierarchische Struktur und nutzt dafür Group Items und Tags, angefangen z.B. mit dem Grundstück, den darauf befindlichen Gebäuden + Außenbereichen, je Gebäude die einzelnen Stockwerke, je Stockwerk die einzelnen Räume, je Raum die dort platzierten Geräte und schließlich die einzelnen Funktionen der Geräte. Das hat @lenschith ja oben als Screenshot gezeigt.
Alleine dadurch erreicht man schon eine gewisse Struktur.
Es gibt auch Items, die sich außerhalb des Semantic Model bewegen, z.B. weil sie keiner Location und auch keinem Device eindeutig zuzuordnen sind.
Beim Semantic Model ist zu beachten, dass alle beteiligten Items exakt einmal innerhalb des Model auftauchen - Eine Location ist immer eindeutig, es mag z.B. mehrere Wohnzimmer geben, aber die befinden sich auf unterschiedlichen Stockwerken usw., ein Gerät kann physisch nur an einem Ort existieren, ein Datenpunkt gehört zu genau einem Gerät...
Hat man ein Gerät, welches nicht ortsfest ist und auch häufig "wandert", dann muss man es eben auf einer höheren Ebene einsortieren (eine dynamische Zuordnung innerhalb des Semantic Model ist nur mittels Programmierung mit einigem Aufwand möglich).
Außerhalb des Semantic Model kann jedes Item beliebig vielen anderen Group Items zugeordnet sein, auch solche Items, die Teil des Semantic Model sind (bis auf die Group Items des Semantic Model natürlich, denn dann würden sie ja mehrfach im Model auftauchen).
Man muss das Semantic Model aber nicht zwingend nutzen (das kam überhaupt erst mit OH3) und kann sich auch eine komplett eigene Struktur ausdenken - die räumliche Anordnung erscheint aber sinnvoll :)

Aus dem Semantic Model generiert openHAB automatisch verschiedene Ansichten (Karteireiter unten in der MainUI), so dass man ohne Aufwand schon einen raum- und gerätebezogenen Zugriff erhält, ohne überhaupt etwas für die UI konfiguriert zu haben. Das funktioniert nur, wenn das Semantic Model korrekt ind der vorgesehenen Hierarchie organisiert ist. Natürlich muss man nicht jede Ebene verwenden, z.B. in einer Wohnung ohne eigenen Garten braucht es vielleicht weder Grundstück noch Haus oder Stockwerk.

Wenn man klassisch über Textdateien konfiguriert, kann man sich frei entscheiden, wie man diese Dateien strukturiert, ob nun funktional, nach Gerätefamilien, nach Addons, nach Hersteller... Das hat @peter-pan ja schon gezeigt. Seit OH5 gibt es noch eine weitere Option, das ist die Konfiguration per yaml Datei, dort kann man auch die verschiedenen Konfigurationsebenen mischen, also z.B. ein Thing samt der zugehörigen Items in einer Datei speichern, auch Rules kann man dort mit ablegen, es wäre also denkbar, über eine yaml Datei alles, was zum Einbinden eines Geräts gebraucht wird ins System hinein zu konfigurieren. Ob das sinnvoll ist, muss man im Einzelfall entscheiden, aber es ist eine Option. Die yaml Strukturen kann man dabei bequem über die UI in die Zwischenablage übernehmen, wenn man neben dem Produktivsystem ein Stagesystem betreibt, kann das die Datenübernahme zwischen den beiden Systemen vereinfachen.
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.6 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

Antworten