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

FYI, I researched adding the 5-band EQ to this as I had that when I had a controller connected a long time ago on OS3.something, but here is what I found out using AI. If anyone knows anything different, please share. AI has been instrumental in discovering the list of commands that were shared.

1. Tone Control Mode vs. Equalizer Mode

Control4 and Triad professional matrix amplifiers run onboard DSP (Digital Signal Processing) chips for each independent zone. To manage processing resources, the DSP operates in mutually exclusive audio modes:

  • Bypass (DSP Off): Raw audio is passed directly to the output. Tone and EQ adjustments are completely bypassed.
  • Tone Control Mode: This activates simple Bass and Treble shelving filters (via the c4.amp.bassgain and c4.amp.trebgain commands). In this mode, the advanced 5-band parametric EQ path is deactivated on the hardware level.
  • Equalizer Mode (EQ): This activates the 5-band parametric equalizer module (controlled via c4.amp.eqgain, c4.amp.eqfreq, and c4.amp.eqq commands). In this mode, the simple Bass and Treble shelving controls are deactivated.

2. Why We Cannot Enable the 5-Band EQ

When we ran UDP sweeps against the physical amplifier's firmware, we discovered the following:

  1. Wildcard Routing Confirmation: The amplifier's command parser uses a prefix wildcard (c4.amp.eq*) to route any EQ command to the equalizer module. However, because the zone is not in EQ mode, the module rejects the commands and returns a v01 (value/context error) instead of 000 (success).
  2. Standalone Configuration Lock: Switching a zone's DSP mode from Tone Control to Equalizer is a configuration-level setting. Normally, a Control4 controller manages and maintains this state. Because the Control4 controller has been removed from service, the amplifier operates in its factory-default, standalone mode. In this standalone state, the firmware restricts configuration-level DSP mode toggling over the network (commands like eqmode, eqbypass, and eqenable are rejected).

FYI, I have bundled the lovelace card with the integration in v2.3.4 so that you no longer have to download it separately. It takes care of the resource URL and everything for you. If you have any problems, just let me know by opening an issue.