Skip to content

elrobertocarlos/marshall_bluetooth_speaker

Repository files navigation

Marshall Bluetooth Speakers - Home Assistant Integration

A Home Assistant integration for controlling Marshall Bluetooth speakers over BLE (Bluetooth Low Energy).

Features

  • πŸ”Š Media Player Control: Play, pause, next, previous track controls
  • πŸ”ˆ Volume Control: Adjust speaker volume with real-time feedback
  • πŸ’‘ LED Brightness: Control speaker LED brightness (0-35 range)
  • 🎡 Audio Source Selection: Switch between Bluetooth, Aux, and RCA inputs (model-dependent)
  • �️ 5-Band Equaliser: Individual control for Bass, Low-Mid, Mid, High-Mid, and Treble (0-10 range, 5 is neutral)
  • πŸ”” Interaction Sounds: Toggle device interaction sounds on/off
  • πŸ“Š Media Metadata: Display track title, artist, and album information
  • πŸ”Œ Connection Status: Track device connectivity
  • 🏷️ Device Information: Model, serial number, firmware, and hardware details
  • 🎯 Multi-Model Support: Acton II, Stanmore II, and extensible for additional models

Supported Devices

Model Features
Acton II Volume, LED Brightness, Audio Source (Bluetooth/Aux), 5-Band EQ, Interaction Sounds, Media Controls, Media Info
Stanmore II Volume, LED Brightness, Audio Source (Bluetooth/Aux/RCA), 5-Band EQ, Interaction Sounds, Media Controls, Media Info

Installation

HACS (Recommended)

  1. Open Home Assistant and go to Settings β†’ Devices & Services β†’ Custom repositories
  2. Add this repository URL: https://github.com/elrobertocarlos/marshall_bluetooth_speaker
  3. Search for "Marshall Bluetooth Speakers" in HACS and install

Manual Installation

  1. Copy the custom_components/marshall folder to your Home Assistant custom_components directory
  2. Restart Home Assistant
  3. Go to Settings β†’ Devices & Services β†’ Create Integration
  4. Search for "Marshall Bluetooth Speakers" and select it

Configuration

Discovery

The integration will automatically discover nearby Marshall speakers via Bluetooth:

  1. Go to Settings β†’ Devices & Services
  2. Look for "Discovered" section showing your Marshall speaker
  3. Click "Add" to add the integration
  4. Confirm the device when prompted (prevents accidental pairing)

Manual Setup

If auto-discovery doesn't work:

  1. Open Settings β†’ Devices & Services β†’ Create Integration
  2. Search for "Marshall Bluetooth Speakers"
  3. Select and configure (will prompt for device address)

Entities

Media Player

  • Play/Pause/Next/Previous: Full playback control
  • Media Title: Shows current track - artist (album)
  • Source Selection: Switch between available audio inputs
  • Volume: Adjustable via slider (0-32)

Numbers

  • LED Brightness: Adjustable LED brightness (0-35)
  • EQ Bass: Bass equaliser band (0-10, where 5 is neutral)
  • EQ Low-Mid: Low-mid equaliser band (0-10, where 5 is neutral)
  • EQ Mid: Mid equaliser band (0-10, where 5 is neutral)
  • EQ High-Mid: High-mid equaliser band (0-10, where 5 is neutral)
  • EQ Treble: Treble equaliser band (0-10, where 5 is neutral)

Switches

  • Interaction Sounds: Enable/disable speaker interaction sounds (button press and notification sounds)

Sensors (Diagnostic Category)

  • Device Name: Speaker name from device
  • Model: Device model name
  • Serial Number: Device serial number
  • Firmware Version: Current firmware version
  • Hardware Version: Hardware revision
  • Volume Level: Current volume setting (0-32)
  • Audio Source: Currently active audio source
  • Play Status: Current playback state (playing/paused/stopped)

Binary Sensors (Diagnostic Category)

  • Connected: Speaker connection status

Usage Examples

Toggle Playback

service: media_player.toggle
target:
  entity_id: media_player.acton_ii

Change Volume

service: media_player.volume_set
target:
  entity_id: media_player.acton_ii
data:
  volume_level: 0.5

Switch Audio Source

service: select.select_option
target:
  entity_id: select.acton_ii_source
data:
  option: "Aux"

Adjust EQ Bands

# Set Bass band to maximum
service: number.set_value
target:
  entity_id: number.acton_ii_eq_bass
data:
  value: 10

# Set Treble to neutral
service: number.set_value
target:
  entity_id: number.acton_ii_eq_treble
data:
  value: 5

Toggle Interaction Sounds

service: switch.turn_off
target:
  entity_id: switch.acton_ii_interaction_sounds

Adjust LED Brightness

service: number.set_value
target:
  entity_id: number.acton_ii_led_brightness
data:
  value: 20

Troubleshooting

Device Not Discovered

  • Ensure the speaker is powered on and in Bluetooth pairing mode
  • Check that your Home Assistant device has Bluetooth capability
  • Try rebooting Home Assistant

Connection Timeouts

  • Move the speaker closer to your Home Assistant device
  • Reduce interference from other Bluetooth devices
  • Restart the speaker

Volume/Source Not Changing

  • Ensure the characteristic is writable
  • Check the device is responding to commands (LED should blink)
  • Verify the speaker model supports the feature

Contributing

Contributions are welcome! Please open an issue or submit a PR for:

  • Additional Marshall speaker models
  • Bug fixes
  • Feature improvements
  • Documentation updates

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Disclaimer

This is an unofficial integration and is not affiliated with Marshall Amplification plc.

Credits

This integration was developed by reverse-engineering the Marshall Bluetooth protocol and is built upon research and insights from:

Developed for controlling Marshall speakers via BLE without requiring official apps.

About

A Home Assistant integration for controlling Marshall Bluetooth speakers over BLE (Bluetooth Low Energy).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors