Custom Capability and CLI Developer Preview

@erickv is this issue resolved? The custom capabilities have not returned in the new app for me

@jody.albritton Is there a way to update the presentation:device-config for my device handler? I did a presentation:device-config:create with an updated input JSON, but it seems the update never applies.

Hi, @cscheiene

Thanks for following-up!

Our team has addressed this issue and they keep reviewing the update under testing stages.

1 Like

Hello, @flannanl

Have you updated your dth’s vid with the one that has been created for your updated device-config?

Also, if you’re testing your custom capability with a virtual device, proceed to recreate it at the IDE.

Hi @erickv,

So I did find the vid has updated and I did reference the new vid in my DTH. However, I’m not able to see my custom capabilities in the SmartThings app. Below is what I have for the capabilities:presentation:create. Would you be able to help? Thanks.

{
"dashboard": {
    "states": [
        {
            "label": "{{partitionState.value}}",
				"alternatives": [
					{
						"key": "ready",
						"value": "Ready"
					},
					{
						"key": "notready",
						"value": "Open"
					}
				]
        }
    ],
    "actions": [],
    "basicPlus": []
},
"detailView": [
		{
        "label": "Alarm",
        "displayType": "state",
        "state": {
            "label": "{{partitionState.value}}",
				"alternatives": [
					{
						"key": "ready",
						"value": "Ready"
					},
					{
						"key": "notready",
						"value": "Open"
					}
				]
        }
		},
    {
        "label": "Disarm",
        "displayType": "pushButton",
        "pushButton": {
            "command": "off"
        }
    },
    {
        "label": "Arm",
        "displayType": "pushButton",
        "pushButton": {
            "command": "armAway"
        }
    }
],
"automation": {
    "conditions": [],
    "actions": []
},
"id": "futureforge40388.alarm",
"version": 1
}
1 Like

Hi, @flannanl

As it has been mentioned in previous posts, at the moment our team is reviewing an issue that has impacted the detailView of custom capabilities.

Regarding your capability’s presentation, the state display type has been designed to show the current state of your device and doesn’t provide further action. To display a set of possible commands/values I recommend you to implement the List display type, which will open a list of predefined values to choose.

Also, to make you commands effective, your capability must support setter command which will be used by the presentation’s command attribute, and the arguments passed will be the values assigned at the alternatives attribute (for a better reference, check this post).

For more information about the description of every display type, check the Capabilities API documentation.

Hi @erickv, in my dashboard view, I did want to show the current state of my device. That’s why I use the state displayType. But it does not work. The tile does not show the current state.

Hi, @RBoy

Quick update. Multi-attribute capabilities are not being supported at this moment (in this case the supportedCustomModes that you’ve declared), however, our team keeps reviewing the current architecture for custom capabilities.

For the moment, I suggest you to define a set of global supported values.

Update 2020-12-07

  • At the moment this post was created, multi-attribute capabilities were not supported, including the supportedValues attribute of List display types presentations. Now our development team is working on the support of this feature, starting with the implementation of the supportedValues attribute to enable list commands at runtime.

Erick, can you elaborate on this. How does one define a global supported value?

Also the detailView still isn’t being rendered for a list as shown in this example. Both iOS and Android are showing the other (stock) components in the detailView but completely skips the custom list component. When can we expect this to be fixed?

Hello @erickv,

I must admit I am baffled as to what the state of play is perceived to be now, and indeed if we all have the same experience.

When it comes to the presentation side of Custom Capabilities, things have barely worked in any recognisable way from the day they were released to developers, nearly two months ago. Alpha test/developer preview can only limit expectations so much - we need something to work.

I know I personally was unable to progress after the first week or so because I can do no more than create something that meets the published specs. Nothing seems to have changed since then. I am not pushing back the frontiers, I am doing Noddy and Big Ears stuff compared to what many will need to do in the next two months.

Even simple things like displaying a state on the dashboard doesn’t work as detailed in the API (which is all we have to go on). Yes I get a state, but it is stuck on one value. As for an action, the best that happens is the app doesn’t crash every time it is tried.

As for the detailView, that did start off displaying something. Not working according to specs but at least showing something. However for the last however long it is - it seems like weeks now - there has been nothing in the detailView for custom capabilities at all, just the broken dashboard tile. It’s not just me. It doesn’t seem to work for quite a few people, possibly any developers at all. Sometimes it sounds like you have it working, but if you do then you are not having the same experience that many of the rest of us are.

