Page 1 of 1
Caller name
Posted: 06 Apr 2018 02:04
by Rafi4
Hi
How can I make a flow for speak the caller of the name in incoming calls I am creating but not perfectly working I think I am not making the flow perfectly.any help?
Re: Caller name
Posted: 06 Apr 2018 19:02
by Martin
Hi,
The trigger Incoming Call provides a variable contact_name that should contain the name of the caller, provided that the caller is available in your contacts.
You can display the name with action Notification on Screen: {contact_name} or read the name out loud with action Speech Output: {contact_name}.
Regards,
Martin
Re: Caller name
Posted: 07 Apr 2018 00:32
by Rafi4
Hi Martin
Main issue is speech output action was running while call was received. How can I stopped speech output action when call is in offhook. I was created another flow Usain action stop speech output action by using through overlay widget. But no use.
Re: Caller name
Posted: 07 Apr 2018 08:59
by digitalstone
* Disclaimer: i have not tested this *
Condition:
You could use the condition "Call State" and activate only the option Off-hook and let that go into a loop through the True-state while your phone is being called.
Then when you pick up the call, this condition should exit with a False-state, from which you can silence the voice.
Silence voice:
You could set the volume to zero of the audiostream which you let the voice through.
I use the DTMF-stream so i know it doesn't interfere with other things on my phone, and thereby create separate control over the voice whenever it's needed.
Re: Caller name
Posted: 07 Apr 2018 12:52
by Rafi4
Hi
This is caller name flow that i have created. Any changes .please modify this flow because I am new to automagic premium.
Re: Caller name
Posted: 07 Apr 2018 14:08
by Desmanto
You have improved. Keep going on.
Does the action stop speech output work? Because in some phone, this action wont' work.
Call offhook is an event. It is better to use trigger, Incoming Call - Off-hook. From what I understand, you want the flow to call out the name of the caller and repeat it until you pick up the call and immediately stop the speech output.
If that is the case, you have 2 events. You have to use 2 triggers then. Just make it in 2 flows.

- Caller Name - 2 Flow.png (44.68 KiB) Viewed 14323 times
Flow 1 :
Caller Name
Trigger :
Incoming Call. State: Ringing, Numbers: All
Action 1 :
Sleep 1 second (just use keep awake)
Action 2 :
Speech Output: call from {contact_name}
From Action 2, pull the connection back to action 1. Thus it is looping speaking out the caller name until stopped by another flow.
Flow 2 :
Stop Caller Name
Trigger :
Incoming Call. State: Off-hook, Ended, Numbers: All
Action 1 :
Stop Action Speech Output
Action 2 :
Stop Flows : Caller Name
This flow triggered when you pick up the phone (Off-hook) or when the call ended without getting pickup (Ended). This ensure the Caller Name flow doesn't runaway and looping infinitely till the end of the world.
Advance Tips
If you have ensure it is working properly, you can even combine both flow into single one, saving space and you don't even need the stop Speech output/flow anymore. Just add both trigger to the flow 1. Add additional
expression
Code: Select all
trigger == "Incoming Call. State: Ringing, Numbers: All"
True, execute the speech output part. Change the Flow execution policy (3 dot menu > Options) to "Stop" (4th option). Everytime there is incoming call, the flow trigger and speak out the caller name. But when you pick up or ring ended without getting picked up, it still trigger the flow. The previous speech output will be stopped immediately as the execution policy is stop. But it won't continue to the speech output again, since the off-hook and ended trigger was stopped by the expression (result in false, and flow stop there).

- Caller Name Combined.png (42.19 KiB) Viewed 14323 times