Skip to content

luizof/ha_multiroom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multiroom Audio (PMR7) - Home Assistant Integration

Custom integration for Home Assistant to control PMR7-based multiroom audio systems via TCP.

Features

  • 6-zone control: Each zone appears as a separate media player entity
  • Volume control: Set, mute/unmute, step up/down per zone
  • Source selection: Switch between 7 input sources per zone
  • Power on/off: Global power control
  • Auto-reconnect: Automatically reconnects if the TCP connection drops
  • Polling: Periodically polls device state via GETALL command
  • PT-BR translation: Portuguese (Brazil) translation included

Requirements

  • Home Assistant 2024.1 or later
  • A PMR7-compatible multiroom audio device accessible via TCP on port 1024

Installation

HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Click the three dots menu → Custom repositories
  3. Add https://github.com/luizof/ha_multiroom with category Integration
  4. Search for "Multiroom Audio" and install
  5. Restart Home Assistant

Manual

  1. Copy custom_components/multiroom_audio to your Home Assistant config/custom_components/ directory
  2. Restart Home Assistant

Configuration

  1. Go to Settings → Devices & Services → Add Integration
  2. Search for Multiroom Audio (PMR7)
  3. Enter:
    • Host: IP address of the multiroom device
    • Port: TCP port (default: 1024)
    • Name prefix: Label prefix for zone entities (default: "Multiroom")
  4. The integration will connect and create 6 media player entities (one per zone)

Protocol

The integration communicates via a text-based TCP protocol:

  • Port: 1024 (default)
  • Commands: [TNNN COMMAND PARAMS] (T = transaction)
  • Responses: [RNNN COMMAND ...]

Supported commands

Command Description
GETALL Query full device state
PWRON / PWROFF Power on/off
VOLSET zone level Set volume (0-100) for a zone
MUTETOG zone Toggle mute for a zone
INPSET zone source Set input source for a zone

Entities

For each zone (1-6), a media_player entity is created:

  • media_player.multiroom_zona_1 through media_player.multiroom_zona_6

Each entity supports:

  • Volume set / mute / step
  • Source selection (7 inputs)
  • Power on/off

Troubleshooting

Connection errors

  • Ensure the device is reachable on the network
  • Verify TCP port 1024 is not blocked by a firewall
  • Check Home Assistant logs for connection errors

Debug logging

logger:
  default: info
  logs:
    custom_components.multiroom_audio: debug

License

MIT

About

Home Assistant custom integration for PMR7 multiroom audio systems via TCP

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages