0

I work for a company that develops a smart home device.

The company is developing an android application for smart home devices it has developed/designed.

In addition, he wants to control the smart home devices he has developed with the Google Assistant.

We currently cannot use "Custom intents" for the "Voice-enable your Android app" feature. I wish we could add google assistant feature directly to our software independently (without any google home or nest affiliation)... (https://developers.google.com/assistant/app/custom-intents) custom intents; It is not specialized for Smart Home and is not used in local languages ​​such as Turkish.

We are focusing on the Google Assistant feature for Smart Home. (https://developers.google.com/assistant/smarthome/overview)

Scenario 1: There is a way that Google communicates with the developer cloud via Access Token. (https://developers.google.com/assistant/smarthome/concepts/fulfillment-authentication)

Scenario 2: There is also a second way. Here google assistant is communicating with a google home or google nest device (rather than developer cloud). (https://developers.google.com/assistant/smarthome/concepts/local) Obviously something strange is going on here. Google Assistant; It says it will contact google home. Is it the google home app installed on the phone he's talking about here, or a google home app like a speaker? Because at https://developers.google.com/assistant/smarthome/concepts/local#supported-devices, a speaker is shown as google home. If it's not talking about the google home app on the phone, or if it can't communicate with the google home app on the phone, it's not much use to us. Because the user may not have a physical google home product/device.

Neither of these scenarios fits exactly what we want to do. What we want to do is exactly this; Google Assistant should neither communicate with our cloud (to avoid lag) nor should it communicate with a google nest device (because the user may not have such a device). It should communicate directly with our app installed on the user's phone. Google Assistant or Google Home; should tell our application the purpose to be fulfilled. Let's send the request sent to us by google assistant or google home to our device or cloud (whatever options are possible).

Is there such a feature in the local home SDK of Google Assistant? Or is there another way google assistant can communicate directly with our app?

Because it is frankly very strange that google home or assistant try to communicate directly with a smart device when our app is installed on the user's phone. It can communicate with our cloud server, but why can't it communicate with our application installed on the phone?

Google assistant or google home; can communicate directly with our application installed on the phone while registering the first account instead of our oauth 2 server. Google is linking to our app instead of using oauth 2 directly. Our app connects to oauth 2 and gives a token to google. In other words, the user can make a sync with our local application on his phone. https://developers.google.com/assistant/smarthome/develop/implement-app-flip#implement-app-flip-in-your-native-apps

But I also think that in order to control smart devices, the user would have to communicate with our application installed on his phone.

Is there a way to this?

1 Answers1

1

The platform does not support a way to directly control a smart home device through an app installed on a phone. Counter to your scenario, there are times when a person wants to control their device when their phone is not around.

Local Home SDK integrations are in addition to an existing cloud integration. This base cloud integration is needed in the cases that a person is not at home.

Nick Felker
  • 11,536
  • 1
  • 21
  • 35
  • Hi, it seems better to dwell on using the "In-App" Google Assistant instead. On Google's official page, it says that the use of in-app assistant is valid for English and several different languages, except Turkish. (https://developers.google.com/assistant/app/reference/built-in-intents/bii-index) However, since 2019, it has been emphasized that there is Turkish support for Google Assistant at Google's official events in Turkey. But I couldn't understand why it wasn't included in the official development page. Dear Nick; I totally want to do this. (My question is in the comment below) – Pınar Seçkin Feb 03 '22 at 23:48
  • I am developing software in the field of smart home or robotics. When my application is not active from both Android TV and mobile and tablet devices, just like on Android TV, I need to talk to the assistant. And I want Assistant and Android to know that this conversation is related to my app, and my command is sent directly to my app so that my app executes the command. On Android TV, when youtube is not open (unopened and closed), when something is searched with google assistant, youtube opens by saying "I found these on youtube". I want to prepare an application to work in the same way. – Pınar Seçkin Feb 03 '22 at 23:55
  • Then I want a question and answer (conversation) between my application and the user. (I can manage the conversation status, probability and diaglog structure with diagloflow or a different method) Which SDK and Assistant Development Link can you suggest me for this? Which link would you recommend to first open my closed application with sound and then create the in-app dialog flow? – Pınar Seçkin Feb 03 '22 at 23:55
  • From an ecosystem standpoint, doing the smart home integration makes the most sense. But from your personal perspective I would say you'd want to use App Actions to jump into your app. You'd need to handle the conversation directly in your app, which could use Dialogflow's [detectIntent](https://cloud.google.com/dialogflow/es/docs/reference/rest/v2/projects.agent.environments.users.sessions/detectIntent) API. – Nick Felker Feb 04 '22 at 18:02