- I followed your previous example to modify the labels. When I modified the fanSpeed label as “Fan Speed 11” for example and uploaded in device profile UI. The fanSpeed label did change in the beginning.
But I modified to another label name like “Fan Speed33” and uploaded again. I checked the label in smartThings APP. Same after I disconnect and connected again my cloud connected account. The fanSpeed label is still the previous one. I use get a device configuration API to check. It did updated. Why my device didn’t show the latest one?
API | SmartThings Developers
https://api.smartthings.com/v1/presentation/deviceconfig?presentationId=ST_f19d367f-93b4-48e8-88d1-fd71fb78d489&manufacturerName=0A6z
The json response:
{
"mnmn": "0A6z",
"vid": "ST_f19d367f-93b4-48e8-88d1-fd71fb78d489",
"version": "0.0.1",
"type": "profile",
"dashboard": {
"states": [
{
"component": "fan",
"capability": "switch",
"version": 1,
"idx": 0,
"group": "main",
"values": [],
"composite": false
}
],
"actions": [
{
"component": "fan",
"capability": "switch",
"version": 1,
"idx": 0,
"group": "main",
"inline": null
}
],
"basicPlus": []
},
"detailView": [
{
"component": "light",
"capability": "switch",
"version": 1,
"values": [],
"patch": []
},
{
"component": "light",
"capability": "switchLevel",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "refresh",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "healthCheck",
"version": 1,
"values": [],
"patch": []
},
{
"component": "fan",
"capability": "switch",
"version": 1,
"values": [],
"patch": []
},
{
"component": "fan",
"capability": "fanSpeed",
"version": 1,
"values": [
{
"key": "fanSpeed.value",
"enabledValues": [],
"label": "Fan Speed33"
}
],
"patch": []
}
],
"automation": {
"conditions": [
{
"component": "light",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "light",
"capability": "switchLevel",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "healthCheck",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "fanSpeed",
"version": 1,
"values": [
{
"key": "fanSpeed.value",
"enabledValues": [],
"label": "Fan Speed33"
}
],
"patch": [],
"exclusion": []
}
],
"actions": [
{
"component": "light",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "light",
"capability": "switchLevel",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "refresh",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "healthCheck",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "fanSpeed",
"version": 1,
"values": [
{
"key": "fanSpeed.value",
"enabledValues": [],
"label": "Fan Speed33"
}
],
"patch": [],
"exclusion": []
}
]
},
"presentationId": "ST_f19d367f-93b4-48e8-88d1-fd71fb78d489",
"manufacturerName": "0A6z"
}
Modified the json file which was dowloaded from device profile UI.
{
"mnmn": "0A6z",
"vid": "ST_f19d367f-93b4-48e8-88d1-fd71fb78d489",
"version": "0.0.1",
"type": "profile",
"dashboard": {
"states": [
{
"component": "fan",
"capability": "switch",
"version": 1,
"idx": 0,
"group": "main",
"composite": false
}
],
"actions": [
{
"component": "fan",
"capability": "switch",
"version": 1,
"idx": 0,
"group": "main"
}
]
},
"detailView": [
{
"component": "light",
"capability": "switch",
"version": 1,
"values": [],
"patch": []
},
{
"component": "light",
"capability": "switchLevel",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "refresh",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "healthCheck",
"version": 1,
"values": [],
"patch": []
},
{
"component": "fan",
"capability": "switch",
"version": 1,
"values": [],
"patch": []
},
{
"component": "fan",
"capability": "fanSpeed",
"version": 1,
"values": [
{
"key": "fanSpeed.value",
"label":"Fan Speed33"
}
],
"patch": []
}
],
"automation": {
"conditions": [
{
"component": "light",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "light",
"capability": "switchLevel",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "healthCheck",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "fanSpeed",
"version": 1,
"values": [
{
"key": "fanSpeed.value",
"label":"Fan Speed33"
}
],
"patch": [],
"exclusion": []
}
],
"actions": [
{
"component": "light",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "light",
"capability": "switchLevel",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "refresh",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "healthCheck",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "fanSpeed",
"version": 1,
"values": [
{
"key": "fanSpeed.value",
"label":"Fan Speed33"
}
],
"patch": [],
"exclusion": []
}
]
},
"migration": true
}
I was trying to upload the json file through smartthings cli too:
smartthings deviceprofiles:update 5ea1709c-bf0e-4d92-a695-61635652ca22 -i deviceConfigST_f19d367f-93b4-48e8-88d1-fd71fb78d489.json
But it showed the error.
Error: Request failed with status code 422: {"requestId":"B8108C8B-AE4B-4E71-927B-78FA7B7D6821","error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"NotEmptyError","target":"body","message":"body can not be
empty","details":[]}]}}
- Is that possible I replace switchLevel label as fanSpeed label like this? Which is much easier to realize i18n. It was not working while using the
switchLevel.value
, what is exact the key? I have tried both switchLevel
and switchLevel.value
. Both were not working!!!
{
"mnmn": "0A6z",
"vid": "ST_f19d367f-93b4-48e8-88d1-fd71fb78d489",
"version": "0.0.1",
"type": "profile",
"dashboard": {
"states": [
{
"component": "fan",
"capability": "switch",
"version": 1,
"idx": 0,
"group": "main",
"composite": false
}
],
"actions": [
{
"component": "fan",
"capability": "switch",
"version": 1,
"idx": 0,
"group": "main"
}
]
},
"detailView": [
{
"component": "light",
"capability": "switch",
"version": 1,
"values": [],
"patch": []
},
{
"component": "light",
"capability": "switchLevel",
"version": 1,
"values": [
{
"key": "switchLevel.value",
"label":"{{fanSpeed.value}}"
}
],
"patch": []
},
{
"component": "main",
"capability": "refresh",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "healthCheck",
"version": 1,
"values": [],
"patch": []
},
{
"component": "fan",
"capability": "switch",
"version": 1,
"values": [],
"patch": []
},
{
"component": "fan",
"capability": "fanSpeed",
"version": 1,
"values": [],
"patch": []
}
],
"automation": {
"conditions": [
{
"component": "light",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "light",
"capability": "switchLevel",
"version": 1,
"values": [
{
"key": "switchLevel.value",
"label":"{{fanSpeed.value}}"
}
],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "healthCheck",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "fanSpeed",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
}
],
"actions": [
{
"component": "light",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "light",
"capability": "switchLevel",
"version": 1,
"values": [
{
"key": "switchLevel.value",
"label":"{{fanSpeed.value}}"
}
],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "refresh",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "healthCheck",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "switch",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "fan",
"capability": "fanSpeed",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
}
]
},
"migration": true
}
-
What is the different between:
smartthings deviceprofiles:update 5ea1709c-bf0e-4d92-a695-61635652ca22 -i deviceConfigST_f19d367f-93b4-48e8-88d1-fd71fb78d489.json
and
smartthings deviceprofiles:view:update 5ea1709c-bf0e-4d92-a695-61635652ca22 -i deviceConfigST_f19d367f-93b4-48e8-88d1-fd71fb78d489.json
???
-
What does this mean cannot be certificated if using custom capabilities? I cannot publish my project if using custom capabilities? For example, modify the label or modify the discrete speed of fanSpeed capability?
Custom Capabilities | SmartThings Developers
Devices with custom Capabilities are not supported by the Works with SmartThings certification program at this time.