AAT Multiroom PMR-4

Olá, estou finalizando um projeto onde aplicamos o HA e um multiroom da AAT PMR4. Esse equipamento possui interface ethernet e aplicativo próprio. Alguém ja conseguiu integrar ele no HA?

Obrigado.

1 Like

Também estou muito interessado nesta integração, trabalho com os amplificadores AAT e comecei a oferecer o HA nos meus projetos. Já vendi um multiroom digital da AAT, mas não integrei ao HA, preciso de um amplificador destes aqui no laboratório para criar a integração.

Tenho um manual com a especificação das conexões para controle dos multiroom detalhando todos os comandos, enviado pela própria AAT.

Olá Diego. Teve sucesso com a integração do multiroom?

Adquiri um e quero integrar com meu Home Assistant. Solicitei ao fornecedor que me vendeu o produto para que ele conseguisse alguma documentação, mas ví que vc citou que já conseguiu isto. Poderia compartilhar?

Tendo os comandos em mãos acredito que consiga comunicar com o dispositivo, inicialmente penso em utilizar o NodeRed para isto.

Caso eu consiga posso compartilhar aqui o projeto .

Abs

Olá.

O Fabricante me forneceu o manual de comandos e eu consegui fazer a integração via NodeRed.

A integração do Streaming acontece automatico via DLNA e LInkPlay, mas a integração do controle de Zonas, Entradas, ON-OFF e etc apenas via comandos TCP.

Caso necessitem posso postar por aqui.

Abs;

Consegui realizar integração com o HA. Foi relativamente simples. Para isso, utilizei a lista de comandos para comunicação serial e IR disponibilizada no manual do multiroom. No HA utilizei os comandos da seguinte forma, que inclusive utilizei o CHAT-GPT para auxilio.
"

configuration.yaml

command_line:

  • switch:
    name: Mute Show Room Teto
    command_on: “echo ‘[t001 MUTEON 1]’ | nc -i 1 -w 3 192.168.51.248 1024”
    command_off: “echo ‘[t001 MUTEOFF 1]’ | nc -i 1 -w 3 192.168.51.248 1024”
  • switch:
    name: Mute Show Room
    command_on: “echo ‘[t001 MUTEON 2]’ | nc -i 1 -w 3 192.168.51.248 1024”
    command_off: “echo ‘[t001 MUTEOFF 2]’ | nc -i 1 -w 3 192.168.51.248 1024”
  • switch:
    name: Mute Sala Reuniao
    command_on: “echo ‘[t001 MUTEON 3]’ | nc -i 1 -w 3 192.168.51.248 1024”
    command_off: “echo ‘[t001 MUTEOFF 3]’ | nc -i 1 -w 3 192.168.51.248 1024”
  • switch:
    name: Mute Reuniao Interna
    command_on: “echo ‘[t001 MUTEON 4]’ | nc -i 1 -w 3 192.168.51.248 1024”
    command_off: “echo ‘[t001 MUTEOFF 4]’ | nc -i 1 -w 3 192.168.51.248 1024”
  • switch:
    name: Multiroom Power
    command_on: “echo ‘[t001 PWRON]’ | nc -i 1 -w 3 192.168.51.248 1024”
    command_off: “echo ‘[t001 PWROFF]’ | nc -i 1 -w 3 192.168.51.248 1024”

"

Adicione uma linha no configuration.yaml

shell_command: !include shell_commands.yaml

Criei um arquivo com nome shell_comands.yaml com os comandos:

"
#Comandos zona 1 Showroom baixo
z1vol00: “echo ‘[t001 VOLSETX 1 0]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol10: “echo ‘[t001 VOLSETX 1 10]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol20: “echo ‘[t001 VOLSETX 1 20]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol30: “echo ‘[t001 VOLSETX 1 30]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol40: “echo ‘[t001 VOLSETX 1 40]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol50: “echo ‘[t001 VOLSETX 1 50]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol60: “echo ‘[t001 VOLSETX 1 60]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol65: “echo ‘[t001 VOLSETX 1 65]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol70: “echo ‘[t001 VOLSETX 1 70]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol75: “echo ‘[t001 VOLSETX 1 75]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol80: “echo ‘[t001 VOLSETX 1 80]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol85: “echo ‘[t001 VOLSETX 1 85]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol90: “echo ‘[t001 VOLSETX 1 87]’ | nc -i 1 -w 3 192.168.51.248 1024”
z1vol99: “echo ‘[t001 VOLSETX 1 87]’ | nc -i 1 -w 3 192.168.51.248 1024”

