-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Add ADAM audio documentation #44305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: next
Are you sure you want to change the base?
Add ADAM audio documentation #44305
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,124 @@ | ||||||||
| --- | ||||||||
| title: ADAM Audio | ||||||||
| description: Integrate ADAM Audio A-Series studio monitors into Home Assistant. | ||||||||
| ha_release: 2026.3 | ||||||||
| ha_iot_class: Local Polling | ||||||||
| ha_domain: adam_audio | ||||||||
| ha_codeowners: | ||||||||
| - '@Perhan35' | ||||||||
| ha_platforms: | ||||||||
| - number | ||||||||
| - select | ||||||||
| - switch | ||||||||
| ha_integration_type: device | ||||||||
| ha_quality_scale: bronze | ||||||||
| ha_zeroconf: true | ||||||||
| related: | ||||||||
| - url: https://github.com/Perhan35/ha-adam-audio | ||||||||
| title: GitHub Repository | ||||||||
|
Comment on lines
+16
to
+18
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
We don't usually refer to the GH repository from the user documentation. |
||||||||
| --- | ||||||||
|
|
||||||||
| The **ADAM Audio** integration allows you to control [ADAM Audio A-Series studio monitors](https://www.adam-audio.com/en/a-series/), such as the A4V or A7V, from Home Assistant using the AES70/OCA protocol over UDP. | ||||||||
|
|
||||||||
| Each physical speaker becomes a separate device with individual entities. | ||||||||
| A virtual **All Speakers** group device is automatically created so you can control all speakers simultaneously from a single entity or automation. | ||||||||
|
|
||||||||
| ## Supported devices | ||||||||
|
|
||||||||
| The following devices are known to be supported by the integration: | ||||||||
|
|
||||||||
| - ADAM Audio A4V | ||||||||
| - Other A-Series models like the A7V or A77H that implement AES70/OCA | ||||||||
|
|
||||||||
| ## Unsupported devices | ||||||||
|
|
||||||||
| The following devices are not supported by the integration, as they do not feature LAN connectivity: | ||||||||
|
|
||||||||
| - ADAM Audio T-Series | ||||||||
| - ADAM Audio S-Series | ||||||||
| - ADAM Audio Sub-Series | ||||||||
| - ADAM Audio D-Series | ||||||||
|
|
||||||||
| ## Prerequisites | ||||||||
|
|
||||||||
| - ADAM Audio A-Series speaker connected to the same local network as your Home Assistant instance. | ||||||||
| - Assign a static DHCP lease to each speaker for reliable operation. | ||||||||
|
|
||||||||
| {% include integrations/config_flow.md %} | ||||||||
|
|
||||||||
| {% configuration_basic %} | ||||||||
| Host: | ||||||||
| description: "The IP address or hostname of your speaker. For example: `192.168.1.100` or `left.adam_audio.local`." | ||||||||
| Port: | ||||||||
| description: "The port of the speaker. Default is `49494`." | ||||||||
| {% endconfiguration_basic %} | ||||||||
|
|
||||||||
| ## Supported functionality | ||||||||
|
|
||||||||
| The **ADAM Audio** integration provides the following entities. | ||||||||
|
|
||||||||
| ### Numbers | ||||||||
|
|
||||||||
| - **Bass**: Adjusts the bass shelf (-2 to +1). | ||||||||
| - **Desk**: Adjusts the desk correction (-2 to 0). | ||||||||
| - **Presence**: Adjusts the presence (-1 to +1). | ||||||||
| - **Treble**: Adjusts the treble shelf (-1 to +1). | ||||||||
|
|
||||||||
| ### Selects | ||||||||
|
|
||||||||
| - **Input source**: Switches between RCA and XLR inputs. | ||||||||
| - **Voicing**: Chooses between the Pure, UNR, or Ext voicing profiles. | ||||||||
|
|
||||||||
| ### Switches | ||||||||
|
|
||||||||
| - **Sleep**: Toggles standby mode. Sleep is active when the switch is on. | ||||||||
| - **Mute**: Mutes or un-mutes the monitor. | ||||||||
|
|
||||||||
| ## Automations examples | ||||||||
|
|
||||||||
| Mute both speakers when [Sonos](/integrations/sonos) starts playing: | ||||||||
|
|
||||||||
| ```yaml | ||||||||
| automation: | ||||||||
| trigger: | ||||||||
| - platform: state | ||||||||
| entity_id: media_player.sonos | ||||||||
| to: playing | ||||||||
| action: | ||||||||
| - service: switch.turn_on | ||||||||
| target: | ||||||||
| entity_id: switch.all_speakers_mute | ||||||||
| ``` | ||||||||
|
|
||||||||
| Wake speakers at 9:00 AM on weekdays: | ||||||||
|
|
||||||||
| ```yaml | ||||||||
| automation: | ||||||||
| trigger: | ||||||||
| - platform: time | ||||||||
| at: "09:00:00" | ||||||||
| condition: | ||||||||
| - condition: time | ||||||||
| weekday: [mon, tue, wed, thu, fri] | ||||||||
| action: | ||||||||
| - service: switch.turn_off | ||||||||
| target: | ||||||||
| entity_id: switch.all_speakers_sleep | ||||||||
| ``` | ||||||||
|
|
||||||||
| ## Data updates | ||||||||
|
|
||||||||
| Due to the connection type with the speakers, state is tracked optimistically. This means the integration records what it has set and assumes the speaker accepted it. If you change settings using the physical knob or the ADAM Audio A Control app, Home Assistant does not reflect those changes until the integration entry is reloaded. | ||||||||
|
|
||||||||
| A keepalive packet is sent every 25 seconds to maintain the OCA session. | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Do I need to know this as an end user? Do I need to do anything with this? |
||||||||
|
|
||||||||
| ## Known limitations | ||||||||
|
|
||||||||
| - Opening the official **ADAM Audio A Control** app while this integration is running causes the speaker to accept commands from the app, which overrides any state set by Home Assistant. Close the app to regain control. | ||||||||
| - State is optimistic, meaning physical knob changes are not polled back. | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Rephrased it a bit in a less technical way. Please correct me if I got this wrong. |
||||||||
|
|
||||||||
| ## Removing the integration | ||||||||
|
|
||||||||
| This integration follows standard integration removal. | ||||||||
|
|
||||||||
| {% include integrations/remove_device_service.md %} | ||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.