Is there a way to use Alexa with home assistant without saying “Alexa say home assistant” or “Alexa ask home assistant” like with emulated_hue? I use the own skill method with intents.
No, every Custom Skill needs his own invocation Phrase.
Maybe it is possible with a SmartHome Skill, but this looks a little bit more complicated with using Lamba and so on.
Would be nice if someone could come up with some code for a smart home skill. Maybe one day
There’s plenty of SmartHome skills, but anything developed as a skill will still have to use an invocation.
Unless you partner direct with Amazon, you can’t bypass this.
In some sense having the invocation word is actually better. Having a skill with an invocation word gives you more flexibility and control. I would agree though, it would be great if you could designate a skill as a “global skill” so it didn’t require an invocation word.
I discovered https://github.com/auchter/haaska recently and it supports connecting Home Assistant to the full Alexa Smart Home Skill API (including locks and thermostats). You can just say “Alexa, dim lights to 50%”, or “Alexa, set the living room to 70 degrees” since it doesn’t need a skill name.
I’ll throw my hat in the ring - I have a Vera Smarthub and just installed their Vera Skill (in beta still). It doesn’t require an invocation. After adding the skill, from the Alexa app I was able to find my light switches, etc, and just say “Alexa, turn off the Kitchen lights” and it is so. So there must be some way of using a skill to create devices which can be named and called upon without a “tell ___ to ___” phraseology.
As @outrun said you can use the Alexa HomeSkills API to trigger intents without an invocation word by using one of their pre-defined commands.
The problem is unlike a custom intent it does not allow you to provide a URI to call upon invocation. Instead you have to use an AWS Lambda. This means you can’t just forward the intent to Home Assistant like you can with a Custom Skill.
It’s probably possible to create a Lambda that proxies the call to the HomeAssistant API, similar to what is described here, AWS Lambda Proxy Custom Alexa Skill when you don't have https
Has anyone tried this or got a working example of proxying the call from a Home Skill via Lambda to a Home Assistant HTTPS endpoint?