When we started version 3 (v3) of the Alexa skill, we introduced a new tagging scheme based on the metadata feature of ESH.
During this time there was a very long and lengthy discussion around officially supported semantics which can be manually set on items or auto generated through the use of item tags, which you can read about here https://github.com/eclipse/smarthome/pull/6288.
I am trying to avoid having to support item tags, Alexa specific metadata and the new semantic metadata. Curious if @Kai or @ysc has an opinion here about how these should be used with something like Alexa (or google home, or apple homekit).
For reference the current v3 Alexa tags look something like
Switch LightSwitch "Light Switch" {alexa="PowerController.powerState"}
A more complicated group metadata might look like
Number Temperature "Temperature [%.0f F]" (Thermostat) {alexa="TemperatureSensor.temperature" [scale="Fahrenheit"]}
Number HeatSetpoint "Heat Setpoint [%.0f F]" (Thermostat) {alexa="ThermostatController.upperSetpoint" [scale="Fahrenheit"]}
Number CoolSetpoint "Cool Setpoint [%.0f F]" (Thermostat) {alexa="ThermostatController.lowerSetpoint" [scale="Fahrenheit"]}
Number Mode "Mode [%s]" (Thermostat) {alexa="ThermostatController.thermostatMode" [OFF=0,HEAT=1,COOL=2,AUTO=3"]}
where we use the “Alexa” name space to set specific meta data that can be read by the skill. See https://github.com/openhab/openhab-alexa/blob/v3/README.md#version-3-v3-item-mapping for more info.
In OH the semantic data is auto generated for certain tags:
for example, an item with a simple tag
Color F2_Lamp_Color "Lamp" (F2_Bedroom) ["Light"]{channel="hue:0000000000:color"}
produces this meta data:
"semantics": {
"value": "Point_Control",
"config": {
"relatesTo": "Property_Light"
}
}
}
Thanks!