Найти в Дзене
Константин Н.

Регулятор громкости шайба ZigBee для LMS + HomeAssistant

Оглавление

Нашел идеальный регулятор громкости для плееров подключеных в LMS (HomePod, JBL Playlist, Радиотехника+ArylicAmp)

  • Крутелка регулирует горомкость
  • Нажатие Play/Pause
  • Переключение вперед/назад

Есть магнит, можно лепить на холодильник, ногу стола, или в любое удобное место.
Вращение с фиксироваными шагами как колесо на мыше.

-2

-3

Подключение в Home Assistant

-4
Автоматизации для громкости и play/pause
Автоматизации для громкости и play/pause
-6
alias: Homepod1 Volume up
description: ""
triggers:
  - device_id: 792a22855e541b565976928810cab47a
    domain: zha
    type: remote_button_short_press
    subtype: dim_up
    trigger: device
conditions:
  - condition: state
    entity_id: media_player.homepod1_2
    state: playing
actions:
  - action: media_player.volume_up
    metadata: {}
    data: {}
    target:
      entity_id:
        - media_player.homepod1
    enabled: true
mode: single
alias: Homepod1 Volume up description: "" triggers: - device_id: 792a22855e541b565976928810cab47a domain: zha type: remote_button_short_press subtype: dim_up trigger: device conditions: - condition: state entity_id: media_player.homepod1_2 state: playing actions: - action: media_player.volume_up metadata: {} data: {} target: entity_id: - media_player.homepod1 enabled: true mode: single
alias: Homepod1 Play/Pause
description: Управление паузой/воспроизведением по нажатию кнопки диммера
triggers:
  - event_type: zha_event
    event_data:
      device_ieee: a4:c1:38:b5:ee:1f:3d:76
      command: toggle
    trigger: event
conditions: []
actions:
  - action: media_player.media_play_pause
    metadata: {}
    data: {}
    target:
      entity_id:
        - media_player.homepod1_2
mode: single
alias: Homepod1 Play/Pause description: Управление паузой/воспроизведением по нажатию кнопки диммера triggers: - event_type: zha_event event_data: device_ieee: a4:c1:38:b5:ee:1f:3d:76 command: toggle trigger: event conditions: [] actions: - action: media_player.media_play_pause metadata: {} data: {} target: entity_id: - media_player.homepod1_2 mode: single

Добавляем универсальности, для работы регулятора с различными плеерами

добавляем выбор плеера

Вот так выглядит селектор плееров для регулятора
Вот так выглядит селектор плееров для регулятора
Создаем хелпер селектор плееров для регулятора
Создаем хелпер селектор плееров для регулятора
Создаем автоматизации универсальные
Создаем автоматизации универсальные
Поворот - Громкость увеличить, если плеер играет, и громкость < 40%
Поворот - Громкость увеличить, если плеер играет, и громкость < 40%
alias: Dimmer Volume Dn
description: Управление громкостью активного плеера через селектор
triggers:
  - device_id: 792a22855e541b565976928810cab47a
    domain: zha
    type: remote_button_short_press
    subtype: dim_down
    trigger: device
conditions:
  - condition: template
    value_template: "{{ is_state(states('input_select.player'), 'playing') }}"
  - condition: template
    value_template: >-
      {{ state_attr(states('input_select.player'), 'volume_level') | float > 0.1
      }}
actions:
  - target:
      entity_id: "{{ states('input_select.player') }}"
    action: media_player.volume_down
    data: {}
mode: single
alias: Dimmer Volume Dn description: Управление громкостью активного плеера через селектор triggers: - device_id: 792a22855e541b565976928810cab47a domain: zha type: remote_button_short_press subtype: dim_down trigger: device conditions: - condition: template value_template: "{{ is_state(states('input_select.player'), 'playing') }}" - condition: template value_template: >- {{ state_attr(states('input_select.player'), 'volume_level') | float > 0.1 }} actions: - target: entity_id: "{{ states('input_select.player') }}" action: media_player.volume_down data: {} mode: single
Поворот - Если плеер не играет переключить на следущее в избранном
Поворот - Если плеер не играет переключить на следущее в избранном
alias: Dimmer Next
description: Управление громкостью активного плеера через селектор
triggers:
  - device_id: 792a22855e541b565976928810cab47a
    domain: zha
    type: remote_button_short_press
    subtype: dim_up
    trigger: device
conditions:
  - condition: template
    value_template: "{{ not is_state(states('input_select.player'), 'playing') }}"
actions:
  - data: {}
    action: rest_command.next_{{ states('input_select.player').split('.')[1] }}
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
mode: single
alias: Dimmer Next description: Управление громкостью активного плеера через селектор triggers: - device_id: 792a22855e541b565976928810cab47a domain: zha type: remote_button_short_press subtype: dim_up trigger: device conditions: - condition: template value_template: "{{ not is_state(states('input_select.player'), 'playing') }}" actions: - data: {} action: rest_command.next_{{ states('input_select.player').split('.')[1] }} - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 mode: single
Нажатие - Play/Pause
Нажатие - Play/Pause
alias: Dimmer Play/Pause
description: Управление громкостью активного плеера через селектор
triggers:
  - event_type: zha_event
    event_data:
      device_ieee: a4:c1:38:b5:ee:1f:3d:76
      command: toggle
    trigger: event
conditions: []
actions:
  - data: {}
    action: >-
      rest_command.pause_toggle_{{ states('input_select.player').split('.')[1]
      }}
mode: single
alias: Dimmer Play/Pause description: Управление громкостью активного плеера через селектор triggers: - event_type: zha_event event_data: device_ieee: a4:c1:38:b5:ee:1f:3d:76 command: toggle trigger: event conditions: [] actions: - data: {} action: >- rest_command.pause_toggle_{{ states('input_select.player').split('.')[1] }} mode: single

P.S. варианты с bluetooth
https://fosiaudio.com/products/vol20-bluetooth-volume-control-knob

-18