Cortana (Xbox, Windows (Phone/OS) Integration (with Simple SmartThings App)

Great! It will be great if the SmartApp you’re working on can be what we need on the ST side of things to interact asynchronously with the Xbox app considering what we are trying to achieve in a seamless user experience.

1 Like

I’m not actually working on anything :slight_smile:.
The WebSmartApp is already written and ready to be deployed (cough “published” for using Smartthings terminology).

mappings {
path("/switches") {
action: [
GET: “listSwitches”
]
}
path("/switches/:command") {
action: [
PUT: “updateSwitches”
]
}
}

That’s really all you need to get access to everything running on the hub (in this specific case “switches” but whatever, you get the idea).
Too bad only people with a strong Dev-Fu would be able to “install” that websmartapp since Smartthings don’t let people sharing smartapps using the store.
So there is no point in “wasting” time writing an XBox GUI if only developers can install the smartthings side. Does it make sense?

Interesting! Well we won;t be “sharing” the app. It will simply be published on the ST store or something to make it easy for anyone going the Xbox route to easily install it.

As far as I know with researching ST, we need to get all rooms.locations, devices, groups, routines, and any other types of objects ST hub is used to manage. Then Async interaction. It’ll be great if this can be banged out asap while I continue with the Xbox side then tie them together at some point when each side is ready, I updated the piece of code you provided for the other types of objects, not sure if that covers everything, assuming I updated it correctly. Hopefully, we can quickly figure out how to get all these objects and auto-populate the UWP voice command definition file on first connect and updates every so often and also on-demand for any changes without having to manually recreate all ST objects in the UWP app:

mappings {
path("/devices") {
action: [
GET: “listDevices”
]
}
path("/devices/:command") {
action: [
PUT: “updateDevices”
]
}

path("/rooms") {
action: [
GET: “listRooms”
]
}
path("/rooms/:command") {
action: [
PUT: “updateRooms”
]
}

path("/groups") {
action: [
GET: “listGroups”
]
}
path("/groups/:command") {
action: [
PUT: “updateGroups”
]
}

path("/routines") {
action: [
GET: “listRoutines”
]
}
path("/routines/:command") {
action: [
PUT: “updateRoutines”
]
}

path("/switches") {
action: [
GET: “listSwitches”
]
}
path("/switches/:command") {
action: [
PUT: “updateSwitches”
]
}
}

Wow you are on the piece!
The code I posted is straight out from ST documentation, I tried it and it worked flawlessy with curl
After the proof of concept was established (and got enough to have a couple of times the data I needed I just abbandoned the project since I read on the forum that ST didn’t approved apps for months (if at all)

Let’s hope, It would be just such a simple groovy source that I I have no clue why the feature isn’t already avaible as a default smartapp.

1 Like

I love you guys. Keep on the great brainstorming and work!

1 Like

Most of the apps I use come from the Community. Take a look at the subject Community Created Smart Apps right here in this forum. You may make it to the ST store some day but, that doesn’t have to stop anyone from sharing in your work. Get this code on GitHub so the rest of us can play too.

1 Like

there is no code to share :expressionless: If an user is advanced enough to even know what a Git repository is then the smartthings side of the equation is trivial (the websmartapps example in the official documentation is all I used for my needs).

Rant

A bunch of other developers are waiting for smartthings to let “publish” the smartapps that they need to have their services query the devices.

more pointless rant

Smartthings seem to have embraced the “everything must run on their server” philosophy and everything should stay in the limit of the framework. (no global variables, no user space for temporary files, no decent real time debugging tools, chopped up java/groovy env etc.). I think the websmartapps service it;s being introduced to make developers stop complain and the feeling is that they hate having to deal with it.

insubstantial opinion

If you expose everything to an external service nobody is going to use their groovy infrastructure and I’m sure a lot of employers there don’t really like that idea either (introduce here awkward laugh).

HI,

any news about that. I will gladly help to achieve the goal. Already did some dev for ST for my own IoT.

Still looking of a way to control Xbox via ST and my ST via Cortana from Xbox ( on windows possible with Cortrigga ).

Let me know how can I help.

Regards

sub’d, hoping there will be a nice step by step write-up/how-to for getting Cortana into ST.

my plans are to dust off an old ASUS EEE Slate tablet, frame it and mount it on the wall as a command center device… maybe use SmartTiles as the main screen for visual.

I already use Echo and Siri with ST.

Cortana Skills kit is in preview.

Not sure if folks are playing with it yet (Sadly i’m not great at the dev side) and having issues with configuring the connection between Cortana dev dashboard at the Smartthings Hub using REST

https://developer.microsoft.com/en-us/cortana/dashboard#/action//configuration

If anyone is interested let me know :slight_smile:

Started down the rabbit hole for a dev account, not sure if my company account is interfering with this, but it appears the dev account cost additional $$$ ? Hoping I am incorrect in saying this?

I have interest in cortana but might hang out on the sidelines until it is more mainstream.

1 Like