Switch items not shown in OH3 locations tab, but existing in Semantic Model

  • Platform information:
    • Hardware: Intel NUC/8GB RAM/256GB SSD
    • OS: Ubuntu 18.04.5 LTS
    • Java Runtime Environment: openjdk 11.0.10
    • openHAB version: openHAB 3.1.0.M1

Hi there!

I run OH2 since 3 years now and have quite a big environement running. I migrated to OH3 and implemented the semantic model into my file based configuration (after reading through all the docu carefully of course :wink:)
Everything is fine, expect that the Switch Items are not visible in the Locations tab of the Main UI.
They are existing in the semantic model, they are visible in the Equipment tab. All other Items that are configured in the same way are well shown in locations as well as in equipment tab (e.g. the dimmer items).

After trying everything, I cannot imagine what I did wrong.
I really hope for your support!

Thanks a lot,
Matthias


Here is a part of my configuration:

// Gruppen:						
Group    gHaus                           "Haus"                           <house>                                 ["Location"]
Group    gGewerke                        "Gewerke"                        <house>                                 ["Equipment"]
Group    gGeschosse                      "Geschosse"                      <house>             (gHaus)             ["Floor"]

						
// Etagen:						
Group    gUntergeschoss                  "Untergeschoss"                  <cellar>            (gGeschosse)        ["Cellar"]
Group    gErdgeschoss                    "Erdgeschoss"                    <groundfloor>       (gGeschosse)        ["GroundFloor"]
Group    gObergeschoss                   "Obergeschoss"                   <firstfloor>        (gGeschosse)        ["FirstFloor"]
Group    gAussen                         "Außen"                          <garden>            (gGeschosse)        ["Outdoor"]
						
// Räume:						
Group    gAbstellraum                    "Abstellraum"                    <house>             (gUntergeschoss)    ["Basement"]
Group    gTechnikraum                    "Technikraum"                    <house>             (gUntergeschoss)    ["BoilerRoom"]
Group    gKellertreppe                   "Kellertreppe"                   <house>             (gErdgeschoss)      ["Corridor"]
Group    gRuheraum                       "Ruheraum"                       <house>             (gUntergeschoss)    ["Room"]
Group    gSauna                          "Sauna"                          <house>             (gRuheraum)         ["Room"]
Group    gGaestezimmer                   "Gästezimmer"                    <house>             (gUntergeschoss)    ["GuestRoom"]
Group    gGaestebad                      "Gästebad"                       <house>             (gUntergeschoss)    ["Bathroom"]
Group    gFlur                           "Flur"                           <house>             (gErdgeschoss)      ["Corridor"]
Group    gGaestetoilette                 "Gästetoilette"                  <house>             (gErdgeschoss)      ["Bathroom"]
Group    gWohnzimmer                     "Wohnzimmer"                     <sofa>              (gErdgeschoss)      ["LivingRoom"]

Group    gBeleuchtung                    "Beleuchtung"                    <light>             (gGewerke)          ["Lightbulb"]
Group    gSteckdosen                     "Steckdosen"                     <poweroutlet>       (gGewerke)          ["PowerOutlet"]
Group    gJalousie                       "Jalousien"                      <rollershutter>     (gGewerke)          ["Blinds"]
Dimmer    iBeleuchtungDimmenWohnzimmerD7DeckenstrahlerFernsehwand       "Wohnzimmer Deckenstrahler Fernsehwand [%d %%]"      <light>    (gBeleuchtung, gWohnzimmer)         ["Lightbulb", "Setpoint"]    {alexa="Lighting", channel="knx:device:bridge:KNXBeleuchtung:cBeleuchtungDimmenWohnzimmerD7DeckenstrahlerFernsehwand"}
Dimmer    iBeleuchtungDimmenWohnzimmerD8DeckenstrahlerStrasse           "Wohnzimmer Deckenstrahler Straße [%d %%]"           <light>    (gBeleuchtung, gWohnzimmer)         ["Lightbulb", "Setpoint"]    {alexa="Lighting", channel="knx:device:bridge:KNXBeleuchtung:cBeleuchtungDimmenWohnzimmerD8DeckenstrahlerStrasse"}
Dimmer    iBeleuchtungDimmenWohnzimmerD9DeckenstrahlerGarten            "Wohnzimmer Deckenstrahler Garten [%d %%]"           <light>    (gBeleuchtung, gWohnzimmer)         ["Lightbulb", "Setpoint"]    {alexa="Lighting", channel="knx:device:bridge:KNXBeleuchtung:cBeleuchtungDimmenWohnzimmerD9DeckenstrahlerGarten"}
Dimmer    iBeleuchtungDimmenWohnzimmerD26DeckenstrahlerTerrasse         "Wohnzimmer Deckenstrahler Terrasse [%d %%]"         <light>    (gBeleuchtung, gWohnzimmer)         ["Lightbulb", "Setpoint"]    {alexa="Lighting", channel="knx:device:bridge:KNXBeleuchtung:cBeleuchtungDimmenWohnzimmerD26DeckenstrahlerTerrasse"}
Dimmer    iBeleuchtungDimmenWohnzimmerD10LEDBandFernsehwand             "Wohnzimmer LED Band Fernsehwand [%d %%]"            <light>    (gBeleuchtung, gWohnzimmer)         ["Lightbulb", "Setpoint"]    {alexa="Lighting", channel="knx:device:bridge:KNXBeleuchtung:cBeleuchtungDimmenWohnzimmerD10LEDBandFernsehwand"}
Dimmer    iBeleuchtungDimmenWohnzimmerD11LEDBandFernseher               "Wohnzimmer LED Band Fernseher [%d %%]"              <light>    (gBeleuchtung, gWohnzimmer)         ["Lightbulb", "Setpoint"]    {alexa="Lighting", channel="knx:device:bridge:KNXBeleuchtung:cBeleuchtungDimmenWohnzimmerD11LEDBandFernseher"}
Switch    iBeleuchtungSchaltenWohnzimmerS5Bogenlampe                    "Wohnzimmer Bogenlampe [%s]"                         <light>    (gBeleuchtung, gWohnzimmer)         ["Lightbulb", "Switch"]      {alexa="Lighting", channel="knx:device:bridge:KNXBeleuchtung:cBeleuchtungSchaltenWohnzimmerS5Bogenlampe"}
Switch    iBeleuchtungSchaltenWohnzimmerS6Stehlampe                     "Wohnzimmer Stehlampe [%s]"                          <light>    (gBeleuchtung, gWohnzimmer)         ["Lightbulb", "Switch"]      {alexa="Lighting", channel="knx:device:bridge:KNXBeleuchtung:cBeleuchtungSchaltenWohnzimmerS6Stehlampe"}
Switch    iBeleuchtungSchaltenWohnzimmerS63Bodenbeleuchtung             "Wohnzimmer Bodenbeleuchtung [%s]"                   <light>    (gBeleuchtung, gWohnzimmer)         ["Lightbulb", "Switch"]      {alexa="Lighting", channel="knx:device:bridge:KNXBeleuchtung:cBeleuchtungSchaltenWohnzimmerS63Bodenbeleuchtung"}






