Arduino skill cannot trigger Alexa routines

I'm trying to help my son with his EPQ school project. He's done a great job coding a new kind of motion/occupancy sensor using a thermal Omron D6T sensor using Arduino IOT cloud. All works fine and connected to Alexa through Arduino skill....... but although sensor is available in the Arduino Dashboard & Alexa app and recognised as Motion sensor it wont allow it to trigger Alexa routines. There seems to be an issue with the Arduino skills. Is there a work around for this?

Hi @JochemVisser !

It's great to see young students having fun with hardware and experimenting with the cloud!

Could you please be a little bit more specific about your issue?
What kind of variable are you using? Is it "Alexa compatible"?
Can you perform direct actions using Alexa and are only the routines what don't work, or you can perform no actions at all using Alexa?

The variable is Alexa compatible (motion) and working with Alexa we can see the state go from ‘Motion detected’ to ‘No motion detected’ on the Alexa app. It is also showing up as Motion device under devices. However it is not possible to select it as a trigger for an Alexa routine. It simply is not showing up under Smart home as a device you can select to trigger the start of a routine. I’ve seen several other forums with people struggling with the same issue but no solution. It seems to be a particular issue with the accompanying Arduino Skill used to connect Arduino IOT cloud to Alexa platform. I’m just wondering there is a work around? Or should we change platform and use SinricPro? Also tried virtual button set up with LttleNodes and API but LittleNodes Alexa skill to connect the service to Alexa is not available for Amazon UK users. 3 pictures attached, showing Occupancy working and showing in all devices. But when selecting as trigger for routine ( 2nd picture) it will not show up under Smart Home selection tab. According to Alexa developer site Motion, Contact and several other triggers should be accepted. As far as I can guess it has to to with the way the Arduino Skill presents this variable to Alexa. If it doesn’t follow a certain protocol it will not be accepted as a security device/trigger for Alexa Rountine. Your help and advice is very much appreciated.



Attached below the Variable settings he used. We use two Variables as the Omron D6T can also provide a base temperature. An comparative array of temperatures is used to determine if room is occupied or not. Both are available on the Arduino IOT Dashboard and on Alexa app working fine. But triggering Alexa Routine with the Motion variable is not possible. One thing to note. Communication between Arduino Esp32 occupancy sensor and Arduino IOT Dashboard is instant but from there to Alexa can be slow at times and 3-8 second delay.



Thanks for sharing the detailed information.

Integration with Alexa routines is not currently supported by the Arduino Cloud. In order to activate a routine, the "change report" feature is required in the skill. Practically speaking the ability to send asynchronous events (eg. a state change) from the Arduino cloud to the Alexa backend. The Arduino skill does not provide that at the moment (the cloud is asked for the state of a device in a synchronous way).

As of now, the only possible workaround wouldn't involve the Arduino skill. You can think of some imaginative ideas, though. For instance, you could try associating a webhook to a thing and then using and configuring the IFTTT skill to react to the webhook. Then, you can associate the IFTTT skill with a routine.

I hope this helps!

Many thanks for your answer. We actually did what you recommended yesterday.
It involved setting up a IFTTT with a webhook to trigger a Virtual trigger (Alexa Actions) which in turn has its own Alexa Skill. This works but occasionally can be slow to respond. But we did manage to trigger Alexa and all works fine.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.