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?
Caller name
Moderator: Martin
Caller name
No.1 Automation app in play store Automagic Premium
Samsung Galaxy j2 non rooted.
Android 5.1.1
Samsung Galaxy j2 non rooted.
Android 5.1.1
Re: Caller name
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
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
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.
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.
No.1 Automation app in play store Automagic Premium
Samsung Galaxy j2 non rooted.
Android 5.1.1
Samsung Galaxy j2 non rooted.
Android 5.1.1
- digitalstone
- Posts: 342
- Joined: 21 Oct 2017 12:36
- Location: The Netherlands
Re: Caller name
* 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.
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.
Phone: LG Nexus 5X (rooted vanilla Android 7.1.2)
Re: Caller name
Hi
This is caller name flow that i have created. Any changes .please modify this flow because I am new to automagic premium.
This is caller name flow that i have created. Any changes .please modify this flow because I am new to automagic premium.
- Attachments
-
- widget_Caller_name_20180407_181810.xml
- (1.95 KiB) Downloaded 858 times
-
- flow_group_Caller_name_20180407_181754.xml
- (6.27 KiB) Downloaded 861 times
No.1 Automation app in play store Automagic Premium
Samsung Galaxy j2 non rooted.
Android 5.1.1
Samsung Galaxy j2 non rooted.
Android 5.1.1
Re: Caller name
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. 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
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).

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. 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"
Index of Automagic useful thread List of my other useful posts (and others')
Xiaomi Redmi Note 5 (whyred), AOSP Extended v6.7 build 20200310 Official, Android Pie 9.0, Rooted.
Xiaomi Redmi Note 5 (whyred), AOSP Extended v6.7 build 20200310 Official, Android Pie 9.0, Rooted.