Integrating IoT device with Google Home - actions-on-google

I am currently working on a IoT device to control lights. This device is implemented using FreeRTOS.
I am little confused how to provide Google Home integration with this device, could someone shed some light on this.

You can use the Smart Home API. The Google Assistant works with a webhook, sending commands to SYNC, QUERY, and EXECUTE on that URL. You will then need to send these commands to your device.
Setup happens through the Google Assistant app, where users must link with your OAuth server.
Here is a sample project for Smart Home, using virtual devices.

Related

Can't test my Google Home Action in Actions Console Simulator

We've been having trouble keeping Wonder available on Google Assistant and Home. We keep resubmitting and then find out there's some bug that gets us taken down.
One thing that has made it hard is that we cannot test Wonder in the simulator in the Actions Console. Here is what a session looks like: Wonder test session
When I expand the last message I see the following error: Cannot use standard Google Assistant features in the Simulator
Is there any way you could help us get this fixed?
The Google Assistant available in the simulator has a subset of the features of the assistant available in your phone or Google Home device. If you want to use the entire set of voice interactions, please use the assistant on your physical devices. If you want to test your smart home action, you can use Test Suite.
Also note that Google Home projects do not support dialogflow anymore. I see you have the dialogflow-es-fulfillment tag in your project. If your project is set up as a dialogflow project, you might need to set up a new Smart Home project on the actions on google console.

Is there an emulator for Google Assistant?

I am developing Google Actions for Google Assistant. Is there an emulator of Google Assistant for Linux available? I believe this would be easier during development, instead of having to use my phone all the time.
I know there is https://console.actions.google.com, but I am not sure if this has all capabilities built in. Should Google Actions (such as cards, suggestion clips, carousel, ...) also work here?
You should be able to do almost all of your development using the actions simulator: https://developers.google.com/actions/tools/simulator
There are a few exceptions dealing with cross device scenarios and intent invocation for Android.
The simulator is better than developing on a phone since it provides detailed logging and request/response JSON payloads.

how to create google home app

I am new to google home. I had an experience in Amazon Alexa custom skill development. In Alexa, I had deployed my codebase in lambda function and also test my custom skill using actual Alexa device register with my email id.
So, Now I need to develop similar skill in google home device. Till now, I didn't get any good tutorials.
Is it possible to create & test Google Home app like Alexa skill?
The steps you go through to develop a Google Home action or app are very similar to creating an Alexa skill. There are a couple of differences, but logically they are the same.
If you use a NLP system such as Dialogflow (which is strongly suggested), you build the suggested phrases that the system responds to and the Intents they correspond to. You would specify your webhook as part of building these phrases. If you don't wish to use an NLP, you can specify the initial Intent phrases using the Actions SDK and specifying the configuration as part of a .json file. Other actions you'd do in the Alexa console are similar to what you'd do in the Assistant console.
You can deploy your Action on any public server that accepts HTTPS connections. This can include AWS Lambda with an AWS API Gateway trigger, or a Firebase Function, or a web server you more directly control that has a valid SSL certificate. This webhook would get a JSON body and needs to send back a valid JSON response. Google has libraries for node.js to help with this.
Google has a relatively full-featured simulator which you can use to test your Action. Once it is available in the simulator, it is also immediately available on every device attached to that account. You can permit other accounts to the project as well and, once they have activated it through the simulator, it is available on all their devices as well.
A full set of documentation is available at https://developers.google.com/actions/. It includes links to sample code, and you can find more step-by-step codelabs at https://codelabs.developers.google.com/?cat=Assistant
If you're familiar with how to develop skills for Alexa you might want to check out the jovo-framework. It makes it pretty easy to create skills that work for both Amazon Alexa and Google Home.
Here is a good starter template and walk-through that will get you going. https://github.com/rmtuckerphx/ask-cli-jovo-starter

Can we use android phones as google home device

After creating private API.AI agent, I can test it using the simulator. But is it possible to test it in Android phones ?
Not yet. But you can use the "Agent Page" under Integration in API.AI to give you a web view you can use from the phone. Easy to share too!
As given in https://docs.api.ai/docs/sdks API.AI has provided support for many platforms and using it we can access our private agent.
i.e as given in https://github.com/api-ai/api-ai-android-sdk#getting_started , I created android app by providing access_token detail of my agent and now I can pass the request via my android phone; similarly i used node.js and can make request to my API.AI agent from Linux PC
You can do this now that Google has pushed the Assistant to the Google Pixel, Nexus 6p, and Nexus 5x. No other phone currently can use the assistant.
Edit 4/17/17: Upon successfully deploying my own agent I was expecting to be able to use it on my phone after being able to test and preview it on my phone. However it was not working so I contacted their support and got the following answer:
Sorry for the inconvenience, but Actions on Google are not currently
supported on any device other than Google home. The functionality you
are referring to was the result of a bug that allowed access across
multiple devices to a subset of users, that bug was patched and that
is why you lost the functionality. Google is planning to make Actions
on Google available across multiple devices, but as per policy, we
don't comment on timelines for releases in support.

Possibilities on Google TV emulator

Iam an android developer and wanted to know if someone has already started developing android apps for Google TV on its emulator.
I have read the google's documents on Google TV and I have few of my thoughts revolving around my way . I wanna know which all capabilities does the Google Tv SDK gives us while working with Google TV emulator..
Does Live TV uses Activity or Fragments on top of which the content(TV SHOWS) is displayed ?
Can we control the Live TV feature provided by Google by customizing the Views of Live TV like placing a widget which shows the newly released movies on a timely basis?
Is Live TV only a native app provided by Google and doesn't offer any flexibility wherein we can replace the Live TV app by writing our own app which shows the same content(TV SHOWS) offered by Live TV ? (as we can modify default contacts app in our android mobile devices)
Please address my confusions !!
There is no official way to have live tv participate with your apps.
You can change the channel of the TV using an intent from your app. (And find out about channels using the channel listing content provider.)
There is no supported way to do this.
You can not make any changes in with live tv thought apps. You can only change the programs not everything. If you Google want to change then they do it, because they have all rights of content. Now all the process are digitilaized. Why Google can made changes in it? Reason Firstly they will receive all the programs by channels after that they will upload on own server. After that send the signals to satellites and satellite send these signals to the users.