Home Assistant direct control of Control4 AMP and Tuner (no plugin needed)

If you use my media player custom component, you would remove the other c4 service.

I also have a Triad matrix and need to get it working with HA. Have you made any progress on capturing the commands on the network? This is a must-do for me, so I’m happy to help develop.

I couldn’t get it to work on my matrix, which was still a control 4. My suggestion is to buy a cheap used HC800 (still has software support), and pay a online C4 installer to configure it and load a generic TCP command driver in the system so it can be controlled by HA.

You could also get an old HC250 etc… and jailbreak the controller and program all this yourself. Google jailbreak control4, but I am not sure about the legality of all that.

Amazing, thank you @Hansen8601 This cleared up so much of my config and automations now with your plugin!

Quick question, I saw you have put the sources option there to name them, how do you actually select a source though? I created a media card similar to yours, so I can now turn on the speakers on and off, as well as one big button calling a script to turn all the speakers off at once - but not sure how to select source:

If you use the mini-media-player custom card, you unhide the source.

type: custom:mini-media-player
entity: media_player.kitchen
group: true
icon: mdi:speaker
volume_stateless: true
hide:
  play_pause: true
  volume_level: false
  source: false
  mute: true

Did some Wireshark sessions but could not yet find any commands send to the matrix. Only found the SSDP requests send from the matrix IP but nothing sent to this IP. I wonder if they use a kind of internal vlan to communicate.

@MrBrad see my other comment

Ah, amazing, yes I have that from HACS and have used it before. Many thanks!

That’s possible, but I’d be more inclined to believe they made it completely proprietary. I suspect after C4 found out their commands and access had been captured and made public, they made those changes. One of the reasons I kept only the matrix amp and tuner was it was far superior (at the time) for power. I haven’t investigated anything else since, but after spending a chunk on money on the C4 system, I was determined to keep what I felt were the best parts.

A vlan would have to be configured at the router/switch level, so unlikely they are creating a vlan. It. could be ssl/tsl encrypted, but you should still see the wire shark traffic. The devices are probably talking directly so you don’t see the traffic. Are you using port replication or something to make sure you see all the traffic?

I try to do remote tcpdump from ubiquity switch, see specific Triad tread Directly Controlling a Control4/Triad Audio Matrix via SDDP - #10 by kiwidan

Hi Folks, just wondering if anyone here is able to use the Control4 Matrix Amp without a Controller? I turned my Controller off, and now this integration is no longer able to control the amp. When I turn the controller back on, the amp is immediately controllable again. Is there something I need to do on the amp itself? It still has an IP address and is pingable. I am specifically using C4-16AMP3-B I bought in 2015.

After reading through the entire thread, it seems that I may have to keep the controller running just for this. :frowning:

Using my custom component you don’t need the controller. Use the amp IP address in the component and it works without the controller.

Thanks @Hansen8601! The strange thing is that I am and have been using your custom component and have all my media players defined like so:

media_player:  
  - platform: control4-mediaplayer
    name: Great Room
    host: "10.0.12.95"
    channel: 1
    on_volume: 15
    source_list:
      - "HC800-1"
      - "HC800-2"
      - "Server"
      - "N/A"
      - "Home Assistant"
      - "Bridge"
      - "Gym Bridge"
      - "Aux Audio"

It works fine as long as the Controller is on. When I unplug the controller, it works for a few minutes and then stops working until I plug it back in. I have tried twice now.

The IP address is assigned to the amp by pfSense. Is there maybe something I need to do from the Controller side to “reset” the amp config or something?

@OtisPresley, the controller has an ethernet pass-through port. Is the amp ethernet connected to the controller? I tested mine again with the controller off for ten minutes, and I can still control the amp.

Hi @Hansen8601, no it is not connected to the controller…only to the switch. I can still ping the amp IP address while the Controller is off.

So what I did last night is I removed all the Amp’s Connections configured in the Controller. I just tested again.

So far, it has been 25 minutes. It is working, but it is not updating the player states in HA anymore. For instance, the Player in the Study, reports that it is Off in Developer Tools, but I can set the Source of the player by calling the service, and it works; however, the state in Developer tools remains the same…Off and no Source.

I can change the source and things, which is an improvement over before where it produced an error message when I tried to control it. This is very strange behavior indeed.

I think my next step would be to actually remote the amp from the Controller and try again to see if that does it.

I removed the amp from the Controller configuration and get the same results. I can control the zones, but the status in HA does not udate. It works fine once I turn the Controller back on…very strange.

I’m able to reproduce it @OtisPresley. My guess is that when the controller is off, the amp tries to communicate with the controller about the state change, causing a different or delayed message back to the component when the controller is off.

I’m going to be traveling for a week, but I will test more when back. Maybe it can be solved by changing timeouts.

@OtisPresley, I pushed a new version to github that fixed the issue for me. It’s a little slower but does change states if the controller is off.

Thank you very much @Hansen8601! I will try it out and report back.