WHY do you have to develop blind not knowing what SmartThings will POST to your endpoint?
The life cycle events are fairly well documented.
https://smartthings.developer.samsung.com/docs/smartapps/lifecycles.html
WHY isn’t there a web UI to design how your plugin will look with the JSON you send back?
Customization of the UI is not supported in the new app today. We are working on custom capabilities that will make use of custom UI plugins.
WHY is OAuth2 being renamed instead of just being OAuth?
Not sure what this question references
WHY is there no web dashboard to do this in, and everyone forced to do inside a phone app?
No actual development is done inside the mobile app. You view the results of your app/automation there. You can run the app in a VM on your desktop if you want to.
WHY do you have to continually “install” and "uninstall"your “SmartApp” when it breaks or doesn’t complete its setup?
Is this a question about “classic” smartapp development?
WHY do you have to check the “Live Logging” for the “network error” details when you are in “Developer Mode”?
Where would you view this information on the phone?
WHY is there no multi-language support?
There is.
WHY is there no connection between a personal access token and a “SmartApp” access token?
Personal Access Token is a user principal scoped to a specific user for development purposes. The personal part means it is your token. App specific tokens are just that, scoped to the app.
WHY is an access token only valid for 5 minutes?
The short lived token that is sent with a callback is only valid for five minutes because it is meant to be throw away. The long lived token and refresh you get follow the standard oAuth pattern. Short lived tokens allow the app to take some immediate action without the need to burn your token and refresh.
WHY are “configuration” and “healthcheck” some form of “capability” you can add during CONFIGURATION?
A device can have a health check capability and can also be configured?
WHY is the documentation so full of mindless abstract jargon and Samsung unable to ever commit to when they will be updating it?
We are updating it. If you have specific feedback I am happy to hear it.
WHY is the SmartThings Hub listed as a device you can talk when … you can’t?
Are you asking why it’s listed in your devices as a thing?
WHY do you have to delete subscriptions to update them?
Not sure what this means.
The JSON examples don’t work in any JSON linter. They’re invalid syntax - e.g. many have trailing commas.
We user swagger internally to generate the examples
The API requires posts as JSON objects, not url-encoded form fields: not a bad thing in itself, but it’s not exactly clear.
Pretty standard since we are’t processing form fields from a url.
The permissions are wrong: although it might state to include
i:deviceprofiles
as a scope, the actual one isi:deviceprofiles:*
(note the asterisk). That’s why configuration screens crash without explanation.
The docs could and will be improved here but there is a reason for the *
The capabilities aren’t as stated - many have a status of
proposed
.
They are as stated but are currently in a proposed state.
Elsewhere in the article it seems much of the information is mixing up our old classic platform with the entirely different new way of doing things. The classic documentation is clearly labeled as such and is only there for legacy reasons at this point.
@JDRoberts is not a veteran developer on the platform.
There is a lot more but I figured we could start the conversation here.