Skip to content

Instantly share code, notes, and snippets.

@AlexxIT
Last active September 5, 2024 23:19
Show Gist options
  • Save AlexxIT/5dd25dbe3306d673ad013f05617a8056 to your computer and use it in GitHub Desktop.
Save AlexxIT/5dd25dbe3306d673ad013f05617a8056 to your computer and use it in GitHub Desktop.
Звонок на колонку с Алисой

Создаём в Home Assistant карточку для быстрого звонка на колонку.

  1. Можно создать или просто карточку-кнопку:
type: button
icon: 'mdi:phone-classic'
tap_action:
  action: url
  # Яндекс > Устройства > Колонка > Дополнительная информация > Идентификатор устройства (регистр важен)
  url_path: 'ya-search-app-open://path?uri=messenger://call/create/private?device_id=***' # вставьте свой device_id
name: Звонок на колонку
  1. Или добавить возможность звонка в кастомную карточку медиа-плеера mini-media-player. Рекомендуется её установить через HACS.
entity: media_player.yandex_station_mini  # поменяйте на свою колонку
artwork: cover
sound_mode: icon
tap_action:
  action: url
  # Яндекс > Устройства > Колонка > Дополнительная информация > Идентификатор устройства (регистр важен)
  url: 'ya-search-app-open://path?uri=messenger://call/create/private?device_id=XXXXXXXXXX'  # вставьте свой device_id
  new_tab: true
hide:
  sound_mode: false
  runtime: false
tts:
  platform: yandex_station
type: 'custom:mini-media-player'

Теперь при нажатии на карточку на смартфоне с установленным приложением Яндекс, сразу будет открываться звонок на вашу станцию. Работает на iOS (включая iPad) и Android.

Дополнительно можно сделать "тихий" звонок на свою колонку. Нужно создать такой скрипт и вызывать его ДО звонка. С ним ваша колонка перейдёт в беззвучный режим, через 5 секунд сама снимет трубку и вернёт назад звук. Работает на всех колонках.

alias: Звонок на станцию
sequence:
  - service: media_player.volume_set
    data:
      volume_level: 0
    entity_id: media_player.yandex_station_mini  # поменяйте на свою колонку
  - delay: '00:00:05'
  - service: media_player.play_media
    data:
      media_content_id: Сними трубку
      media_content_type: command
    entity_id: media_player.yandex_station_mini  # поменяйте на свою колонку
  - delay: '00:00:01'
  - service: media_player.volume_set
    data:
      volume_level: 0.5
    entity_id: media_player.yandex_station_mini  # поменяйте на свою колонку
mode: single
icon: 'mdi:phone-classic'
  1. Для тихого звонка можно использовать кастомную карточку-кнопку button-card. Она позволяет одновременно включить тихий звонок и позвонить на колонку:
type: 'custom:button-card'
icon: 'mdi:phone-classic'
tap_action:
  action: url
  # укажите ваш ID-скрипа, его можно посмотреть в адресной строке браузера после сохранения скрипта
  # укажите ваш device_id колонки
  url_path: >
    [[[ hass.callService("script", "***"); return "ya-search-app-open://path?uri=messenger://call/create/private?device_id=***" ]]]

PS: не пытайтесь сломать Яндекс и звонить на чужие колонки. Это не работает. Поскольку колонка ваша - "тихий" звонок тоже не считается уязвимостью.

@Vinkoy
Copy link

Vinkoy commented Jan 19, 2024

В колонках появилась возможность звонка без ожидания ответа командой "Соедини". Например, если сказать "Соедини с колонкой в детской", то колонка сама снимет трубку. Возможно ли подобное сделать через url_path?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment