From Amazon Developer console the skill works fine. From https://echosim.io/ and the echo itself it does not work and responds with the “requested skill took too long”
From the echo it does appear that it heard me right… I don’t see anything in the homeassistant.log file. The live log in my Sophos firewall doesn’t appear to be blocking anything… (thought maybe the requests comes from somewhere different…)
Any thoughts as to where I should start troubleshooting next?
*** Added “Logger” to Configuration ***
- I can now see that it IS making it too HomeAssistant:
From Echo:
16-12-26 16:26:33 homeassistant.components.http: Serving /api/alexa to 72.21.217.162 (auth: True)
16-12-26 16:26:33 homeassistant.helpers.script: Script Alexa intent LocateIntent: Running script
16-12-26 16:26:33 homeassistant.helpers.script: Script Alexa intent LocateIntent: Executing step call service
16-12-26 16:26:33 homeassistant.core: Bus:Handling <Event call_service[L]: service_data=message=The location of home has been queried via Alexa., service=notify, domain=notify, service_call_id=140256008299968-1>
- So to be clear it works when ran from the test in the Amazon Developer Console, but not from Alexa…
FROM Developer Console:
16-12-26 16:33:00 homeassistant.components.http: Serving /api/alexa to 72.21.217.137 (auth: True)
16-12-26 16:33:00 homeassistant.helpers.script: Script Alexa intent AlarmIntent: Running script
16-12-26 16:33:00 homeassistant.helpers.script: Script Alexa intent AlarmIntent: Executing step call service
So I’m not sure why the wrong intent was being used (Only from Echo / Echo SIM)… (So I removed the other intent for testing)… Then it was using the right intent, but only following the “ELSE” in the if statement. THEN I figured out how to use custom slots in the dev console… I think my main problem may have been related to a language thing…So it worked from the JSON package in the dev console… but since Echo / Echo SIM have to interpret verbal commands they live by another set of rules… Long story short… I was trying to use literals or other built in slots… instead of defining them as a list in a custom slot… And its working.