OH3: How to extend the semantic classes

@ysc Is it possible to extend the currently defined sematic classes. I am missing some options in the classes.

Not without contributing some code or suggesting them in an issue in https://github.com/openhab/openhab-core/issues, I’m afraid…

They’re defined here: https://github.com/openhab/openhab-core/blob/master/bundles/org.openhab.core.semantics/model/SemanticTags.csv
and translations are here: https://github.com/openhab/openhab-core/tree/master/bundles/org.openhab.core.semantics/src/main/resources

If you don’t find the class you need you can use one more generic (like Equipment, Point, Room or Floor), with some synonyms it could be enough in most cases.

Thanks for your fast answer. I am missing simple thing like “Office”. Would be great if an sementic editor became part of OH?. Meanwhile i try to look trough alle classes and suggest some new classes to offer a more complete set.

Another part i am missing are virtual locations to hold web services a equipment.

Office should be there…

Edit: It is not, I have chosen room for it

I hear you - the ontology was designed to be the same for everyone and not extendable on a per-instance basis. Whether it’s a flaw or not has been already discussed, but it is what it is.

The lack of ‘Office’ was mentioned then:

Home/Office Location types have been removed as they are rather a purpose of the location than a type

For the web services, if you don’t have too many of them, it’s fine to keep them at the root level.

Is there any documentation on what these are, how these are used, or what their purpose is supposed to be?

To be honest this answer is one of the answers that brings me more and more away from openhab.

Thanks for your efforts in delevoping the UIs


The closest thing to some documentation is:

and to some extent the draft for the new tutorial here:

As for their purpose, if you build a correct model you’ll begin to see stuff appearing in the Locations, Equipments, and Properties in the UI’s home page. And things like this will begin working too (in 5 languages, that’s why the list is fixed because there are translations ready for every class):

Okay, just telling you bluntly and honestly what’s available and how you can use it :man_shrugging:

By the way, this was meant as “openHAB is the sum of its contributions”, not “it can’t be changed”.

1 Like

Thanks for the info.

I’d like to hear what @Dibbler42 thinks is missing that requires extending.

@namraccr Just to give some feedback. I am looking from a user persective and in special from a new user perspective. openHAB is uge an it takes some time to understand the concepts and even if your are years with openHAB you will find new things. The new UI give some advice that is new within openHAB. A concrete strukture approach. Just ask people about their group strukture and you will find hundrets of differnet approaches. So i really like this picture.

Begin with a hierarchy of location: … is the advice. Yes model your home and fill it with things. Now one remarkeble note. The semantic scheme ist not nessecarily a hierarcical structure. It is more bases on classes an sub classes.

From my point of view for example the location are not complete (To be honest, i think they never will be) and especially for new user it is now so easy if thins are missign and it is no fun if half of the hous consists just of rooms, beacuase they are missing. So i woul put more classes into the locations to be more complete and give people the choice. based on thin and my own expierience i extended the location.

Step 1: InDoor locations

Step 2: Outdoor locations

Step 3 some kind of virtual and weird locations ans i am currently not satified with that

Based on the i am able to build my home as a hierarcical group structure


Just my quick two cents here:
At first sight, I thought the same, room types are missing. But then I gave it some more thinking. For example Office or Bedroom.
These two are missing, really? No, as they are just two rooms which useability could be swapped. This does not apply to a Kitchen or Bathroom, they are special function room that can not be swapped easily…

I understand your argumentation. In my home is that not possible due to infrastructure concerns. At the end this condensed concept is not usefull for new users because to sophisticated. But bedroom and kitchen is only one example.

I completely understand, it was just a quick answer while on phone. This discussion can be extended in many ways. The underlying brick scheme is thinking of, let‘s call it standard buildings. There you will find rooms without special features and you will find rooms for defined purpose, like a kitchen or a bathroom.
This might not fit into the design of some buildings like yours or mine, where infrastructure for an Office or whatever was laid out. But this is not mainstream in my opinion. So there has to be some kind of a compromise to what should be added and what not.
So in general, I am fine with defining my Office as just a room. I still could add a specific icon and label so I know it is an Office.

The openHAB onotology is from my point of view very different from the Brick Scheme. If the openHAB approach is to serve “Standard Building” instead of homes or fit a home into a standard building than this is maybe my way.

So i will see what is coming and then decide if i will use it. At the moment i will not user the semantics, because i think that they are not usefull for me at the moment.