New SmartThings Alexa skill (2020)

I updated my smartthings app yesterday and noticed that my virtual contact sensors that I setup on smartthings are not triggering Alexa routines anymore even though alexa can “see” and registers the opening and closing of the virtual sensors. Any solutions to this? I really hope there is a solution to this, please for the love of god !!!

We are working on it, and finally have some leads thanks to the community assisting with our investigation.

2 Likes

Even if you get this fixed, is there going to be a way to create virtual contact sensors with switch capabilities in the future?

I need to be able to trigger an Alexa routine when something happens in SmartThings (I have a SmartButton that when pressed, turns on a virtual switch, and I want to have my Echo devices make an announcement when that virtual switch is turned on. Alexa routines can’t currently trigger based on the status change of a switch.)

People have in the past worked around this by creating a “virtual contact sensor with switch capabilities” by pasting custom device handler code into the IDE. My understanding is that custom device handlers and the IDE are going away soon, so I don’t want to set something up that will just break and be unsupported.

1 Like

The IDE in its current form will go away with the sunset of the legacy platform but something will probably replace it. It is a way off yet.

Custom device handlers are not going away at all. Custom device handlers written in Groovy via the IDE are going away eventually, but so are standard device handlers written in Groovy. So whatever replaces it will be available for custom device handlers.

Yeah as long as Alexa is fine with a device that is both a switch and a sensor. There is no restriction for it in the SmartThings voice service.

Since August 2018 this has been handled on the smartthings side. A DTH was used which had both the capabilities of switch and sensor.

SmartThings Exposed this to echo as two different devices: one that was a switch and one that was a sensor.

When you turn on the switch, the sensor opened. When you turn off the switch, the sensor closed.

This worked fine up until April of this year in both the new V3 app and the classic app. And worked fine with Alexa.

1 Like

@JDRoberts your FAQ is exactly what I was referring to. I’ve been migrating everything to the new app recently, but haven’t set up the method you describe yet, as I’ve been concerned that it would be going away with the loss of the IDE, etc.

Also, I was hopeful that Samsung/SmartThings was working with Amazon/Alexa to make a more direct, supported way to have a SmartThings event trigger an Alexa routine via what can be accomplished within the app (perhaps via a typical virtual switch, not something that has to be set up in the IDE with custom code).

You make references in the past tense, that it worked until April. I know that there’ve been problems with Alexa routines not firing or being delayed, which has been happening to us. Is your impression that the method in your FAQ is going to continue to work once they identify and resolve those issues? Or do you think we’ll all have to find an alternative solution? Or be left abandoned?

I’m not sure, and don’t feel confident in predicting the future. There are multiple possibilities. :thinking:

Right now, the old Alexa skill is scheduled to go away in a month or so and the new Alexa skill has two known issues which are not actually bugs:

One) it exposes all smartthings connected devices— It doesn’t allow you to specify which ones, which the old skill did

Two) doing this creates duplicates for any devices which are also connected via their native integration.

Smartthings engineering is aware of this, and seems to consider 2) an issue that should be fixed, but 1) Less important. There was much discussion of this in existing threads so I won’t go into all of it again.

In addition, there are three known bugs that occurred with the new skill

  1. Child devices were no longer correctly exposed to Alexa, so that many devices stopped working with the integration. Fibaro dual switches are a good example.

  2. some customers, but not all, report that virtual sensors of many different kinds are no longer triggering Alexa routines. This is not all customers and has been erratic, with the devices not working then working again for a few hours or a few days, then failing again. :disappointed_relieved:

  3. at least some customers who have multiple locations reported under the new skill the devices are all mixed together, which they were not under the old skill.

I’m not sure what’s happening with 3). Engineering is aware of 4) and is working on it and just said this morning that they now think they are zeroing in on a diagnosis. I haven’t seen any official responses to the multi location issue yet.

There is one other additional Longterm issue, which is the one that you just raised:

  1. on the old platform it was very easy for an individual customer to create a virtual device using the IDE and a copy/paste method. Or the virtual device creator smartapp. These were simulating hub-connected devices. Groovy is eventually going away (probably not until 2021) and smartthings has not Yet released the exact procedure for creating a custom DTH for a physical device that is connected directly via zigbee or Z wave.

And they haven’t said anything one way or the other as to whether there will be an easy way for an individual customer to create a virtual device on the new platform or whether it will require setting up a developer account and hosting a device as though it were a cloud cloud connection instead of a direct. We just don’t know. ( I have asked, twice, but did not receive an answer.)

So… I feel confident that engineering is doing its best to try to get the old platform virtual sensors Which use groovy DTHs to work with Alexa routines again Under the new Alexa skill. (4 above.)

