Since 2 days, my google home, which is integrated with my smart home system, started saying "Broadcast from " followed by the actual Smart Home announcement, e.g. the washing machine is ready etc.
Since there is also an integration with Nest Hello (which plays a doorbell sound, followed by a spoken text) i know it is possible to skip the "Announcement from " part. Anybody care to share tips/workarounds?
Using: https://github.com/greghesp/assistant-relay
Related
Is it possible to use the keyword "ask" with Actions-sdk? (not dialogflow)
Currently, I can start the process with "Talk to My App", which connects to my webservice. I then want to be able to say something like "ask John what room he is in"
What seems to happen is that Assistant (on Android) drops the "ask" and simply sends "John what room he is in" to the webhook api.
I guess that GA is listening for "ask" as an trigger word, but does that mean we cannot use it? What other words might be impacted? I've read lots of docs and don't see this clarified anywhere.
In case it is relevant, our service is trying to accept all spoken text for processing in our NLU, as the conversation paths are deep and complex, with many industry specific phrases and terms.
EDIT Retested this again several days later and it is now sending the ASK keyword from a phone. Confused.
Not sure what SO practice is, delete question or keep it
I just used the simulator to run a test using what I think is your test case:
I said "talk to 'my invocation name goes here' in the simulator. My Action was launched and its "main" aka "welcome" aka "default" intent was dispatched.
Then is said "ask 'invocation name' what time is it". The text intent was fired and the whole query beginning with ask which IME is not special-cased was returned.
Does that help?
I have built a google actions project and published it. It has a web hook that is linked to a Google Functions with an actions sdk code behind it. Everything works fine.
However, I have noticed that there is a continuous user (with the same userId provided by the intent) that keeps access the function (guessing via the actions project). I am keeping a kind of sessions log and it keeps creating a session almost every 3-4 seconds.
Since the project is just some temporary demo of content and not really shared with the world at large, I am wondering what or who is causing this continuous access. It looks almost like some heart-beat type of check being done. Hence the question: is it something that Google does to know whether the action project is live or not? Thanks
Every 3-4 seconds seems high, but if you have published an Action that has gone through the review process Google does run a health check against it every few minutes.
My house has an home automation system from the 1960's that I have managed to tap into. I've been able to setup an interface which allows me to write adapters for various technologies such as Node Red, Alexa, and now Google Assistent.
Given that this will only ever work with my house, I see no reason to make public Smart Home Actions. On Alexa's side, I can let these services stay in a Development state indefinitely which has worked great for the last 6 months. On Google's side, however, the FAQ says (https://developers.google.com/actions/smarthome/faq):
Q: How often do I need to run gactions test?
A: gactions test needs be refreshed every 3 days. After 3 days the test agent will disappear from mobile-HomeControl settings. If you run into this, just run gaction test again.
Therefore, I was wondering what they best way is to make a PERSONAL Google Actions service? Of course, the obvious method would be to script and schedule the gactions call to keep testing alive but I would hope there was a better way to support this!
Additional details: I'm using Amazon's OAuth service for sign-in. This way, I can validate the Amazon ClientID, UserID, etc. through the AccesssToken Google passes in for authorization. Therefore, I could theoretically run this publicly without any issues but I would need to figure out how Google could review it for testing purposes! I don't need some Google employee turning on and off my lights while the Google Maps car drive by to verify the change... ;)
I would just use a script to call gaction periodically.
Publishing it would unnecessarily pollute the Actions directory. Also, they'll make you jump through hoops for "brand verification" and other restrictions they have for naming invocation terms.
If you did publish it, you give them a temporary account for verification purposes and disable the account when published. They would be randomly controlling the lights during the verification period though which can be up to a week!
Working at a company, I've been set to develop a print service solution which will be used from multiple platforms. The service should be available at least from Windows (native print dialog), OSX, IOS and Android. I need to be able to see which user is printing, how many pages etc.
I'm looking for a system like CUPS for Windows or Linux, which allows me add/connect to this payment system. The payment system confirms the user have enough points to be able to print the given document. The system should be as transparent as possible for the user and he/she should be able to print like a normal network printer.
The payment system is an existing product, so my system should only handle printing and user authentication.
My first thought was to develop a simple listener that would be running on the server and the clients could connect to, add files to the print queue and print if they had enough points. How ever I could not find any tutorial or similar projects for this approach. Therefore I'm looking into adjusting an already existing product for my needs.
I have made a drawing of how I think the system should look like
I found a solution using CUPS with Tea4Cups. Tea4Cups provides pre/post-hooks where the user can define some scripts/commands to run before and after the document is sent to the printer.
More information about this here:
https://serverfault.com/questions/208268/run-command-before-and-after-printing-with-cups
Run a script when user press print, and not start spooling before script ends (linux, cups)
If anyone can help me with this, I'd be eternally in their debt.
Without getting bogged down in details, I'm trying to program an app so
that, for instance, while the application is currently launched, if I say the words,
"activate function A", a specific function which already exists in my app, is activated.
Have I explained myself clearly? In other words, on the screen of the phone is a button
which says "function A". When the software is "armed" and in listening mode, I want
the user to have the ability to simply say the words "activate function A",
(or any other phrase of my choice) and the screen option will be selected without requiring
the user to press the button with their hand, but rather, the option is selected/activated
via voice command.
My programmers and I have faced difficulties incorporating this new voice command capability,
even though it is obviously possible to do google searches with voice command, for instance.
Other voice command apps are currently in circulation, such as SMS dictation apps,
email writing apps, etc, so it is clearly possible to create voice command apps.
Does anyone know if this is possible, and if so, do you have advice on how to implement
this function?
QUESTION 2
Assuming that we are unable to activate function A via voice command, is it possible
to use voice command to cause the phone to place a call, and this call is received
by our server? The server then 'pings' the iPhone and instructs it to activate function A?
For this workaround to work, I would need the ability to determine the exact phrase.
In other words, the user can't be forced to use the word "call function A". I need the
ability to select the phrase which launches the function.
Hopefully I've been clear.
In other words, as a potential workaround to the obstacles we've been facing regarding
using voice command to activate a specific function within our app, is it possible
to harness the voice command capability already present in the phone? aka, to place
a phone call? And then this call is received by our server, and the server
accordingly pings the phone which placed the call, and instructs it to activate the function?
I obviously understand the necessity for the app to be currently launched, before it
would be possible for my application to receive the instruction from the server.
If someone can help me to solve this vexing problem, it is not hyperbole to say that
you would change my life!
Thanks so much in advance for any help one of you kind souls can provide!!!
Michael
I don't believe the iPhone comes with any built in speech recognition functions. Consider speaking to Nuance about buying and embedding one of their speech recognition engines. They have DragonDictate for iPhone, but they also provide a fair amount of other recognition engines that serve different functions. Embedded solutions is clearly one of their areas of expertise.
Your other path of pushing the audio to your server may be more involved than you expect. Typically this process involves end-pointing (when is speech present) and identification of basic characteristics so the raw stream doesn't need to be passed. Again, investigation into the speech recognition engine you intend to use may provide you with the data processing details you need. Passing continuous, raw voice from all phones to your servers is probably not going to be practical.