You are using the Equipment tag for your Switch and Dimmer Items. And your Group membership is all over the place.

Rules of thumb for the model:

  1. Locations are always Groups, only tag these with a Location tag, never an Equipment nor a Point/Property tag
  2. Equipment are almost always Groups only tag these with an Equipment Tag, never a Location or Point/Property tags
  3. Your other Items are almost always Points, only tag these with Point/Property tags, never Location or Equipment tags
  4. Any semantically tagged Item can only be a direct member of one semantically tagged Group.

If you look at your iBeleuchtungSchaltenWohnzimmerS5Bogenlampe Item, it’s tagged with Lightbulb which is an Equipment tag and Switch which is a Point tag, violating rule 2 and/or 3. You should use something like Switch (a Point tag) and Light (a Properties tag). And when we look a at the Group membership we see it’s a member of gBeleuchtung and gWohnzimmer. gBeleuchtung is tagged with the Equipment Tag Lightbulb. gWohnzimmer is tagged with the Location Tag LivingRoom. So your Point Item is a direct member of two Groups that are semantically tagged violating rule 4.

gWohnzimmer can remain unchanged. gBeleuchtung needs to be a member of the Location where it is located (gWohnzimmer?). iBeleuchtungSchaltenWohnzimmerS5Bogenlampe needs to only be a member of gBeleuchtung.

I don’t speak German so don’t know if that makes sense. You may need new Groups.

The semantic model is supposed to be a model of your physical environment. An Equipment Group represents a specific physical device and a physical device can only be in one location at a time. A Point Item can only be a member of one physical piece of equipment at a time. You do not model your “functional” system. You wouldn’t put all your Lightbulbs into a Group tagged withe Lightbulb. That’s not what the model is for. If you need such a function Group to drive a rule or something then do not give that Group a semantic tag.

When managing Items and the model through the UI, most of these mistakes are impossible to make.

Thanks a lot, Rich!
This makes things much clearer.

Up to now (appropriate for OH2), my group concept was structued in a functional and a locations group tree. I used it as something like a matric view, coming either from the functional side or the locations side. “gBeleuchtung” means “gLighting” (the functional tree) and “gWohnzimmer” means “gLivingroom” (locations tree). This is where I started and that is the reason why I added everything to two groups, one location and one functional group. I understand now, that I need to revise this.
Let me take a closer look.

Does this mean, that I can only reach an item via one way, the equipment path or the locations path? Not via both ways?

Sorry for not getting the semantic model thing… :roll_eyes:
Thanks again!

No, the functional part is captured in the Point and Properties tags. Note that the semantic model is primarily driving the automatically generated parts of the Overview page (and HABot is you use that).

Location

Notice the “Basement Sensors” Equipment in the “Den” location.

Equipment

On the Equipment tab notice how all the sensor equipment appears on the Sensors card, including “Basement Sensors”.

Properties

On the Properties tab notice how all the Temperature sensors are all grouped together (i.e. the same functionality is grouped together).

But in the model tree, everything is only organized based on Location and Equipment.

In Rules and such the semantic model doesn’t matter. So if you want to group your Items based on functionality or some other way you can still do that. Just don’t semantically tag those Groups because they are outside of the model.

1 Like

Got it. I got it working now!
Thanks a lot for the explanation!