I recently bought a Samsung Wind Free AC and I’m using the SmartThings API to connect it to Home Assistant.
I noticed that it lists the capability fanOscillationMode
, but here’s my status:
"fanOscillationMode": {
"supportedFanOscillationModes": {
"value": null
},
"fanOscillationMode": {
"value": "horizontal",
"timestamp": "2021-10-25T21:36:47.745Z"
}
},
You can see that supportedFanOscillationModes
is empty, but it really should contain the supported values.
quering https://api.smartthings.com/v1/capabilities/fanOscillationMode/1
I get the following response:"
{
"id": "fanOscillationMode",
"version": 1,
"status": "proposed",
"name": "Fan Oscillation Mode",
"attributes": {
"supportedFanOscillationModes": {
"schema": {
"type": "object",
"properties": {
"value": {
"items": {
"title": "FanOscillationMode",
"type": "string",
"enum": [
"fixed",
"vertical",
"horizontal",
"all",
"indirect",
"direct",
"fixedCenter",
"fixedLeft",
"fixedRight",
"far",
"wide",
"mid",
"spot",
"swing"
]
},
"type": "array"
}
},
"additionalProperties": false,
"required": [
"value"
]
},
"enumCommands": []
},
"fanOscillationMode": {
"schema": {
"type": "object",
"properties": {
"value": {
"title": "FanOscillationMode",
"type": "string",
"enum": [
"fixed",
"vertical",
"horizontal",
"all",
"indirect",
"direct",
"fixedCenter",
"fixedLeft",
"fixedRight",
"far",
"wide",
"mid",
"spot",
"swing"
]
}
},
"additionalProperties": false,
"required": []
},
"enumCommands": []
}
},
"commands": {
"setFanOscillationMode": {
"arguments": [
{
"name": "fanOscillationMode",
"optional": false,
"schema": {
"title": "FanOscillationMode",
"type": "string",
"enum": [
"fixed",
"vertical",
"horizontal",
"all",
"indirect",
"direct",
"fixedCenter",
"fixedLeft",
"fixedRight",
"far",
"wide",
"mid",
"spot",
"swing"
]
}
}
]
}
}
}
If I try to send that setFanOscillationMode
command, just a few of those arguments work.
But when I query my device’s status after doing that, I see that it does return a list of supported modes inside execute
, but its completly different.
"execute": {
"data": {
"value": {
"payload": {
"rt": [
"x.com.samsung.da.wind.direction"
],
"if": [
"oic.if.baseline",
"oic.if.a"
],
"x.com.samsung.da.modes": "Fix",
"x.com.samsung.da.supportedModes": [
"Fix",
"All",
"Up_And_Low",
"Left_And_Right"
]
}
},
"data": {
"href": "/wind/direction/vs/0"
},
"timestamp": "2021-10-25T22:23:40.564Z"
}
},
So… I think it’s a bug in the firmware and/or the documentation…
More about my device: