Short background story
We currently offer a Conversational Action for hundreds of users. We developed this Action in the last three years as a "job" for one of our customers. As we recently found out, we will be affected by the sunset of conversational actions.
Of course we are now looking into how (and even if) we can continue to provide our service to our users. At the moment it seems like the only option would be to create a „Smart Home” Action from scratch.
Our old system components (Dialogflow, WebApp, Conv. Action) will be deprecated and render useless once the sunset is completed.
The suggested „App Actions” wont be feasible as well, as they seem to only be available for Android Apps (no iOS Support - correct me if I'm wrong).
While researching on possible approaches and reading through the docs in order to be able to communicate to our customer, how or if we even will be able to support / continue development on the system, we encountered some questions that seem to not be answered thoroughly in the docs, docs, docs, docs.
So we are hoping to find some folks who already created a Smart Home Action with a "3rd party" Smart Home device -- and could answer some of our questions:
- Do „Smart Home Devices” need to have special support for Google Home built into the hardware? Such as bluetooth capabilities for pairing with the Google Home App? (As our customers device does not support bluetooth - only WiFi)
- Is it required to connect the device over the Google Home App — or is it also possible to pair the device for example on a website and store the resulting tokens inside of the Google User somehow?
- What exactly does the Smart Home OAuth Flow of Google need in order to be able to query the device? For example some deviceId and token? (As our customers accounts support OAuth - but the devices do have a separate authentication mechanism)
- Is it possible to add some fields to the "GoogleUser-Object" at a later point in time — for example the deviceId after (externally) pairing the device?
- Is it possible for a device (in general) to be configured for multiple „Device Types”? (as it is used for controlling the heating, checking energy consumption, heat domestic water, get outdoor temperatures, etc.) Or can only one device type be selected for any given Smart Home Device?
- Does the Smart Home device have to have a built-in functionality in order to sync data to Home Graph API? Or would it be possible for us to periodically query the data from the device on our own (via a cron job) and sync it to Home Graph "manually"?
We already found out the following (for those who wonder):
- It is not possible to extract and migrate an existing Conversational Action to a Smart Home Action in order to reuse parts of it.
- Our existing Google Dialogflow Agent can't be used with Smart Home Actions - so all progress there will be "lost".
Our top 2 questions probably are the most relevant for us in order to decide if we even can continue our Google Assistant journey.
We appreciate any answer to any of our question!
Thanks in advance and good luck in migrating your conversational actions!