After today’s splurge of news, I’ve gone from frustrated as how things are progressing to highly concerned. There seems to effectively be a two month deadline to do 100% of the work.

Graham

8 Likes

:100: Now that there is a hard 2 month date, it’s quite concerning that I haven’t seen a single dev successfully update their DTH with a custom capability that works in the new app.

8 Likes

Agree with the rest of the sentiment here @erickv

Whether or not your team wanted it - you have just been put on a hotplate. Every single DTH dev worth their salt is here asking you guys to put on the turbo boost. We need a working beta and we need it two weeks ago.

@blake.arnold, @jody.albritton - get these guys some help please. they’re very important to success. If Graham, Rboy , Jimmy, Tony, and the rest of your best community devs out there can’t update these custom devices you haven’t begun to understand the amount of hell the end users are going to unleash. its hard enough with a Classic app to be able to temporarily fall back on.

1 Like

Yep - we’re well aware of the impact of this. Ideally things should have worked well when we beta released it but they unfortunately got borked by an update to the device plugin. Hotfix should be coming later this week that gets things back on track and if there are any further issues we’ve already let the team in Korea that runs the device plugin know that we’ll need a rapid fix. We’ll be here with updates.

5 Likes

Totally agree with that statement. Seems like ST has too many irons in the fire right now, and the result could be very broken features with many more months of waiting for small incremental fixes, with more bugs being introduced at the same time.

4 Likes

@nathancu @orangebucket @johnconstantelo @prjct92eh2 @GSzabados @RBoy

I am paying very close attention to the progress of the plugin team and will be expediting and reporting any issues you folks find as you work on your respective projects. Once the update goes out and you are able to start working again, please do report any and all issues you come across to this thread ASAP.

4 Likes

@blake.arnold

I’ll paraphrase what I asked you 4 months ago.

Maybe I am a complete idiot, but wouldn’t it make sense to fix the new app first BEFORE you announce an end date?

As it is you are losing users on a daily basis who open the new app, which doesn’t work as they expect or as you’ve promised for months, and with 2 months to go you’re still making promises to devs and users alike?

What is currently a discordant, disorganised, shambolic mess looks like becoming in 2 months an era defining end to a platform for advanced users, and all in slow motion.

3 Likes

I know I have been banging on about this, but I think it is worth repeating that there are two issues of concern with the device plugin:

  1. If ‘working’ is defined as functioning as described in the published API, the plugin hasn’t actually come close to working with custom capabilities since day one. Hopefully that is something that will be resolved sooner rather than later. We just need a fixed target of an API that is correct, and an implementation that matches it.

  2. If ‘working’ is defined as functioning as described in the published API, the plugin isn’t working for a lot of the standard capabilities either. I don’t think we can do anything about that and nor do we necessarily want to, but …

By 2), I mean the only way to know what we are going to end up with is a good old fashioned ‘suck it and see’. For example, we can ask for the temperature to appear in our detail views, but if we think we are going to get it displayed with a slider as defined in the capability presentation we can think again, and if we think we are going to get separate temperature and humidity tiles we can jog right on. Under what circumstances we get ‘Quick Controls’ on the device view page also remains a complete mystery, but if we have any influence on it, no one has told us.

It seems to me that when it comes to standard capabilities, the API is a list of things that we would be seeing had the plugin team not come up with things they thought were way cooler and implemented them instead. They may be right, but it doesn’t help when we are working to generate device presentations that seem to be little more than a starting point in negotiations.

G.

2 Likes

Is there any way to define the order of the capabilities in the detail view? Back when it was working, the devices with multiple capabilities would display them with the dashboard capability first and the rest of the capabilities in alpha order.

Sadly I’m one of the users they’re now losing, because I did exactly that. Opened new app and none of my custom DTHs work that I need.

My choices are wait for the overhaul to launch and re-do my stuff, or move now to an offline platform and re-do it once and for all. I chose the latter option.

The thing is I love SmartThings. I feel like they got it right, in the beginning. But now it’s just another home automation solution that no longer works well for advanced users, and is entering a saturated market for novice users.

Nobody won.

3 Likes

The custom capabilities are back! :sweat_smile:

2 Likes