Problem getin Alexa work with intents

I tried the possible Alexa command from here

the one with emulated hue is working but not what i want so i tried the next with creating intent on developer.amazon.com.
I follow the instructions and get the skill show up under my skills in the Alexa up, but having problems.

I use Alexa in German, when saying Alexa, start Home Assistant or similar, i get the answer “I can not find that skill”. Also when using the test tab on the developer website i get an error

The remote endpoint could not be called, or the response it returned was invalid.

I have setup hass with https and it can be reached from outside, using this url in developer tests but with that error.

Can someone help me get it working?

I use hass 38.3 on Ubuntu Server in Docker container.

If you need more info please ask.

Did you provide your HTTP password with the url?

Also I ditched Alexa because I am not able to get it to work with english skills as my amazon account is with amazon.de it defaults me to german. You change your skill language to german btw. which should work perfectly fine if you have the responses in german as well.

I just prefer english ^^

~Cheers

Yes, api password is added and correct. I have all in german, alex as outputs and the skill setting. But i can not get Alexa to open “home assistant” or use the test section to get a response.

Just did a quick confirm. Alexa is still working for me.

what did you use at trigger word for home assistant? maybe that’s a problem.

~Cheers

i use “home assistant”, but that does not explain why i get an endpoint error when using the test section in developer section.

Sorry I missed that error log entry. Do you get any info from the homeassistant log? Maybe try to rise the log level to error.

~Cheers

I just added the logger but the output is massive, what should i search for? I am not sure that amazon is reaching my hass server. But the https url is reachable from outside, i open hass with that url. When using the https url with api password i get Method not allowed. Do i need to activate something before that can work maybe? I have the Alexa section in my configuration file but not sure if that works. I do not get errors but i also not see anything that tells me it is running.

First off the “Method not allowed is ok” Your browser is doing a GET request but the api wants a POST request iirc, so that is expected behavior.

I will check my logs real quick and report back.

~Cheers

The log entry I got was

17-02-16 11:42:15 DEBUG (MainThread) [homeassistant.components.alexa] Received Alexa request: {'session': {'attributes': {}, 'new': True, 'sessionId': 'x', 'user': {'userId': 'x'}, 'application': {'applicationId': 'x'}}, 'version': '1.0', 'request': {'inDialog': False, 'type': 'IntentRequest', 'requestId': 'x', 'intent': {'name': 'TurnLightOffIntent'}, 'locale': 'en-US', 'timestamp': '2017-02-16T10:35:11Z'}}

Anything like that in your log?

~Cheers

So, that could be the problem, i have nothing with homeassistant.components.alexa in my log file. I just added logger: so it should output all.

But i have this in my configuration.yaml

alexa:
  intents:
    WhereAreWeIntent:
      speech:
        type: plaintext
        text: >
          {%- if is_state('device_tracker.paulus', 'home') and
                 is_state('device_tracker.anne_therese', 'home') -%}
            You are both home, you silly
          {%- else -%}
            Anne Therese is at {{ states("device_tracker.anne_therese") }}
            and Paulus is at {{ states("device_tracker.paulus") }}
          {% endif %}

Should be all or not?

Yeah that should be enough. You don’t even have this?

INFO (MainThread) [homeassistant.bootstrap] Setting up alexa
INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=alexa>

~Cheers

Both lines are there but not homeassistant.components.alexa

Maybe because of my certificate config? I have a certificate from lets encrypt, what config do you use in developer.amazon.com in certificate section?

Okay so your component did get set up. But it is never reached from alexa…Do you use a ddns service? Because I had trouble at some point because of to many redirects.

I use a Let’s encrypt certificate as well. And don’t have anything chosen on the SSL config tab in Alexa.

Edit: Just changed that acutally to
“My development endpoint has a certificate from a trusted certificate authority”

~Cheers

yes i use dyndns service from no-ip.com

Do you use that dynamic address in your alexa configuration directly? Like “xxx.dyndns.no-ip.com” or whatever it is…

~Cheers

i have a real domain where i use lets encrypt with and send that to my dyndns url. The url is updated with my local ip if it changes.

And there is your problem…that’s exactly the setup I used but alexa does not like that many redirects. You need a Certificate for your ddns domain as well and configure that in alexa.

~Cheers

i now added an ssl certificate to my dyndns url and used this url in amazon developer, but same error.

If you use your ddns in the browser with https to access https://your.ddns.com/api/alexa?api_password=xxx you get 405 Method not allowed still?

~Cheers