Naming items with sense

Hi everyone,

I am working with OpenHAB for about 1 year. I was playing around with all kind of devices (Philips, Osram, IKEA, Aqara, Tasmota, Xiaomi, Homematic).

At the moment I got about 75 things connected.

My first goal was to get to know how to merge them all together to be “smart”. I am using also Node Red and InfluxDB and Grafana as well as 7 Amazon Echos.

My goal is to have all things in OH, from there I want to feed Node Red, Influx and the Echoes.
I think I have managed it to get nearly all running the way I want it.

As I was playing around a lot with the devices, so my whole setup is a little bit messed up.
So I decided to set up a brand new environment to create a solid base for my existing devices and the upcoming :wink:

So now my question:

As I have a lot of devices, what would be the a good naming convention for.
At the moment, a thing looks like this:

Group gTemperatureSensor_T1 "Temperatur-Sensor Büro" (gTemperatureSensors, gFlur_EG) {alexa="Endpoint:TemperatureSensor"}
Number T1_Temperature "Temperatur Büro [%.1f °C]" (gTemperatureSensor_T1, gTemperatureSensorsEG) ["CurrentTemperature"] {channel="deconz:temperaturesensor:0c922491:00158d000309b543010402:temperature"}
Number T1_Battery_Level "Batterieladung Büro" (gTemperatureSensor_T1, gTemperatureSensorsEG, gBatteryCharge) {channel="deconz:temperaturesensor:0c922491:00158d000309b543010402:battery_level"}
Switch T1_Battery_Warning "Batteriewarnung Büro" (gTemperatureSensor_T1, gTemperatureSensorsEG, gBatteryWarning) {channel="deconz:temperaturesensor:0c922491:00158d000309b543010402:battery_low"}

As you can see, I got the items grouped, I got several physical and logical groups. Works not that bad in OH, but also doesn’t feed that good. I got the feeling there is a better way.

It also looks terrible when importing it in the echoes as there are a lot of items with the same name. Maybe these are old ones, but they reappear when deleting ans adding again.

Maybe you can give me some tips/hints or exaples you you managed it.

Thanks in advance

Jarod

This comes up about once a quarter, and indeed it’s been about a quarter since it last came up.

Search the forum for “item naming” and I’m sure you’ll find those old posts.

Here is my advice. Items are they model of your home automation. They are an abstract representation of all the sensors and actuators in your system. There most important thing is it needs to make sense to you.

Some considerations:

  • The technology controlling the device doesn’t matter, I cringe every time I see "zwave* or mqtt it knx in an in name. Items are abstract. It doesn’t matter where the information is or three electronics that responds to the commands. What is important is location (e.g. Living Room) and what it is (e.g. a lamp). So a name like “Livingroom_Lamp” is much more meaningful than “Zwave_Node12_Switch”.

  • Sometimes it can be helpful to distinguish between sensors and actuators and groups. This let’s you more easily name Items when you can an actuator and sensor that have different Items. I use a prepended character (“v” for sensor values, “a” for actuators, and “g” for Groups). So a garage door opener might be aGarageDoor to trigger the door and vGarageDoor for the sensor that indicates whether the door is open or closed.

  • Keep it simple. Don’t come up with some scheme that requires looking at some chart to understand. The names should be immediately obvious to you What device it represents and therefore what you can do with it.

That’s about it. Keep your item names simple and meaningful to you. Don’t stress about it too much.

2 Likes

For me it took a long time to find a scheme that satisfies me. I made some prerequisites.

  1. The item representaion of a real world thing consits of a group that holds the different items of that thing

  2. The name of the thing and the item group are identical

  3. Every item encodes its location, an meaningfull name and the channel

  4. Alle item are grouped in a hirarcical structure

  5. For special purposes there are special groups

Some examples.

A real world Thing is a group of things
Simpl enough. My TV receiver is defined like this

   Group					gRB_GF_LR_TVReceiver
                            "RB_GF_LR: TV Receiver"
                            <it_television>
                            (gRB_GF_LivingRoom, gMedia, gSpeechCmnd)
                            {alexa="Endpoint.TV" [category="TV"],
                             speechctrl="" [roomHint="Wohnzimmer", friendlyName="Fernseher"]}

    Switch					RB_GF_LR_TVReceiver_Power
                            "RB_GF_LR: TV Receiver power [MAP(i18n_switch.map):%s]"
                            <control_on_off>
                            (gRB_GF_LR_TVReceiver)
                            {alexa="PowerController.powerState",
                             channel="magentatv:xxxx:control#power"}

    Player					RB_GF_LR_TVReceiver_Control
                            "RB_GF_LR: TV Receiver control"
                            <audio_play>
                            (gRB_GF_LR_TVReceiver)
                            {alexa="PlaybackController.playback" [category="TV"],
                             channel="magentatv:xxxx:control#player"}

    Dimmer					RB_GF_LR_TVReceiver_Volume
                            "RB_GF_LR: TV Receiver volume [%d %%]"
                            <audio_volume_high>
                            (gRB_GF_LR_TVReceiver)
                            {alexa="Speaker.volume" [category="TV", increment="3"]}

A benefit of this struture is that required groups using Alexa are there

Thing name equals item grroup.
I own an TV Receiver. The name of the Thing is: RB_GF_LR_TVReceiver and the name of the items group is the same. So i find an item very quick no matter where i search. To be honest i added some technocal details to the thing name line zwave node numer oder the receivers hostname.

The naming of an item
As seen above the naming is like that: RB_GF_LR_TVReceiver_Volume Breaking this apart means:
RB - Residential Building
GF - Groundfloor
LR - Living room
TVReceiver - Meaningfull
Volume - Channel

For me that has some benefits when working with groups like iterating trough the members.

All items are grouped in a structure
As seen in the receiver example the Receiver ist part of the livig room and the median group. On the next level the living rook ist part on the groundfloor and the groundfloor is part of the residential building

Special groups are the.
Again as seen in the TV receiver example. gMedia collects all media things. Other special ground are batteries, plants, windows and door contacts.

At the end ist is a more or less compley system that should suit your need. Just speed some time and paper and define something that siuts your needs.

Have fun and stay healty