I can’t tell whether any work is being done on three or five above.

They have said they are going to work on the duplicate devices issue, but I’m not clear on the technical approach to that.

I do not feel confident that they are going to work on changing the “all or nothing“ integration approach.

And I do not feel confident, to respond to your specific question, that we will be able to create virtual switches as easily once the IDE goes away. But since that’s not till 2021, I am putting off worrying about that too much right now.

Meanwhile, I did create a thread to list some of the alternatives to virtual switches that might be used if they just never come back. I’m not saying any of these are good choices, but they might be worth it for some people:

Sorry, I know that’s a long response with more questions than answers, but that’s my understanding at the moment.

5 Likes

What I don’t understand is why it would be difficult to simply allow users to choose which devices are exposed to voice assistants? There are lots of different reasons WHY people want to selectively choose which devices/routines are exposed. Simply giving users a choice of which ones are exposed fixes ALL the problems, regardless of WHY each person wants that ability. No need for Samsung to understand the various reasons people want the choice, or to develop a different solution depending on what a user’s reason is. Just give people the option to select which devices are exposed.

4 Likes

Thanks JD :+1: That’s pretty much the best summary I’ve read of the current situation…we know the issues but are not sure if and what’s being truly worked on.

A honest response to those issues with some sort of time frame would certainly help everyone. I’m thinkIng a lot of us are sitting on the fence looking at other solutions and I’m for one about to jump ship…I understand problems, but keeping us in the dark with mushrooms and BS is starting to take its toll.

Acknowledge the issues and identify what you’re going to correct…just don’t leave “me” trying to figure out what “you” are planning to do.

TG

2 Likes

^^ this!!!

When you are rolling out major upgrade like this, you have to document and make sure everyone knows what they need to do to get the system running again…

I have been running ST classic and the new app side by side for a while now to make sure everything works in the new app. Then I saw the notification in the new app about the updating Alexa support… Foolishly I followed the abbreviated instruction in there, thinking that is all I need to do to make sure things continue to work in Alexa. But boy was I wrong…

First, nowhere in the instruction did it tell me that I need to disable the Alexa skill that I already had enabled before… I assumed the old skill was simply updated to run with the new app … I followed the link in the new smart things app and enabled the ‘new’ Alexa skill, and Alexa went through discovery and told me it found no new devices… I thought that was it, I have upgraded…

But this is when everything broke, I couldn’t use voice command to turn on any lights that are assigned to room/groups in Alexa. It just keeps telling me ‘something is wrong, try disable/reenable the skill and run discovery’. I did that a couple of times and nothing worked.

Then this is when I posed to the Facebook smart things group, and a helpful user told me that the smart thing skill I enabled is actually new, so I now basically have two smart things skill enabled in Alexa. And I can only find the new one in the skill store via search. This part I feel is where Alexa screwed up, they should have allowed searching go search across your enabled skills so I can find both easily. But I’m any case, I finally found it and disabled the old skill.

After that, I thought running device discovery should then update all the devices and then everything should work… But noooooo… For some reason all the devices in Alexa from smart things continue to be tied to the old skill… Even after the old skill is disabled.

Then I thought oh maybe because the new skill is still enabled, so I disabled the new smart things skill too, but the devices continue to exist in Alexa, I don’t know why they just won’t go away after I disabled the skill.

What I ended up having to do, is to delete ALL of my smart things devices in the Alexa app, and also all of the rooms / groups in Alexa app, then enable the new skill, and run discovery to get the devices recognized correctly again, and after that I had to recreate all of the rooms again in Alexa app to get things all set up again…

The whole thing took so long … Added frustration to the poorly designed Alexa app that doesn’t have bulk device delete functionality, and also laggy UI that required me to wait a second or two Everytime a new UI page loads up in the smart home section of the app… Gosh this is the most horrible migration I have to go through to get something running again…

And I haven’t even tested any of the scenes and routines… Gosh I hope they work and I don’t have to recreate them a again in this awful / laggy-as-hellupdated Alexa app…

Going to sleep now :stuck_out_tongue:

3 Likes

I experienced this last night. I have a “Simulated Alexa Switch” that operates like this:

  • When it turns on (opens) an Alexa routine sets the volume for my bedroom Echo and opens the Thunderstorm Sounds skill (which is set to loop).
  • A SmartThings automation turns the switch back off after two hours.
  • Another Alexa Routine is triggered when the switch closes (turns off) and it performs a “Stop audio on” the bedroom echo (effectively acting like telling Alexa to set a sleep timer for two hours).

