Should I go there? Whole house audio and then some

Can I ask which HDMI Matrix you purchased?

Hi yes i got one made by av access https://www.amazon.co.uk/Matrix-Switch-Splitter-FullHD-Control-4KMX42/dp/B01EV3LMBW/ref=sr_1_1?crid=345XBMHE735M2&dchild=1&keywords=av+access+hdmi+matrix&qid=1589854542&quartzVehicle=183-643&replacementKeywords=av+access+hdmi&sprefix=av+access+hdmi+m%2Caps%2C166&sr=8-1

Hi.
Newbie here with HA. I have a whole house multi-room system connected by a generic 4x4 HDMI matrix.
Can the information in this post be used to allow me to control my HDMI matrix (e.g. switching the inputs/outputs etc)?
I can connect to the HDMI matrix via an IP address / web browser.

It depends on the model. Without knowing exactly what you have we can;'t answer that. In theory it is possible, hardware dependant.

The matrix is a HDCVT 4x4 HDMI2.0 matrix model no. HDM-B44. Its a Chinese model. Looking at the very brief user manual, it does allow RS232 and web control but does not really explain. So it should be easily controllable by HA but I just donā€™t know where to start with HA.

Start at the beginningā€¦

If you have a spare computer (and by that I include a pi or whatever) and install away.

If it has a web interface, it might work well with the rest component, or the commandline component. https://www.home-assistant.io/integrations/#search/command

Thanks. Iā€™ve tried the rest component. I inserted this in my yaml configuration file but nothing happened (i.e. not showing up in my overview page). Got no errors on the config file.

rest_command:
my_request:
url: {my ip address}

First try run command using your PC on command line to confirm it function and perform expected action

After confirm, place into HA config and format as needed

I actually also placed the following in my yaml config file and it worked in that it is showing on my overview page as ā€œConnectedā€ but not sure what to do next to have buttons so that I can switch the inputs/outputs:

binary_sensor:

  • platform: command_line
    name: Matrix
    command: ā€˜ping -W 1 -c 1 192.168.x.xxx > /dev/null 2>&1 && echo success || echo failā€™
    device_class: connectivity
    payload_on: ā€œsuccessā€
    payload_off: ā€œfailā€

There should be documented API. This will describe each individual command you must put into config.

What you just posted is basically a ping to show unit inline or not. This will not execute any command or even show unit status

They should have given example for input change, power, state/status. You will likely have HA config entry for each of those.

Unfortunately I not find manual for unit online so canā€™t help you there

I have tried many times to get such information from the manufacturer without success.

However, I have a user manual - happy to upload but I couldnā€™t see anything which might useful to program it into HA.

I also have a RS232 HEX commands (whole bunch of letters/numbers) for each command but the matrix is not connected by RS232 (only by ethernet).

does it have web interface?
what happen if you just connect to http://<matrix_IP_address> or https://<matrix_IP_address>
sometimes we request is as easy as looking at web addresses shown as you go through units web interface.

upload manual. maybe something you missed someone else will catch.

EDIT
found manual online
https://www.manualslib.com/manual/1264648/Globalmediapro-Hdm-944s50.html#manual
based on its vague details of tcp/ip connection i expect you can just connect to unit at http://<matrix_IP_address>

Yes I can connect to it via a web browser using http://<matrix_IP_address>.

I had mentioned that in my original post so I do think it is quite easy from my limited understaning of HAā€¦ I did try the Blackbird integration which is an 8x8 matrix by using that yaml config file but nothing happened.

So given I can access it and control via a web address - is there an integration that I can use?

Probably not a built in integration, so youā€™ll have to work out how it works and do it via one of the built in integrations. But you are so vague about how it works that it is difficult to be any more specific.

Open the web page that controls the HDMI switch. Click on a control button. What url does it send?

Another thing - learn to post your code properly - see point 11 here.

And would a moderator please move this conversation to a new thread, as it has wildly deviated from whole home audio :slight_smile:

I open the webpage and there is a box with the 4 inputs which I can select as per image below. the url does not change. I also have a document which shows hex commands for each output/input to control it via RS232.

This is an extract from the document:

Port switch command package length is 13byte:

[0xa5+0x5b+0x02+0x03+ input port(1~4) +0x00+ output port(1~4) +0x00+0x00+0x00+0x00+0x00+ checksum ]

All you need to change is just ā€œinput portā€, ā€output portā€, ā€checksumā€

Checksum = 0x100 ā€“ (0xa5+0x5b+0x02+0x03+ input port +0x00+ output port +0x00+0x00+0x00+0x00+0x00)

For example: Set output 1 form input 2 command:

A5 5B 02 03 02 00 01 00 00 00 00 00 F8

When you click something in the web GUI some sort of code or command is sent over http(s). Find those commands. Press F12 in your browser. Or use packet capture.

If I click output A, source 1, I see these two commands:

submit hex(a5,5b,02,03,01,00,01,00,00,00,00,00,f9) processor.js:379
query hex(a5,5b,02,03,00,00,01,00,00,00,00,00,fa) processor.js:438

Do those hex codes match the codes in the manual for the serial port?

Yes they do from what I can see. So how do I go about putting these hex codes into HA?

Another tip and apparently not mentioned yet.

I donā€™t like to be dependent on proprietary systems either and chromecast, being from that data-hoarding company, is not an option for me even though itā€™s a nice system.

I went for piCorePlayer on RPiā€™s and have successfully integrated it with HA