Я заядлый игроман и когда начал разбираться с 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.
Добавим 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 так и из приложения Дом.
Как всегда отлично ))) Не зря подписался )))
Супер!
Спасибо за статью, пригодится!
Вроде как в прошлом обновлений обещали выкатить нормальную поддержку ps4, в виде компонента. Но пока тишина. Но я думаю это вопрос времени.
А так спасибо, статья хорошая :)
"Компонент для нативной поддержки PS4 в Home Assistantнаходится в разработке, однако неизвестно сколько еще времени он будет разрабатываться т.к. с середины декабря 2018 года в соответствующей ветке на GitHub полная тишина."
А вот и нет, они просто переехали в новую ветку. И компонент почти готов. Более того, будет работать через интеграции, без нужды прописывать его в конфиг.
Спасибо за актуальные данные. Понятно, что это вопрос времени, а статья направлена прежде всего на тех кому не хочется ждать =)