When I turned the Sleep switch on or off last night, both the Alexa app and SmartThings app showed the correct switch setting but the routine to open Thunderstorm sounds did not run.

I tried it a few times and gave up. I started the sounds by verbal command.
About ten minutes later it stopped, started, stopped, started, etc…
It was like the routines got queued up, delayed and then started running.

This morning all was working as normal. I think the problem was on the Alexa side. I checked their community forum this morning and saw no mention of similar issues. It also happened on a previous night. Strange behavior….

BTW - I am using the new SmartThings app automations and the new skill

Does this mean the new alexa skill is fixed & works like the old classic skill?

my virtual alexa switches work intermittantly, very delayed, or not at all to trigger alexa routines for voice . I now use simulated motion sensors created in the IDE, and they seem to work fine-use webcore to turn the simulated motion sensor active or inactive based on your particular trigger, and use sensor in alexa routine to make your announcement. Works at the moment anyway :slight_smile:

1 Like

So…this morning I made the decision that I would give ST another shot and try to more or less begin from scratch using the new app and see what happens. I figured either way, if I jumped ship (read as that other option that starts with “H”), I would still have to redo a bunch of stuff, and/or learn new programming and scripting, so I’d begin with ST…here’s what I did:

  • Deleted EVERY device from Alexa that was in any way associated with ST…basically one at time and yes I did have duplicates

  • I also disabled all Alexa routines that were tied to ST. That was a little strange because when I did the original conversion every one of those routines had defaulted to the same name…something like Detail
    Message, I can’t remember exactly. The message text was there, but there was no virtual device name to trigger them.

  • Next I went to the ST app and removed my existing Alexa “voice” assistant or whatever it’s called, breaking the Alexa interface.

  • I waited about an hour and went back into the ST app, and enabled the Alexa function. It was successful and when I went back into the Alexa my ST skill was already there. Didn’t have to select or add the ST skill back.

Good news is, it seems to be working. I’m using the bjpierron virtual switches, both contact and momentary, and they appear to be working. A little slower response than I’d like but the are triggering messages, etc.

I have about 23 Alexa routines for voice response triggers and I’m having to rewrite/redefine each one from scratch. With that said, I’ve done three of my primary ones…enable message, disable message, and goodnight. I’m going to stop now and see how those work before doing the rest.

TG

2 Likes

I migrated using a link on the SmartThings Classic app, causing broken routines and listing my; GE Fan Switch, Samsung Motion Detector, Samsung Motion Sensor, Samsung Leak Detector as showing a now non-supported Alexa Device.

I got it all working again, and I share my steps below and some other fixes.

DEVICES LISTED TWICE IN ALEXA APP:
User added Device to SmartThings app as a Thing, and User added the Devices’ Alexa Skill to Alexa app.

Example of my duplicate device. I use a Honeywell Thermostat. I added the Honeywell Thermostat as a Thing to my SmartThings app to use my SmartThings app(to make changes to the Honeywell Thermostat). I also added the Honeywell Thermostat Alexa Skill to my Alexa app(to tell Alexa what changes I want to my Honeywell Thermostat). Thus device is listed twice in the Alexa app.

Solution… Decide which is more important, accessing on the SmartThings app via touch, or accessing Alexa via voice. Delete the least important, or deal with devices listed twice in the Alexa app. I can delete the Thing from my SmartThings app, or disable the Honeywell Thermostat Alexa Skill from the Alexa app. Then no duplicate device listed in Alexa app.

DEVICE USING OLD NAME:
User did not “rename” the device using the devices’ app. The device name was renamed in SmartThings app or Alexa app, but Alexa server will also get the name from the devices’ server.

Example of Alexa app using an OLD name on a device.
After all my cleaning, app updates, skill updates, I have a Wemo device listing its old name, even though I do not have the Wemo app installed on my mobile or tablet. I originally named the device using the Wemo app, because the directions stated I needed to use the Wemo app, to connect and name the device. The old name resides on the Wemo server. I have never updated the device name in the Wemo app, but I have renamed it in the SmartThings app and Alexa app thinking that’s all I needed to do.

Alexa servers use the Wemo servers for the device name, even though I do not have the Wemo Alexa Skill enabled, nor currently have the Wemo app installed in my mobile or tablet.

Solution for old named devices showing up in Alexa app. Go into the devices app to update the devices’ name on its own server. Otherwise you will see the old name in Alexa app.

MIGRATION HICCUP RESOLUTION:
Here is what I did to get things working again. Clicking on a simple migration link and hoping for the best did not work for me.

