I'm trying to extend my own application to use the Google Assistant (in my situation Google Nest Hub device) and is able to control my home custom-made devices like turn on/off light, lock door, feed cat, etc. I'm not using any common solution like https://www.home-assistant.io because I'm creating my server and have existing infrastructure that I would like to keep.
- Google Action Console
- Conversational - This allows me to do everything that I would like to but needs to say first "Hey Google, talk to "my application name". Another drawback is that I need to deploy it and later add my "application" in the Google Home application to use it with my Nest Hub device.
- Smart Home - This allows me to do everything that I would like (no talk to phrase is required" to but still I need to deploy it and later add my "application" in the Google Home application to use it with my Nest Hub device.
- IFTTT - This service is doing exactly what I want. Integrate with my Google account and send the HTTP request (webhook) when I say "Feed my cat" to the Google Nest Hub device.
- Zaphier - simmilar to IFTTT
I'm using now IFTTT to connect with my Google Account, add commands. I have an applet that is using webhook to send the HTTP request to my service with the specific command that I'm saying to Google Nest Hub. In my example it is "Hey Google, feed the cat"
IFTTT has a workflow I'm interested in but has limitations like:
- Number of applets (3 in free account)
- Another 3rd party service that is needed
- Another account
- Another service that I need to log in and setup
I want to do all this in my application.
I would like to do something similar to IFTTT but programmatically on my own. So briefly:
- Connect to Google account using specific credentials
- Accept that I can manage voice commands
- Add commands like "Turn on light", "Feed cat"
- Be able to receive intents from Google Assistant on my REST endpoints and handle it by my application hosted in my home.
Then I would like to say to Google: "Hey Google, Feed cat". After saying this command I would like to get a REST API request in my application which I can process and do what I want (like webhook in IFTTT)
Is it possible to do that without using IFTTT? If yes how because I can not find any tutorial or Google documentation related to this approach. I saw some gossip that IFTTT has some private API shared by Google but no official confirmation of this.