Project HDMI Switcher Part 4 - HDMI Switch and Final Thoughts

We are coming to end of this project and there are a few final adjustments to make to our HDMI switch. The HDMI switch for this project is the Atlona JUNO 451. This was the cheapest IP controllable switch I could find on Amazon. At just under $400 its not cheap but the alternatives were much closer to the $1000.

JUNO 451
Below are the settings we need to adjust on the switch. If you connecting a PC as one of the inputs ensure that HDCP is turned off. Also make sure to turn off the auto switch as this will now be controlled by our Touch 10.

Switch settings

One last thing to mention if you didn't notice in the previous post we are using HTTP and not HTTPS in control URL for our switch. This does mean enabling HTTP  on your codec. The JUNO switch didn't seem to support HTTPS. I guess a drawback of only being $400.

HTTP enable

Final Thoughts

This was a fun project and fairly easy. I could have covered it in one post but I think it's easier to consume a project over a number of posts and follow along. It is certainly much easier to write.

For the price the Atlona switch is awesome. One problem I ran into was the remote was dead on arrival. While I wasn't to concerned about it, it was a pain in testing that it didn't work. In saying that the project was a success and I use this setup in my home office.

The reason I decided to do project based posts on the blog is to help people find interesting stuff to build. Projects similar to the ones I have been blogging about need not be super intimidating as it first appears. There was really very little code to write and the UI on the Touch 10 was a simple panel with a few buttons.  There is a stark difference between coding sample hello world projects versus having things to build that provide actual value. You learn a great deal faster and and it is way more fun. Also these projects generally require a combination of hardware and software. Welcome to real life people, not every coding project is just a web server.

I hope your enjoying the recent project based posts I have been doing. There are loads more to come.


Previous post in the series:

Part 3 - The Macro

Project HDMI Switcher Part 3 - The Macro

This is really where the pedal hits the medal and we start pulling our solution together. But before we get started if you didn't catch the previous posts take a look here:

Part 1 - Introduction

Part 2 - In-room control

The macro framework on CE based devices (Webex Room Kits and such) as you should hopefully know by now is javascript based. There are two main functions to our script. This first is listenToGui and the second is switchHDMI.  ListenToGui takes input via the events generated by the widgets on the Touch 10 which then calls switchHDMI to send the HTTP GET request to the HDMI Switch IP interface which then switches HDMI inputs. Once you look at the script below you will see just how simple it really is.


Your URL if using a different HDMI switch will differ of course but should be documented by the manufacturer if the switch is IP controllable. In my case  the ${source}AVx1 on line 6 is just the id of the widget we created in the last post. By using simple id's to identify each of the inputs we are able to keep our code simple as the HDMI switch uses the same identification to assign input ports.

Next up HDMI switch setup and final thoughts.


Project HDMI Switcher Part 2 - Touch 10 Control

If you not familiar with the setup for this project please visit for the introduction.

In part 2 we are going to cover building the Cisco Touch 10 UI for controlling out HDMI switch. This is pretty easy as the UI control involves a button that is available in in and out of calls and the panel to allow selecting different inputs.

In-Room Control Primer

If you are not familiar with building custom interfaces on a Touch 10 controller please check out this primer from the Webex Team I posted recently first. It's a great intro for getting into working with the tools that allow you to create projects just like this one.

Back to the Project...

After accessing the In-Room Control Editor I created a panel and added a 4 button widget. Make sure to select the "Panel is Available Always". You may want to switch HDMI inputs mid-call.

In-Room Panel Creation
Once you have created your panel, select your icon and color for the panel button.
Button icon and color selection
We have our panel selected, our color and icon for the button, let us take a closer look at those widgets. As you can see below it's pretty simple. The ID's are aligned to the inputs on our HDMI switch so not to confuse us. To make it simple the button IDs are 1 - 4. The ID's are super important as this is what the Macros will use to identify what was pressed. Make sure to label the buttons on the widget with what the HDMI selections are.

Simple Button ID

What you end up with is something similar to the screenshots below on the Touch 10. Our switch has a purple button with something that looks switch-ish for the icon.

Button alway available

Widget with button labels

If you would like to upload this as XML here is the XML file you will need:

Next post, we will cover the Macro used to turn the UI into actions to control our Switch.


Project HDMI Switcher Part 1 - Introduction

Before the advent of custom UI elements and Macros on the Cisco Touch 10, switching HDMI inputs from a controller was typically done with another third party touch screen that was designed for addressing the room environment. This may or may not have included the video endpoint controls in the room.

Complex conference room
Your conference room may have also looked like the picture posted.  Hopefully you are not dealing with this type environment. Comment below if you are. I typically find organizations that have this type of conference room are struggling with understanding the new capabilities that modern video conference room device can do to reduce complexity.

The HDMI switch example in this post while only a small piece of a puzzle shows how you can start leveraging the Cisco video device in the room to reduce complexity. 

The Project

Below is an overview of what we are trying to achieve. 

Project overview
The Webex Room Kit we will be leveraging the following features:
  • Macros
  • Custom Touch 10 UI
  • HTTP request GET method
Atlona AT-JUNO-451
The HDMI switch for this project is a Atlona AT-JUNO-451 pictured right.  Its around $400 on Amazon and one of the cheapest HDMI switches that is IP controllable. Comment below if you have used other HDMI switches with success.

For our project we need to complete the following steps:
  1. Custom UI inputs on our Touch 10
  2. Codec Macro creation
  3. HDMI switch setup
In the next post we will tackle the custom Touch 10 UI controls to control our switch.