Synonyms and Groups Best Practice

This is my third Openhab installation, and by far will be the biggest. This one has 24 air conditioner units. This is but a small subset:

Group gHVAC_CC_Kitchen       "Thermostat"    (gCommunityCenterKitchen)  ["HVAC"] { synonyms="thermostat, thermostats" }
Number   Kitchen_ControlsCoolsetpoint     "Cool setpoint [%d F]" <temperature> (gHVAC_CC_Kitchen) ["Setpoint", "Temperature"]   {channel="mqtt:homie300:a40be34a38:somecomfort1903645:controls#coolsetpoint",stateDescription=""[min="72",max="100",step="1"],widget="oh-stepper-card",listWidget="oh-stepper-item",cellWidget="oh-stepper-cell"}
Number   Kitchen_ControlsHeatsetpoint     "Heat setpoint [%d F]" <temperature> (gHVAC_CC_Kitchen) ["Setpoint", "Temperature"]   {channel="mqtt:homie300:a40be34a38:somecomfort1903645:controls#heatsetpoint",stateDescription=""[min="45",max="66",step="1"],widget="oh-stepper-card",listWidget="oh-stepper-item",cellWidget="oh-stepper-cell"}
Number   Kitchen_StatusTemperature        "Temperature"                        (gHVAC_CC_Kitchen) ["Measurement", "Temperature"]{channel="mqtt:homie300:a40be34a38:somecomfort1903645:status#temperature"}
String   Kitchen_ControlsHoldmode         "Hold mode"                          (gHVAC_CC_Kitchen) {channel="mqtt:homie300:a40be34a38:somecomfort1903645:controls#holdmode"}
String   Kitchen_ControlsSystemmode       "System mode"                        (gHVAC_CC_Kitchen) {channel="mqtt:homie300:a40be34a38:somecomfort1903645:controls#systemmode"}
String   Kitchen_StatusAccountstatus      "Account status"                     (gHVAC_CC_Kitchen) {channel="mqtt:homie300:a40be34a38:somecomfort1903645:status#accountstatus"}
String   Kitchen_StatusLastupdate         "Last update"                        (gHVAC_CC_Kitchen) {channel="mqtt:homie300:a40be34a38:somecomfort1903645:status#lastupdate"}
String   Kitchen_StatusSystemstatus       "System status"                      (gHVAC_CC_Kitchen) {channel="mqtt:homie300:a40be34a38:somecomfort1903645:status#systemstatus"}

I would like the reasoner to generate proper responses for the following:
For “show the thermostats”, I’d like the following, but instead, I have to say “show the thermostat”, even though I specified synonyms for thermostat, thermostats". And this is because synonyms don’t propogate to sub groups. But then I’d need to add thermostats synonym to each point. Doesn’t seem quite right.


For “show the temperatures”, I would like to get actual measurements.

For “show the measurements”, I would like to get the measurements

But, I need to say “show the measurement” instead.

And so forth. I never understood HaBot cards, and I don’t think this is HaBot. Is there some other hints mechanism I can add to help the lay person interact?

The synonym, as you see, only apply to that one Item it’s applied to. You have to apply the synonym to each Item you want to use it. There is no shortcut for this.

I’m not sure what you mean by “I don’t think this is HABot”. This most definitely is HABot and HABot is the only thing in OH right now that uses synonyms. I’ve only used HABot in an adhoc manner so I can’t help with the HABot cards understanding except to say that it lets you create a static “card” (e.g. all your temperatures and humidity values together) and can then pull that back up later, but only when using the full HABot app, not the search bar from MainUI.

Thanks for replying. I just wasn’t sure, because it looks different from HaBot. I’ll research cards. I’ve found that cues are taken from the labels, icons, tags and attributes, so it’s a lot of trial and error for me to get the behavior I am looking for. Also, capitalization matters.

For now, I am getting this strange behavior: kitchen heat setpoint matches two items, whereas cool setpoint matches one item. Ignore the resulting value, a rule modified it after the UI.


Group gHVAC_CC_Kitchen       "Thermostat"    (gCommunityCenterKitchen)  ["HVAC"] {synonyms="Thermostats" }
Number   Kitchen_ControlsCoolsetpoint       "Cool setpoint"                       <temperature> (gHVAC_CC_Kitchen)    ["Setpoint","Temperature"]    {channel="mqtt:homie300:a40be34a38:somecomfort1903645:controls#coolsetpoint",stateDescription=""[min="72",max="100",step="1"],widget="oh-stepper-card",listWidget="oh-stepper-item",cellWidget="oh-stepper-cell"}
Number   Kitchen_ControlsHeatsetpoint       "Heat setpoint"                       <temperature> (gHVAC_CC_Kitchen)    ["Setpoint","Temperature"]    {channel="mqtt:homie300:a40be34a38:somecomfort1903645:controls#heatsetpoint",stateDescription=""[min="45",max="66" ,step="1"],widget="oh-stepper-card",listWidget="oh-stepper-item",cellWidget="oh-stepper-cell"}

I only rarely use HABot so probably won’t be much more help beyond encouragement to keep experimenting.