Directly Controlling a Control4/Triad Audio Matrix via SDDP

Has anyone attempted to code an integration to talk directly to a Triad audio matrix? I’m currently using the Control4 integration, which I heavily modified to support the audio matrix, but it still relays commands via the Control4 server. Since Control4/Triad use a modified version of SSDP (which they call SDDP), it seems like it should be possible to eliminate the Control4 server completely. Right now, relaying those messages is literally the only thing my C4 server does, and I’d much prefer to remove it entirely.

I am planning on investigating more and seeing if I can get it to work, but maybe some folks have already started that process?

4 Likes

Any update on this?

I’m also interested in this. I’ve just moved into a house that has control4 but I want to ditch it.

@MrBrad would be interested in getting some details around the SDDP protocol. Do you have any further knowledge that you could share?

Ha - I just replied to your comment on another thread. I’m starting from zero the same as you.

need to do some more sessions to see what is actually happening.
It might also been interesting to get hands on the driver to decompile and analyse

This is the discovery info that is broadcasted regularly via UDP to 239.255.255.250:49153

^ÿúÿa3vE[ »ÛÀ¨
ïÿÿúÀnó¥áNOTIFY ALIVE SDDP/1.0
From: "x.x.x.x:1902"
Host: "ams24-000fff613376"
Max-Age: 1800
Type: "c4:triad_ams24"
Primary-Proxy: "avswitch"
Proxies: "avswitch"
Manufacturer: "Triad"
Model: "TS-AMS24"
Driver: "triad_ams24.c4z"

Were you tapping the traffic at the switch or the ethernet port? If you’re running wireshark from anywhere else you won’t see direct messages between the two. You might already know this - just checking.

I have the command list for the matrix, but the matrix will not accept UDP connections from my computer. It seems to only connect with a Control4 Director.

not really a Wireshark or networking professional :woozy_face:
will try on switch…

No worries - I’m learning all this myself. Without custom hardware you won’t be able to catch the traffic. I’m asking friends if they have anything I can borrow. In the meantime I’m trying to fix the old integration that used the C4 web interface via the C4 controller. That would at least get me running for now.

will also ask for some assistance as the trace on the ubiquity switch also didn’t reveal the cmd’s

I used this command to monitor switch traffic

wireshark -k -i <(sshpass -p<PASSWORD> ssh <USER>@<SWITCH-IP> -p 22 tcpdump -i eth0 host not <MY-LOCAL-IP> -U -w - )

could it be that they use an open socket to talk together, which might not show up in dumps? - just another guess :thinking:

It uses udp, so tcp dump won’t help as far as I know.

managed to capture some packets using port mirroring on my ubiquity switch. it’s all tcp but binary from controller to matrix with cleartext responses. can’t upload a *.pcapng.zip here

Ok - I got my system working using GitHub - itsfrosty/control4-2way-web-driver: Control4 2way web driver - Used by Home Bridge Control4 Plugin (homebridge-c4-plugin) and a modified version of GitHub - lawtancool/homeassistant-control4: Control4 integration for Home Assistant

It’s not directly controlling the matrix (which I’m starting to suspect will be a much longer project), but at least I’ve got sound for now. Now sure if anyone following has installed the web driver on their C4 server though - it’s not a trivial thing to do.

I have a CP2 controlling B-900-MOIP-4K-CTRL for video (17 TV’s and 4 Input Sources) and a Triad for audio. The vendor for the CP2 won’t give me the username and pwd for the CP2 for me to make changes so i am working on bypassing it and using HA to control everything. So far, I have control of the B-900 for video switching via http calls which is working great on IOS and a little clunky on Android. Happy to share that information if you want it, i am compiling a DOC on it. Next I want to use HA to control the Triad so is this working for you so far?

Sorry for late reply, didn’t have time to analyse the Wireshark dumps so far. But at first view it shouldn’t be to complicated to decode the commands.

AFAIR the commands where binary and the response plain text, unfortunately I can’t find my Wireshark dump :man_facepalming:

Super interested in this, I got two Control4 4-zone amps, and I’d love to use my audio matrix with them, it’s a C4-16ZAMSV3-B are there any updates on this and controlling audio matrix?

For anyone looking at this thread, just found this in original C4 channel

Seems that everything comes together

2 Likes

Im testing out the triad AMS audio switch and I dont see how to set up more than one channel in the Configuration.yaml file. Would someone please explain how to setup for multiple channels (audio zones)?

Thank you!
David

I don’t think this is possible with the integration as it is now. As I want to use this in combination with the bluesound_alt custom integration and then use speaker grouping in mini-media-player.

I would have to create one media-player entity for each c4 zone per source I want to actually use and then add this entity as a speaker group, but I assume this would also require some work in mini-media-player.

I don’t actually have time to dig more into this therefore this is all very speculative