I yesterday started and finished (into a working prototype) a Cortana skill for the HABot. To the people who created HABot, WOW thanks, it made everything so amazingly easy. By no means it the Cortana skill finished, but way more than half way.
What I am looking for now are testers (I have 30 spots), and permission to launch it as an official channel for openHAB/HABot on the Cortana Skills Store once it is finished.
Its is built on the Microsoft Bot Framework, and right now I am hosting it (through my company) on Microsoft Azure. Basically what it does is create a “nice” login experience and forward queries to the HABot.
If granted permission the login experience can be greatly improved if the bot is granted OAuth access to myopenhab.org since that can be automatically handled by Cortana and other channels (Basic auth is not preferred on those channels)
Make sure everything is spoken and test the voice only interface on the Invoke
Questions for the maintainers and community:
Since this is built on the Microsoft Bot Framework, and using standard items (and basically just transforming calls to HABot) it can be launced on Skype, FB messenger and a host of other platforms with basically one click. Are there an interest in that? That way HABot is instantly accessible on basically all communications platforms (like Phone, Text and Email if I can get the login experience to work properly)
My goal was to get Cortana to speak directly with openHAB and HABot made it possible in less than a day. Thanks for that.
(Btw everything is setup with CI, so feel free to make PR’s the results when approved will be instantly available on the channels)
Note on service: Since this is running on my company’s accounts everything is good so far, if the popularity suddenly explodes (and costs also) I retain the right to pause the service until I can figure something else out. (The bot channel runs on the free level now)
If you want to be a tester, DM your Microsoft account email, and I will enable the Cortana skill for you.
Very cool initiative! I looked into the MS Bot Framework a while ago and saw it as a nice potential way to put HABot on more channels (Slack, Telegram are especially interesting), so I’m pleased you have done an actual implementation so fast. It’s a bit of a shame that Cortana skills support only US English since HABot can also “speak” French and German - which is I think the biggest userbase. Nonetheless even if I don’t personally use Cortana, I’ll still set it up on one of my Microsoft accounts, because I’m very interested to see it in action.
OAuth should definitely be the way to go, storing credentials are never a good idea - I don’t know where they are stored, locally or on the cloud, but especially if they end up in the cloud it’s a big no-no… I don’t see a problem with adding another OAuth2 flow for the Cortana Skill to openHAB Cloud; I invite you to open an issue at https://github.com/openhab/openhab-cloud/issues to discuss it further with the maintainers there.
We’re not quite there yet, I think; this would have to be discussed with @kai - but I’ll assume that if there’s infrastructure behind it, to become “official” it would have to be owned by the openHAB Foundation.
They do as of now, I know it is a big no no (especially from an openHAB perspective, but since the credentials are needed for the myopenhab.org connection, I cannot even one-way-hash them I will open an issue for the oAuth because that is what is best! (But I could not wait for that, I wanted to test if it worked now now now
My point was simply, I would put more effort into getting it to primetime and launched in the store if there was interest in it from the community I was not asking to launch it today (or tomorrow)
Ran into a bug already I tried to connect, gave permission, and had the login form, but I entered wrong credentials by mistake
(by the way you might want the password field not to show the password in clear text!)
Now I couldn’t connect anymore even if I “disconnect” the skill, when I tried again I didn’t get the login form, only an error message: “Sorry, it looks like something went wrong”. What I had to do is to change my myopenhab.org credentials to the wrong ones I used.