#Comandos zona 2 Showroom alto
z2vol00: “echo ‘[t001 VOLSETX 2 0]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol10: “echo ‘[t001 VOLSETX 2 10]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol20: “echo ‘[t001 VOLSETX 2 20]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol30: “echo ‘[t001 VOLSETX 2 30]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol40: “echo ‘[t001 VOLSETX 2 40]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol50: “echo ‘[t001 VOLSETX 2 50]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol60: “echo ‘[t001 VOLSETX 2 60]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol65: “echo ‘[t001 VOLSETX 2 65]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol70: “echo ‘[t001 VOLSETX 2 70]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol75: “echo ‘[t001 VOLSETX 2 75]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol80: “echo ‘[t001 VOLSETX 2 80]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol85: “echo ‘[t001 VOLSETX 2 85]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol90: “echo ‘[t001 VOLSETX 2 87]’ | nc -i 1 -w 3 192.168.51.248 1024”
z2vol99: “echo ‘[t001 VOLSETX 2 87]’ | nc -i 1 -w 3 192.168.51.248 1024”

#Comandos zona 3 Reunião
z3vol00: “echo ‘[t001 VOLSETX 3 0]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol10: “echo ‘[t001 VOLSETX 3 10]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol20: “echo ‘[t001 VOLSETX 3 20]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol30: “echo ‘[t001 VOLSETX 3 30]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol40: “echo ‘[t001 VOLSETX 3 40]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol50: “echo ‘[t001 VOLSETX 3 50]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol60: “echo ‘[t001 VOLSETX 3 60]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol65: “echo ‘[t001 VOLSETX 3 65]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol70: “echo ‘[t001 VOLSETX 3 70]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol75: “echo ‘[t001 VOLSETX 3 75]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol80: “echo ‘[t001 VOLSETX 3 80]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol85: “echo ‘[t001 VOLSETX 3 85]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol90: “echo ‘[t001 VOLSETX 3 87]’ | nc -i 1 -w 3 192.168.51.248 1024”
z3vol99: “echo ‘[t001 VOLSETX 3 87]’ | nc -i 1 -w 3 192.168.51.248 1024”

#Comandos zona 4 Reunião Interna
z4vol00: “echo ‘[t001 VOLSETX 4 0]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol10: “echo ‘[t001 VOLSETX 4 10]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol20: “echo ‘[t001 VOLSETX 4 20]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol30: “echo ‘[t001 VOLSETX 4 30]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol40: “echo ‘[t001 VOLSETX 4 40]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol50: “echo ‘[t001 VOLSETX 4 50]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol60: “echo ‘[t001 VOLSETX 4 60]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol65: “echo ‘[t001 VOLSETX 4 65]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol70: “echo ‘[t001 VOLSETX 4 70]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol75: “echo ‘[t001 VOLSETX 4 75]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol80: “echo ‘[t001 VOLSETX 4 80]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol85: “echo ‘[t001 VOLSETX 4 85]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol90: “echo ‘[t001 VOLSETX 4 87]’ | nc -i 1 -w 3 192.168.51.248 1024”
z4vol99: “echo ‘[t001 VOLSETX 4 87]’ | nc -i 1 -w 3 192.168.51.248 1024”

"

Depois criei um bloco com barra deslizante com 10 níveis e em cada nível um número em 0 e 10, correspondente à uma automação no HA, que ajusta o nível de volume.

Automação para acionar os comandos de volume

alias: Volume Sala Real
description: Zona 3
trigger:

  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 0.1
      id: “0”
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 1.1
      id: “1”
      above: 0.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 2.1
      id: “2”
      above: 1.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 3.1
      id: “3”
      above: 2.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 4.1
      id: “4”
      above: 3.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 5.1
      id: “5”
      above: 4.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 6.1
      id: “6”
      above: 5.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 7.1
      id: “7”
      above: 6.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 8.1
      id: “8”
      above: 7.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 9.1
      id: “9”
      above: 8.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
  • platform: numeric_state
    entity_id:
    • input_number.volume_sala_real_controle
      below: 10.1
      id: “10”
      above: 9.9
      for:
      hours: 0
      minutes: 0
      seconds: 1
      action:
  • choose:
    • conditions:
      • condition: trigger
        id:
        • “0”
          sequence:
      • service: shell_command.z3vol00
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “1”
          sequence:
      • service: shell_command.z3vol10
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “2”
          sequence:
      • service: shell_command.z3vol20
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “3”
          sequence:
      • service: shell_command.z3vol60
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “4”
          sequence:
      • service: shell_command.z3vol65
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “5”
          sequence:
      • service: shell_command.z3vol70
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “6”
          sequence:
      • service: shell_command.z3vol75
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “7”
          sequence:
      • service: shell_command.z3vol80
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “8”
          sequence:
      • service: shell_command.z3vol85
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “9”
          sequence:
      • service: shell_command.z3vol90
        data: {}
    • conditions:
      • condition: trigger
        id:
        • “10”
          sequence:
      • service: shell_command.z3vol99
        data: {}