Genie Community Forum

Genie, Home Assistant, Alexa Integration

I see that Home Assistant has an integration giving folks the ability to use Alexa as an interface. Would it be possible to query Genie via Alexa then via Home Assistant?

The Alexa integration for Home Assistant uses the Smart Home skill in Alexa; in other words, it uses a prebuilt skill for IoT devices.

If you want to expose a Genie skill through Alexa, the easiest way is to build a custom Alexa skill that uses a Genie (cloud) server as the fulfillment endpoint. The genie-cloud project used to have an Alexa adapter that could be used either with Genie’s own NLU or with Alexa’s intent system. It was removed in this commit but a motivated developer who is familiar with Alexa could restore it with some effort. The Genie interfaces didn’t change significantly, and I’ll be happy to guide someone through that work.

Thanks, great input! Developmentally, folks like to be able to query test an actual virtual assistant. What sort of skill set would someone need to restore / develop a new Alexa adapter?

Can you explain the Genie cloud server, is this something that exists or something that we would have to setup and host someplace? Connectedly, what would it take to setup a fairly robust server able to support a research program and increasingly sophisticated testing?

By genie-cloud server, I mean this codebase: GitHub - stanford-oval/genie-cloud: Genie As A Service and Thingpedia

We have a production instance of it at almond.stanford.edu (a bit old by now, will be replaced by genie.stanford.edu soon) and a development instance at dev.genie.stanford.edu, and if we merge changes to it will eventually land to our instance, but I would strongly recommend you deploy your own instead so you can test changes, have your own set of skills without waiting for approval, etc.
There is a guide to deploy genie-cloud using Kubernetes, and some example manifests that can be customized for your own environment.

As for development, I think anyone familiar with JavaScript/TypeScript and web APIs, and a minimum of NLP (understanding the concepts behind it) should be able to do to the work. The Alexa APIs are fairly well documented.