'Action traits.Channel getting the wrong channel on smart home
I've programmed a smart home device using the Television Device type. Everything is working perfectly except getting one of the channels by name (action.devices.commands.selectChannel). My sync payload is (a segment of course):
{
"key": "root northwest",
"names": [
"root sports northwest",
"root sport",
"mariner channel"
],
"number": "426"
},
Google response is: "Okay, getting AT&T Sports. I'm sorry but that channel is not available" or words to that effect.
All other channel names are working great, there are about 10. When it works on other channel name it returns the name and number to the device as a response. No matter how I phrase it gives the same response. I've even tried putting it in a different order. I've tried changing the name to similar, but recallable, names and still no joy. It comes closest to ROOT SPORT northwest, but that isn't reliable.
Any advice?
Solution 1:[1]
To use the action.devices.traits.Channel trait, all the available channels should be shared as a list during SYNC via the “availableChannels'' attribute. There are two possibilities why this might be happening:
- Your SYNC response might not be reaching Google. Based on the response from your Google device it looks like the AT&T sport channel wasn’t added to the list while triggering the SYNC request. Please make sure that the SYNC request was made successfully and the HomeGraph API was updated. Visit the link - https://developers.google.com/assistant/smarthome/develop/request-sync?hl=en for correctly implementing Request Sync
- There might be some speech bias that is making it difficult for the Assistant to parse the question into text. You can confirm this by adding an easy to understand key in the list of keys, then check if that works. A number of permutations & combinations might have to be carried out to find out which words/combinations are creating the problems. If that doesn’t help please file an issue in the public bug tracker.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Anish Yadav |