posted by 433 Spaceman, 5/8/2020

Zello Customization: Assign Channels to Hardware Buttons

How to set up a button to take to to specific channels in Zello


Intro:

For hardcore radio enthusiasts, we seem to want Zello to work more like a radio and not so much like a social media application. Luckily for us enthusiasts, there's such thing as Zello Work which is a commercial version of Zello that workers in the field use, either with their phone or special made "radios". I say this because most of those guys use radios in the field, and Zello has done some things in the programming to help those guys out.

One radio specifically that I have is the Anysecu N60. Notice all of the hardware buttons this gadget comes with:

These buttons can actually be mapped to give them more functionality with Zello with the help of Button Mapper and Tasker!

Now before I start, I want to make clear:

  • This is NOT a set of instructions for mapping several PTT buttons within Zello, and mapping them to specific channels or contacts.
  • This is NOT about the new floating button feature within Zello
  • This is NOT about Zello widgets and how you can create multiple ones and assign them to specific channels and contacts.


What this ***IS*** about is mapping hardware buttons of your choice to bring up specific channels to the foreground when pressed....



Tools needed:

Button Mapper
Tasker

... And of course...

Zello 4.20 or greater....

In a nutshell:

  1. you need to collect the zello:// URLs that link you directly to each channel
  2. Set up each URL as a separate Application Shortcut within Tasker.
  3. Map each desired button to the Tasker Shortcut within Button Mapper

Sounds easy enough right? lol


Step 1: Collecting the zello:// URLs that link you directly to each channel

  • The URL is formatted like this: zello://[channelname]?add_channel (by the way, these are called Deep Links or Application Links where you can link to something within an application from another application or webpage)
  • The channel name has to be EXACT. If you had renamed the channel originally, it's not the renamed value that this URL is looking for. It's the original name that the creator of the channel used.
  • Any special characters in the name will need to be encoded for URLs. Example: spaces need to be converted to %20
  • Example: for channel: Pirate network radio, this would be the URL: zello://Pirate%20network%20radio?add_channel
  • Another Example just to show you how much of a problem special characters are is my personal channel: 50,000 Unstoppable Watts. There's even more words in the name along with a couple emoji's as well. Here's what the URL would look like for that one: zello://50%2C000%20Unstoppable%20Watts%20%2F%20%E2%89%8B%2050k%E2%9A%A1%E2%84%A7W%20%E2%89%8B%20%2F%20CB%20Radio%2C%20Ham%2C%20Gadgets%2C%20Astronomy%2C%20Technology%2C%20etc?add_channel
  • an easy way to find the exact URL you would need to each channel would be to:
    • In the search results, click on the name of the channel to view the channel's profile.
    • Once you're looking at the channel's profile page, VIEW SOURCE.
    • In the source code, do a search for zello:// -- there you will find the URL.




Step 2: Set up each URL as a separate Application Shortcut within Tasker

  • Go to Tasker (if you are going in for the first time, you'll need to get past a bunch of disclaimers, turn off battery saver, etc)
  • Click Tasks and Click the + button to add a new task
  • Give this task a name (it can be anything) and click the checkmark
  • Click the + button to add an action
  • Choose "App" for the Action Category
  • Choose "Launch App"
  • Choose "Zello"
  • Click the + button to add another action
  • Choose "Shortcut"
  • Enter the Deep Link URL of the channel and then click the back arrow at the top right to save..

FYI:

  • spaces will need to be converted to %20.
  • the channel name will need to be exactly matched to the actual channel name - including casing. If you had renamed your channels, use the real value - not your renamed value.
  • So for example: Pirate Network Radio would be: zello://Pirate%20network%20radio?add_channel
  • If you have a hard time getting these to work, you could try without the URI encoding but it's possible not all systems will support that.
  • If you're trying to link to a contact instead of a channel (like Echo for example), the URL will change a bit. It would like like this: zello://Echo?add_user
  • If done correctly, your task should now have 2 actions
  • Added bonus: If you would like to have Android read out the channel name when you select it, you can add a new action for this by doing the following:
    • click the + button again
    • Go to Alert / Say
    • Enter the text of what you would want it to say when you select the channel: "Pirate Network Radio Channel 1" for example. It doesn't have to be the actual name of the channel. It could even say "Doug's favorite channel".
    • If you have more than one Voice engine installed, you can select it in the same window.
    • You can also adjust the pitch and speed of the voice.

NOTE: I've noticed the voice engine sometimes takes 10 to 20 seconds to load the first time you call it after a fresh boot depending on the speed of the device. Usually the first time it loads, it loads faster afterwards (provided there's not a lot of background apps working at the same time and chewing up memory)


  • Once completed, your task should then have 3 actions listed
  • Believe it or not, you have to choose an icon for this task. You won't need to right away, but it will get you when you try to assign it using a button through button mapper. To do this, click the icon at the bottom of the screen (see image above)
  • Then click Application icon


  • Choose Zello
  • You should see the Zello icon appear at the bottom of the task:
  • Finally, click the back arrow to save
  • Then you should come back to the list of tasks you've created. If you have only created one so far, you should only see one in your list.

