Question about standardTile UI update in SmartThings app

Hello all,

I developed a Zwave thermostat device handler in groovy for my SmartThings Hue V3. I tried a couple of examples from the developer site. I can successfully “publish” the code “For me” (graph.api.smarthings.com) and I can see the result in my android phone that installed the SmartThings app (the latest one).

However, every time I publish a new thermostat example, the result always appended on the top of UI and the “old” UI (from the previous coding) is still exists at the bottom of the UI.

I’m sure that I removed “old” coding before I add new coding in the “My Device Handlers” section.

From the below screenshot, the RED area is from the new coding and the Blue area is from the previous coding.

Would you help me how to show up new coding only in the android app?

Thanks a lot.

First, Please post your full DTH code, preferrably a link to your code in github so we can see the whole thing.

Second - customizing the UI (or ‘device presentation’ has COMPLETELY changed since classic. Most of the stuff in the DTH - especially the items relating to TILES doesn’t do anything at all anymore. Without Custom Capabilities and Custom Presentations for those capabilities producing a VID which you can then implant in your DTH - you wont be able to make many UI changes at all. Learn more here: Custom Capability and CLI Developer Preview - Developer Programs / Tutorials - SmartThings Community

That said, why write a DTH - what device are you trying to setup exactly and what led you down the path of needing a new DTH?

2 Likes

Hi Nathan,

Sorry for my late reply and I really appreciate your quick response.

I have a device handler that is working fine with my Thermostat and Hue V2. And I purchased the Hue V3 recently and I found that the device handler is not working anymore.

My approach is to find some reference design (especially for the thermostat) and then modify it.

Is that the website that I can refer to?

Do you have any suggestions?

Once again, thank you for your support.

Not exactly what I was asking - if you’re looking for how to integrate your Philips Hue hub with ST - there’s a built-in integration and building device handlers aren’t usually required… What device (exactly, model number matters) are you trying to get working I’m pretty sure someone else has already done the heavy lift. (Yes I’m trying to discourage writing a custom DTH if you don’t have to)

I have the Remotec ZXT-600 and ZXT-120 that are works fine with “Classic” app and Hue V2. However, it is not work with new Smartapp and my new Hue V3 anymore.

I also check below “thread” and seeking for any example for any suitable device handler but no help.

Do you have suggestion for my reference?

Thanks.

First to answer your overall question - the current dev docs are here:
https://smartthings.developer.samsung.com/docs

anything older - ignore…

OK - now I follow - this has nothing to do with HUE - it has to do with a poorly maintained DTH.

OK - so the best link in that thread that comes CLOSE to working is THIS DTH:
Ubuntu Pastebin

But there are some significant problems with that DTH - The BIGGEST one is Smartthings no longer supports the ‘THERMOSTAT’ capability and instead broke it into:

So you need to start by taking that DTH linked above and modifying it to:
add all of the necessary capabilities above and then replacing instances that reference the THERMOSTAT capability with their counterparts in the capabilities you added. (In most cases just adding the capabilities in and remarking out the old thermostat capability should work - I believe the actual attributes, properties, methods, etc. of all of the new capabilities match their counterparts in the old monolithic THERMOSTAT capability.)

Just by making that change if you do it correctly - the system should take over and say - oh wait this is a standard capability - I have a way of showing that. And it SHOULD give you some basic controls. (If you don’t use the app a lot like me, this might be enough to get you going)

NOW - once you get the basics in to make it WORK, how to customize the DTH completely changed after last December. They now use ‘custom presentations’ to modify the default display of a capability. ALL Of that is currently in beta - learn more about that here:

Beyond that you’ll need someone with a lot more DTH authoring experience than I have to troubleshoot if it goes sideways…

1 Like

OK, let me try.

Thank you for your support. :+1:

Hi Nathan,

FYI. I did my custom capability based on your given resources.

Thank you for your support.

1 Like

Hello Nathan,

I discovered that the Samsung developer site has a new link for those “Hub Connected Devices” (see below link)

Is that mean I need to develop a “driver” for my ZXT-600 to operate with my Hub V3 ?

Thank you for your support.

Hi Nathan,

Sorry, I found another link “Changes to the Legacy SmartThings Platform”

May I know the time frame for phase 3?

That is suggested, yes. If you have a Samsung Connect Home or a SmartThings WiFi Hub, please consider what I mentioned in this post:

You can base on:

There’s no ETA yet for that. Please, stay tuned to the Announcements and Newsletter (subscribe at the bottom of this page).

Thanks Nayelyz

Hi Nayelyz,

I followed the instruction of the link (listed below) and try to install the SmartThings CLI but was not successful.

After I downloaded the binary for MacOS, I unzipped the file and I got a filename “smartthings”. How can I install it?

According to the instruction in step2, I need to install it and rename it.

  1. Download the appropriate binary from the
    releases
    tab of the github page.
  2. Install it on your path and rename it to “smartthings”. It does not need
    administrator privileges but of course will need to be executable.
  3. Run smartthings --help to make sure it’s working.
  4. Run a specific command with smartthings <command>

Would you help to provide more information about how to install the binary?

Thank you for your support.

You don’t need to install it, only call it for execution. Once you’re inside the directory where the file is in the console/terminal, you need to add ./ (dot slash) before the binary name.

Here are more details about how it works in the case of Unix-based OS.

Hi Nayelyz,

I’m following this tutorial and installing POP OS on my Raspberry pi in success.

However, I failed to complete this command.

smartthings edge:drivers:assign

And I got this message (Please see attached screenshot)

May I know what’s going on?

Apologies, the command in the post was incorrect, the assign command belongs to the channels endpoint:

smartthings edge:channels:assign

I already updated the original post, thanks for pointing this out.

Hi Nayelyz,

OK, it works now. I can walk through all steps.

Then, I have several questions about the new implementation.

  1. For normal users, When a new Z-Wave device is included in the network, what criteria to determine the newly developed UI (lua) or UI (groovy) is loaded for the device?
  2. During the development stage, a Z-Wave device is included in the network and newly developed UI (Lua) is loaded. If there is any UI or feature is updated (or modified), how can the developer refresh the UI?

Do you mean how it’s determined which to use the DTH or Edge driver for the device?
This is the order that is followed when the discovery process is running (this means when the user taps on “scan nearby” or accesses the brand and device through the catalog in the ST app):

  1. Self-published DTH (these are the DTHs that the user saved and published in his IDE)
  2. Edge driver installed
  3. Stock DTH (DTHs officially published by the manufacturer or SmartThings)

Wherever the matching fingerprint is found first, it will become the device’s handler/driver.

It depends:

  • If you make changes to the device profile (add/remove capabilities), you might have to clear the ST app cache (Android devices).
  • If you’re using custom capabilities and you update their presentation, if you’re using a custom VID, you need to create the device-config again. (see more details here)

Note: For all options, you need to package, publish and install the driver again.

Let me know if you have any issues with the update of the device UI and we can discuss it further.

Thanks nayelyz,

Finally I did the following steps

  1. linked up with Github account for the device handler source code
  2. Created a “Product Info”
  3. Have an approved brand

Before I publish my device for public users, how can I test (walkthrough) all steps at first internally?

I would like to download the “self-assessment checklist” but the link is not worked.

Thanks

Your Publish Request is using a DTH, correct?
I’m checking with the engineering team for more details about the “self-assessment checklist”. As soon as I get their feedback, I’ll let you know. :smiley: