This plugin supports 3 different No Hassle AV 8x8 HDMI Switches. It does not support the serial connection but only the networked connection so the device should be given a static IP on your network. The connection is one way so there is no way to keep the Units updated in XTension if changes are made via other remotes or devices.
Since I don’t own any of these devices and have implemented the documented protocols sight unseen this should be considered a very beta build of the plugin. If you use it and have any success or problems please let me know!
XTension setup requires the IP address of the device and the port that the device is listening on. The various models have different default ports so please check the user manual, setup app or front panel to find the correct port for your device.
Each of these devices uses a different protocol and so you must select the supported device from the device type popup prior to the plugin being able to do anything useful. The three devices pictured above are available in the popup of supported devices. They are the original 4k 8×8 switch, the 8×8 HDMI “Seamless” matrix and the 8×8 HDBaseT Matrix 4k device.
Upon the first startup of the plugin XTension will create a list of 8 Units corresponding to the 8 outputs. The Units are created with a default name of the Interface name followed by Output and the index number. Once they are created you can edit them to have more descriptive names. By default they have a popup menu of 8 inputs to select from. They will display in all the interfaces with this popup menu but can still be controlled normally by the set value verb, but also using enumerated values, see below:
By default the popup selection of inputs are just named Input 1, Input 2, etc. You can edit this list to be more descriptive. You’ll find the shown section on the Display tab of the Edit Unit Dialog for the Output Units. This is a comma separated list of the enumerations that can be used to display a more descriptive name for the Inputs. NOTE that the comma at the beginning is necessary as there is no 0 or off value for an output. The default settings are:
,Input 1,Input 2,Input 3,Input 4,Input 5,Input 5,Input 7,Input 8
Setting them to something more descriptive might be something like:
,Cable,DVR,Blue Ray,House Server,X Box,Security Frontdoor,Security Backdoor,PS19
You will have to set this list for each of the Output units in order to have them all display the same labels.
You can always use the Set Value verb to set the values like:
set value of “Output 5” to 3
You can also use the enumerated values if you wish instead. Instead of passing the numerical value as in the above example, you can pass a string of the enumerated value:
set value of “Main TV” to “Blue Ray”
To get the current value of the Unit use the regular Value Of verb, if you wish to get the enumerated value from a unit use the Enumerated Value Verb:
set myInputName to enumerated value of “Main TV” write log “The TV is currently watching “ & myInputName
The devices support a subset of the available additional scripting commands. Not all commands are supported by all devices.
tell xInterface “name you gave to the interface” to powerOn() tell xInterface “name you gave to the interface” to powerOff()
The power on and off commands are supported by the original 4k and HDBaseT devices but are not supported by the “Seamless” device.
There are 2 ways of issuing the reboot command. You can use the Initialize Controller verb or the reboot() command:
Initialize Controller “name you gave to the interface” tell xInterface “name you gave to the interface” to reboot()
The reboot command is supported by the original 4k device and the HDBaseT device, but not the “Seamless” device.
Only the original 4k device supports the set all outputs command. It requires that you pass a single integer between 1 and 8 and will set all the outputs to the passed input number. You cannot use an enumerated value name for this it must be a number.
tell xInterface “name you gave to the interface” to setAllOutputs( 3)
would set all the outputs to input 3.
Only the Seamless device supports scenes. Pass a number 1 through 7 to the command and the device will recall whatever preset input/output routing you have saved as a scene.
tell xInterface “name you gave to the interface” to setScene( 2)
The No Hassle AV 8×8 plugin was added to XTension in 9.5.1 in January of 2023