PlayStation 4 - Подключаем к Home Assistant

4 февр. 2019 г.

Я заядлый игроман и когда начал разбираться с Home Assistant не мог обойти стороной возможность завести в него и любимую PS4 Pro. 

Важно! Если у вас только HomeBridge, то не расстраивайтесь, на сайте уже есть отличная статья от Антона Самсонова по добавлению консоли в него.

Вместо предисловия

Компонент для нативной поддержки PS4 в Home Assistant находится в разработке, однако неизвестно сколько еще времени он будет разрабатываться т.к. с середины декабря 2018 года в соответствующей ветке на GitHub полная тишина. Мы не будем ждать и установим кастомный компонент здесь и сейчас.

Подготавливаем базу

Для начала установим NodeJS и npm т.к. кастомный компонент использует ps4-waker, для работы и установки которого необходим NodeJS и npm (Замкнутый круг, правда?):

sudo apt install nodejs
curl -L https://www.npmjs.com/install.sh | sh

Теперь необходимо зайти под рутом и установить ps4-waker:

sudo -i
npm i ps4-waker -g

Устанавливаем на смартфон приложение PS4 Second Screen: линк для iOS и линк для Android; логинимся под своим PSN аккаунтом и выкидываем приложение из оперативной памяти.

Включаем PS4, идем в Настройки - Сеть - Узнать состояние соединения и запоминаем IP консоли.

Не выходя из под рута начинаем процесс получения credentials при помощи терминала и приложения (PS4 должна быть включена перед запуском следующей команды):

ps4-waker -c .ps4-wake.credentials.json -d ip вашей PS4

Далее пошагово:

  • Получаем ответ "No credentials; Use the PS4 Second Screen App and try to connect to PS4-Waker";
  • Открываем установленное ранее на смартфон приложение и кликаем на "PS4-Waker";
  • Получаем ответ, начинающийся с "Got credentials! ..." и предложение ввести pin код;
  • Идем в консоль: "Настройки - Настройки подключения мобильного приложения - Добавить устройство" и видим pin из 8 цифр;
  • Вводим полученный pin в терминал без пробелов (8 цифр подряд) и нажимаем "Enter";
  • Получаем ответ об удачном сопряжении "Logged into device! Future uses should succeed";
  • Радуемся, сохраняем себе куда-нибудь значение user-credential (Полученное выше после фразы Got credentials!) формата "'a9fadfd09d1e637b9cb5e6a3d364aaf3fc2e1cc9a47c22fcb17cfe23eb0f09a5'";
  • Выходим из под рута командой EXIT.


На этом танцы с бубном ps4-waker закончены.

Добавляем кастомный компонент и настраиваем

Идем в директорию конфигов HA, создаем нужные директории и копируем кастомный компонент:

sudo -u homeassistant -H -s
cd /home/homeassistant/.homeassistant
mkdir custom_components
cd custom_components
mkdir media_player
cd media_player
wget https://raw.githubusercontent.com/hmn/home-assistant-config/master/custom_components/media_player/ps4.py
exit

Идем в configuration.yaml, добавляем новую платформу и перезагружаем HA:

media_player:
  - platform: ps4
    host: ip вашей ps4
    name: 'Playstation 4'
    filename: 'ps4-wake.credentials.json'
    games_filename: 'ps4-games.json'

Идем в "Уведомления" (Колокольчик в правом верхнем углу HA) и видим сообщение "Конфигуратор. Нажмите кнопку, чтобы настроить Playstation 4", кликаем по кнопке "Настроить". Во всплывающем окне вставляем ранее сохраненный user-credential и кликаем по кнопке "Confirm".

На этом процесс добавления Playstation 4 в Home Assistant завершен.

Теперь настроим карточку PS4 в Lovelace.

Добавляем карточку "Media Control".

Выбираем в выпадающем списке "Объект" только что добавленную консоль и кликам по кнопке "Сохранить".

Теперь при помощи данной карточки мы можем включать и отправлять в сон нашу PS4.

Добавим немного Magic:

  • Запустите на консоли любую игру и подождите несколько секунд;
  • Вуаля, название и изображение запущенной игры появилось в карточке HA.

  • После запуска каждой игры, в HA будет подтягиваться ее название и изображение;
  • И еще немного Magic, теперь из карточки можно запускать необходимую нам игру (Кликаем на троеточие у карточки и выбираем игру в поле "Источник"). 

Добавим PS4 в HomeKit (Дом)

Чтобы можно было включать и выключать консоль из приложения Дом (или любого другого HomeKit совместимого app) идем в configuration.yaml, добавляем в платформу HomeKit следующее и перезагружаем HA:

homekit:
    entity_config:
      media_player.playstation_4:
        feature_list:
          - feature: on_off

У вас может быть entity отличное от моего пример "media_player.playstation_4", указываем свое.

На этом вся настройка завершена и вы можете управлять PS4 как из Home Assistant так и из приложения Дом.


Мы в Telegram - t.me/soprut
  1. Олег Челбаев (sprut)
    Олег Челбаев (sprut) отредактировано 2 месяца назад

    Как всегда отлично ))) Не зря подписался )))

  2. Антон Самсонов (samsonovs)
    Антон Самсонов (samsonovs) 2 месяца назад

    Супер!

  3. (klishchenkov)
    (klishchenkov) 2 месяца назад

    Спасибо за статью, пригодится!

  4. Белояр Иван (Ivan711)
    Белояр Иван (Ivan711) 2 месяца назад

    Вроде как в прошлом обновлений обещали выкатить нормальную поддержку ps4, в виде компонента. Но пока тишина. Но я думаю это вопрос времени. 

    А так спасибо, статья хорошая :)

  5. (Kvasenok)
    (Kvasenok) 2 месяца назад

    "Компонент для нативной поддержки PS4 в Home Assistantнаходится в разработке, однако неизвестно сколько еще времени он будет разрабатываться т.к. с середины декабря 2018 года в соответствующей ветке на GitHub полная тишина."

    А вот и нет, они просто переехали в новую ветку. И компонент почти готов. Более того, будет работать через интеграции, без нужды прописывать его в конфиг.

    • Алексей Леонтьев (c_ache)
      Алексей Леонтьев (c_ache) 2 месяца назад

      Спасибо за актуальные данные. Понятно, что это вопрос времени, а статья направлена прежде всего на тех кому не хочется ждать =)

    • (klishchenkov)
      (klishchenkov) месяц назад

      В недавнем обновлении HA 0.89.0 появилась поддержка PS4! Можно тестировать

  6. Алексей Леонтьев (c_ache)

    Начиная с 0.88 кастомный компонент не работает, а с 0.89 появилась нативная поддержка PS4. Данная статья более не актуальна. 

К списку статей

Похожие статьи

15 нояб. 2018 г.
Xiaomi Mi Remote 360 добавляем Apple HomeKit
4 сент. 2018 г.
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 нояб. 2018 г.
Способы автоматизации механических ворот
15 июн. 2018 г.
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
27 авг. 2018 г.
Интегрируем ХА в HomeKit
28 авг. 2018 г.
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
24 авг. 2018 г.
Пошаговая установка HomeAssistant
1 нояб. 2018 г.
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
25 нояб. 2018 г.
Умное зеркало добавляем модули Airplay и Google Calendar
3 окт. 2018 г.
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.