SmartThings Android App (August 2022)

A refresh handler is installed by default via the zwave template.

Having the refresh capability in the device profile shows the command in the CLI devices:commandslist as well.


The default handler doesn’t deal with sleepy devices properly, but it does run from both CLI and swiping down in the app. I usually don’t use refresh for sleepy devices as its non obvious what it should do.

1 Like

Hi @andresg
The Android app is completely unreliable since the update.
The app will show everything offline when the hub is online and online when the hub is offline. More than half the time the app is unresponsive when trying to control a device.
Clearing app cache doesn’t always fix the app responsiveness or status.
Z-wave refresh doesn’t seem to work.

Hi @csstup

All that is defined in my drivers, in the profile, template and if it has to execute something custom I put a handler for refresh command.
It is also necessary to put the refresh capability in the vid
configuration if the profile has a custom vid, if it is not, the command refresh received from the app is not executed.

All of this has worked perfectly until someone has intentionally or unintentionally touched something.

The problem is that the refresh command is not received in the zwave driver when you slide your finger in the details view and therefore it does not matter what you have defined in the code.

I’m inclined to say it’s not the app’s problem, but I don’t know.


Hi, Terri.

Please, report this issue to the SmartThings Customer Support Team. We cannot help you further in this matter.

A couple questions:

  1. It seems like we now have to have two different labels for each capability. I can understand how this could be useful if you are showing multiple attributes. But what if - like so many cases - there is only one attribute? For example temperature. Temperature is temperature - why do I need a second label? If we are forced to always have two, then what would we normally do: just have duplicate labels that say ‘Temperature’?

  2. I see by looking in your example capability localization that you added:

displayTemplate": “{{attribute}} of {{device.label}} is {{value}}”,

Can you elaborate on what this is used for exactly? Is this regarding the value displayed on the Controls screen or the dashboard or both? Can you give some various examples of how this would be used? Will values still display OK if we leave this displayTemplate out?

And neither can the Customer Support Team. Unless all you need to do is “delete and re-install the app”.

Trust me, I know, I’ve been trying for well over a year to get some improvement in the unusable iOS app.

Support is a joke.

Sorry to be the bearer of bad news.

I was about to say the same thing! By the way, I did delete and reinall the app, no change :slight_smile:

The engineering team already reported this to the plugin team, they consider it not necessary when we have only one attribute.

That was added automatically. It seems that for custom capabilities it is used for the history of the location found in the app “Menu” > “History”.
Currently, this history isn’t showing the value correctly, I tried to update that value but it hasn’t been taken into consideration so far. In the meantime, I’ll create a ticket for the team to check it.


Lol, God bless ya. I stopped after the first couple of times it was suggested.

Ya, over the last year or so I’ve noticed that the SmartThings Customer Support responses are nothing more than an AI computer generated knowledge base response without any actual human brains being used. So, I open a ticket, then keep resending the same information again, and again, over the days and weeks it takes until I break through the computer generated knowledge base responses and get through to a human brain that finally completes the task.

I’m hoping that Edge with the CLI will allow me more access to my SmartThings echo system.

@nayelyz @andresg

There is something new about the problem that the refresh from the app does not work on Zwave devices.
This is causing that when a device that does not have an initial state is installed, it stays in the cloud until the device sends a new state, since when doing a refresh the state of the device is not obtained

Hi, @Mariano_Colmenarejo

Sorry, we still have no news on this issue. I will ping the team again, but they warned us when we reported it, that it was not easy to fix.

But It always worked! :astonished:
App send refresh command, driver receive the command and execute It.

For zigbee works and Zwave defaults does not changed

But, you don’t get the command despite the capability refresh being included in your device profile?

Refresh is in capabilities supported, in profile.
It worked fine until two or three weeks ago

Hello, @nayelyz @andresg

I also confirm that if you do a refresh the device from refresh button it works perfectly.
It seems that it is the App, I use Android

1 Like

Hi, guys

We were trying to replicate this refresh issue, with no luck. We have a few questions that maybe @Mariano_Colmenarejo (or anyone else) can answer.

  1. It is not catched by the driver, but it is shown in the logcat?
  1. We noticed that refresh in detailView is not being triggered when if you drag on the large area at the top of the screen that shows the device name and icon, but it is working just fine when you drag the lower portion of the screen. Is there any chance this is what is messing things up? Important to know that, although this is not an ideal behavior, this is happening for all kind of devices, not just for Z-Wave.

I know that it does not reach the driver because the logcat does not show anything at all
I test with the stock driver Z-Wave Switch too

Refresh doesn’t work for me anywhere in the detail view for Z-Wave

For Zigbee refresh works anywhere in the details view

And from, continues working fine

2022-09-29T20:43:20.350462463+00:00 INFO Z-Wave Switch <ZwaveDevice: bd5c15c7-76f5-4430-b95d-c8ea349e9f61 [1E] (Luz Entrada)> received command: {“args”:{},“capability”:“refresh”,“command”:“refresh”,“component”:“main”,“positional_args”:{}}
2022-09-29T20:43:20.363065796+00:00 TRACE Z-Wave Switch Found CapabilityCommandDispatcher handler in zwave_switch
2022-09-29T20:43:20.715196130+00:00 INFO Z-Wave Switch <ZwaveDevice: bd5c15c7-76f5-4430-b95d-c8ea349e9f61 [1E] (Luz Entrada)> sending Z-Wave command: {args={scale=0}, cmd_class=“METER”, cmd_id=“GET”, dst_channels={2}, encap=“AUTO”, payload=“\x00”, src_channel=0, version=3}

I understand less and less :face_with_spiral_eyes:

With other Phone samsung A12, android 11, with app smartthimgs android refresh works fine in the same device and driver

The Phone that refresh not work with Zwave driver is a Pixel 2 xl, android 11, smarttings app version

I’m not seeing the behaviour that @Mariano_Colmenarejo is reporting.

Refresh works fine for me for Zwave devices.

As a test:

2022-09-29T20:29:54.108723147+00:00 TRACE Inovelli Dimmer Black Series  Received event with handler capability
2022-09-29T20:29:54.114284397+00:00 INFO Inovelli Dimmer Black Series  <ZwaveDevice: 6c7ca9d8-caa0-4845-9193-384c1ada007e [33] (Sleepy Room Lights)> received command: {"args":{},"capability":"refresh","command":"refresh","component":"main","positional_args":{}}

(rest snipped, but the refresh queries the device fine).

As @andresg mentioned it doesn’t do anything if you swipe from the icon/label portion of the detail view, but works fine if its in the “control” area.

It also does a refresh if you swipe down in the History tab. It both refreshes the device as the detail view does, AND it refreshes the history data as well.

This is on Android, version

This device has the refresh capability in its device profile, and has capabilities.refresh in its template.

Hi @csstup

Mine has the capability in profile and template too
Refresh not work in he stock Z-Wave Switch either, the log is with stock driver