I’m using the standard mode capability for operation mode selection on a direct-connected device.
My firmware sends English key strings as the mode value (e.g. "manual", "temperature", "co2", "dust", "cycle"), and I map these to Korean display labels in the Device Profile’s detailView using patch:
{
"op": "replace",
"path": "/0/list/command/alternatives",
"value": [
{ "key": "manual", "value": "수동", "type": "active" },
{ "key": "temperature", "value": "온도", "type": "active" },
{ "key": "co2", "value": "CO2 감지", "type": "active" },
{ "key": "dust", "value": "연기 감지", "type": "active" },
{ "key": "cycle", "value": "주기 환기", "type": "active" }
]
}
This works, but the labels are hardcoded — all users see Korean regardless of their language setting.
I checked capabilities:translations:upsert, but this only works for capabilities in your own namespace. The standard mode capability already has a ko translation, but the i18n fields for attribute values are empty ("i18n": {}), and I cannot modify a SmartThings-owned capability’s translations.
I also checked deviceprofiles:translations:upsert, but it only supports component-level label and description — not capability value labels.
My question: Is there an official, locale-aware way to map mode values (keys) to locale-specific display labels for the standard mode capability? Or is the patch / hardcoded approach currently the only option?
For context, my product is sold only in Korea, so hardcoding Korean labels works for now — but I want to make sure this approach is acceptable for WWST certification before proceeding.
Thanks!