1 CLEAN UP DEVICE NAMES
Open Samsung SmartThings Classic App or SmartThings app, rename any device that has an apostrophe. Do not use apostrophes or special characters in any device name or room name. Example: “Bob’s Room” should be “Bobs Room”. “Bob’s Lamp” should be “Bobs Lamp”. No apostrophe.

Go into devices app that originally named the device. Example, use the Wemo app to rename your Wemo devices appearing with old names.

2 MAKE NOTES OF ROUTINES
I created my routines years ago, and have used them without any problems until I tried to migrate. Unless you have a good memory, or basic not-complex routine you will do fine fixing your routines affected after migration. Open Alexa app, make notes of all routines that use a Fan Switch, Motion Detector, Motion Sensor and Leak Detector. Also make notes of any routine that uses a switch or plug. You may find after updates, Alexa app routines are altered, or the need to remove routine completely and create it again to get the routine to work again.

3 LOG-OUT OF APPS
You may have multiple users in your household using the account. Log-out on all devices using SmartThings Classic app and/or Samsung account. Log-out of all devices using the Alexa app. Power-off any device using the SmartThings app, since there is no log-out option on that app.

4 ON A COMPUTER:
On a computer log into alexa.amazon.com .
In left menu click SmartHome, click Devices, in the top-right select, ‘list by name’ to easily review the list. Remove each device, except your Thermostat Device, or Alarm devices.

On the left menu select Skills, disable your SmartThings Classic Skill, disable SmartThings Skill, disable all Skills from other switches and plugs.

Log-out of alexa.amazon.com

5 WAIT 10 MINUTES

6 ON A COMPUTER:
On a computer log into alexa.amazon.com
On left menu select SmartHome, Skills, search and enable SmartThings Skill, link account to Alexa.
I did not enable my Wemo Skill, but Alexa found those Wemo devices and they are online again. You may also find you do not need additional skills for Alexa to work with all your devices.

Log Out. Wait 10 minutes.

7 GO TO ALEXA ECHO DEVICE:
Say Alexa Discover Devices.

Power-on your mobile, open SmartThings app. Review status of devices. All online? Open and log-on Alexa app. Select Device tab, select all devices. Review list of online devices.

All Alexa routines that used a plug or switch will need to be reviewed, updated, tested.
You may find that there are Alexa routines that need to be deleted and re-created to get it to run again.

This is what worked for me. Feel free to edit this hopefully-almost fail-safe list for those few having hiccups with the migration.

Hope this helps someone resolve their migration issue, before they get a migraine.:grinning:

EDIT:
My child devices did not show up in Alexa. I had to create virtual switches (for the first time) and now everything is working again. Thank you Eric@Inovelli.

1 Like

I tried this except I forgot to remove Alexa as a voice assistant and I did NOT wait an hour.
I enabled the SmartThings skill and Discovered all of my 31 devices.
I setup a test routine in Alexa to play a sound based on a virtual switch.
It acted like before - set a virtual switch on or off was reflected in both apps, BUT the Alexa routine did not SEEM to run.
So I started all over - the ST Skill was disabled but as I was deleting ST devices in Alexa, the sound played repeatedly - they were queued up.

TOTAL B.S. !!!
I don’t know whether Samsung wrote the skill or Amazon, but it sucks!

Gonna wait a while and try again…
**EDIT **
The second attempt did not resolve the problem either BUT by the next morning the virtual switches were functioning normally and the Alexa routines execute promptly. Will it last??

I saved screenshots of 15 of my Alexa Routines so it should be relatively easy to recreate them.

EDIT
I sent SmartThings support an email including the text and links to my posts and @TGreenway 's post

Received this reply:

This email is to notify you that we have created a support ticket for your request. Kindly note that our reply may be delayed due to a sudden volume increase. We will follow up with you as soon as we can. We deeply appreciate your patience.

In the course of investigating, our team may look at logs from your Hub and devices. If you have any questions or concerns about this, please let us know.

Warm regards,

The SmartThings Team

Amazon doesn’t typically write these skills… The vendor does. So in this case, it was most likely Samsung/SmartThings who would have written it to communicate with the New ST API, as opposed to a previous Groovy SmartApp.

Thanks! I just figured that out after reading some posts on the Amazon forum.

Samsung really needs to address this issue!!

I haven’t been following this topic but I got an email from ST about new Alexa skill. I enabled it and gave it a test using new ST app automation. When light turns on Alexa should say “light is on”. Instead, Alexa said something like" f d 2 k j h g 31 j 4 degrees f c 1 c s g 9 j u 6 d s ya g u 5 degrees r e w 1 6 u j h g d e 2". :+1:

1 Like