At this point, you can start making more shortcuts to your favorite channels.

If you have 10 hardware buttons that you would like to map to specific channels, then you will need 10 separate tasks.

  • Click the Android back button to go back to tasks to add more. (If you want to map 10 buttons, you will need to add 10 of these tasks. )
  • Once you've added all the shortcuts you need, simply hit the android back button until you completely exit Tasker.

VERY IMPORTANT NOTE:

Tasks aren't really permanently saved until you DO completely back out of Tasker.

So if you're halfway done, don't just pop out to the home screen. If Tasker should shut down while you're doing something else, you could lose everything to have done so far.




Step 3: Map each desired button to the Tasker Shortcut within Button Mapper

  • Go to Button Mapper (if you are going in for the first time, you'll need to give it special access)
  • Click Add Buttons
  • Click the + button to add a new re-mapped button
  • You'll come to a screen asking you to click the button that you want to add (that you want to remap)
  • For my example, I will click the 1 key on the Anysecu N60 radio
  • In my case, it shows the number I hit, and next to it it will show the actual key value (8). This can get confusing when you set up a bunch of these. Just try to pay attention to the number that's NOT in parenthesis
  • Click Add
  • You'll come back to a list of buttons that you want to remap.
  • To edit, click on the name of the button.
  • If you want to delete one, you can click he trash icon to the right
  • In the next screen, turn Customize on, and then click on Single Tap
  • Choose "Shortcuts" in the drop down menu, and then choose "Task Shortcut"
  • Choose "Shortcuts" in the drop down menu, and then choose "Task Shortcut"
  • Choose the correct task.
  • You'll be brought to Tasker to see the shortcut created for that Task. Just click the back button at the top of the screen
  • You'll come back to Button Mapper and you'll see you've successfully remapped your key to the Tasker shortcut which calls the specified channel in Zello
  • Depending on what you are doing, you may also want to do the same thing for the Double Tap and Long Press option. In my case, the buttons on the mic of the N60 are "quick blips" when you press them. So they can't be long pressed or double tapped anyway. But to keep any weirdness from happening, I also did the same for the other 2 options.

But that's it! When you click the physical hardware button on the radio, it will take you to the desired channel.

Now repeat these steps for each button you would like to remap.




My Configuration on the Anysecu N60:

First, a little background:

I have close to 100 channels. I've renamed the important ones to me in such a way that they are in 10 different groups:

Example:

  • 01a, Pirate Network Radio
  • 01b, Pirate Network Radio Channel 2
  • 01c, Pirate Network Radio Channel 3
  • 02a, Republic of Avalon Radio
  • 02b, All Night Rag Chewers
  • 03a, Network Radio Channel 00
  • 03b, Network Radio Channel 01
  • 03c, Network Radio Channel 02
  • (...and so on)
  • 04a, Radio Network Home
  • 04b. Radio Network Channel 1
  • 04c. Radio Network Channel 2
  • (...and so on all the way down to:
  • 10, Echo


As stated above, my radio has many buttons on the mic that I can assig.

Here's my personal configuration:

    • 1: Takes you to the first channel in group 1
    • 2: Takes you to the first channel in group 2
    • 3: Takes you to the first channel in group 3
    • 4: Takes you to the first channel in group 4
    • 5: Takes you to the first channel in group 5
    • 6: Takes you to the first channel in group 6
    • 7: Takes you to the first channel in group 7
    • 8: Takes you to the first channel in group 8
    • 9: Takes you to the first channel in group 9
    • 0: Takes you to the Echo Contact to test audio
    • *: Channel Up
    • #: Channel Down
    • Orange button on the top of the mic: Opens the Scanner app and immediately starts the feed to my local Police dept.

NOTE:


So what's great about this configuration is if I need to get to channel 7c, I would click 7, and then channel up 2 times. This lets me get to that channel without even looking at the screen.


Solo/Available Mode tip:

I basically live in solo mode. So when I select a channel, I will only hear activity for THAT channel. However, if I end a conversation and I want to hear everything that is going on in other channels, all I have to do is hit the "back" button on the mic once (located under the PTT button), and it will take me back to the list of recent activity. When in that screen, I can hear activity in all channels - even in Solo Mode - until I select a channel again.

Happy programming your network radio!