Реклама показывается только незарегистрированным пользователям. Вход или Регистрация

ИК-передатчик (IR-blaster) для телевизора LG

3D очки, беспроводные клавиатуры, веб-камеры, HDMI кабели, Wi-Fi адаптеры, настенные крепления, спутниковые тюнеры, медиа-плееры, смарт тв приставки и прочие дополнительные компоненты для телевизоров LG с webOS. Где купить и как пользоваться приставками для смарт тв.

Re: Телевизор LG OLED C4 (42,48,55,65,77,83") 2024 года

Сообщение rom77 » 09 янв 2025, 08:54

Здравствуйте, приобрел тв LG OLED77C4RLA.ARUG сборка индонезия, в комплекте были пульт батарейки, крепления, но почему-то не было IR Blaster. Подскажите идет ли в комплекте бластер или нет? если нет может кто продаст если не нужен?
rom77

 
Сообщения: 7
Зарегистрирован: 09 янв 2025, 08:50
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Телевизор: 77C4

Re: Телевизор LG OLED C4 (42,48,55,65,77,83") 2024 года

Спонсор » 09 янв 2025, 08:54

Реклама показывается только незарегистрированным пользователям. Войти или Зарегистрироваться
Спонсор

 
Сообщения: 100
Зарегистрирован: 15 июл 2014, 18:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Телевизор LG OLED C4 (42,48,55,65,77,83") 2024 года

Сообщение narpol » 09 янв 2025, 09:25

rom77 писал(а):LG OLED77C4RLA
идет ли в комплекте бластер или нет?
На сайте производителя https://www.lg.com/ru/televisions/lg-oled77c4rla есть
Все человек теряет с годами: юность, красоту, здоровье, порывы честолюбия. И только одна глупость никогда не покидает людей.
Броня крепка, но водка все же крепче.
Полезная форуму информация из ЛС будет опубликована в соответствующей теме.
Аватара пользователя
narpol

 
Сообщения: 16947
Зарегистрирован: 27 июл 2017, 09:13
Город: РФ, РКС
Благодарил (а): 798 раз.
Поблагодарили: 4027 раз.
Телевизор: 43UJ740 - 49SM9000 - OLED48CX
Звук: JBL BAR 9.1; M9702 [Pioneer UDP-LX500]

Re: Телевизор LG OLED C4 (42,48,55,65,77,83") 2024 года

Сообщение rom77 » 09 янв 2025, 09:32

Видать мне не доложили, продать никто не хочет если не нужен?
rom77

 
Сообщения: 7
Зарегистрирован: 09 янв 2025, 08:50
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Телевизор: 77C4

Re: Телевизор LG OLED C4 (42,48,55,65,77,83") 2024 года

Сообщение AlexMaestro » 09 янв 2025, 10:05


За это сообщение автора AlexMaestro поблагодарил:
rom77 (09 янв 2025, 17:11)
AlexMaestro

 
Сообщения: 2751
Зарегистрирован: 05 июл 2018, 16:42
Благодарил (а): 516 раз.
Поблагодарили: 439 раз.
Телевизор: LG 55B7V

Re: Телевизор LG OLED C4 (42,48,55,65,77,83") 2024 года

Сообщение rom77 » 09 янв 2025, 10:52

AlexMaestro
Спасибо большое оплатил.
rom77

 
Сообщения: 7
Зарегистрирован: 09 янв 2025, 08:50
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Телевизор: 77C4

Re: ИК-передатчик (IR-blaster) для телевизора LG

Сообщение JackSparrow » 05 мар 2025, 22:02

На 4pda народ заморочился с изучением логов работы приложения для управления ИК-передатчиком и кое-что вытащил оттуда. В частности, если есть доступ к командной строке телевизора, вот этой командой можно включить внешнее аудиоустройство (ресивер) через ИК.
Код: Выделить всё
luna-send -n 1 luna://com.webos.service.irdbmanager/sendIrCommand '{ "buttonState": "single", "deviceType": "audio", "keyCode": "IR_KEY_POWER"}'

При желании, другие команды управления можно "пограбить" вот этой командой:
Код: Выделить всё
ls-monitor -f com.webos.service.irdbmanager
JackSparrow

 
Сообщения: 10937
Зарегистрирован: 10 июн 2018, 17:48
Благодарил (а): 1781 раз.
Поблагодарили: 1915 раз.
Телевизор: LG OLED 55C9

Re: ИК-передатчик (IR-blaster) для телевизора LG

Сообщение AlexMaestro » 08 мар 2025, 19:57

Пользователь dkay выложил решение для автоматического управления питанием аудио-ресивера через ик-бластер (irdbmanager). Подойдет, если у вас, как и у него, достаточно старый ресивер, который управляется только со своего пульта, т. е. без HDMI. Требуется root и настроенный бластер в дисплее в разделе Внешние устройства.

Служба выполнена в виде одного скрипта на языке JS, для встроенного в webOS интерпретатора node. Работать будет даже если "быстрая загрузка+" включена. Скрипт подписывается на события службы tvpower (см. ниже), фильтрует их и переключает питание при наблюдении следующих событий:
  • Включение питания через пульт
  • Включение питания через приложение ThinQ или Wake-on-WLAN (одно и то же событие)
  • Включение питания через запрос AoD при подключении по bluetooth
  • Включение питания через Wake-on-LAN
  • Выключение питания через пульт или приложение (одно и то же событие)
  • Выключение питания через таймаут AoD в 30 секунд
  • Выключение питания через таймаут входа ТВ или HDMI
Служба НЕ переключает питание ресивера в следующих случаях:
  • Открытие приложения AoD ("Постоянная готовность" ;) с пульта или LG ThinQ
  • Подключение и отключение телефона по bluetooth при уже включенном питании
  • Включение дисплея из режима AoD, в который дисплей вошел по подключению bluetooth-устройства
Инструкция1. Подключаемся к рут-оболочке дисплея по ssh. Рут получаем стандартным путем: [rootmy.tv] Как получить Root права на webOS.

2. Создаем js-скрипт av-ir-ctrl.js по любому пути. Для примера будем использовать ~/scripts/av-ir-ctrl.js:
Код: Выделить всё
mkdir -p ~/scripts
touch ~/scripts/av-ir-ctrl.js
vi ~/scripts/av-ir-ctrl.js

Вставляем код

Код: Выделить всё
const { spawn } = require ('node:child_process') ;
const ls = spawn ('luna-send', ['-i', 'luna://com.webos.service.tvpower/power2/getPowerState', '{ "subscribe": true }']) ;

function irTogglePower () {
 spawn ('luna-send', ['-n', '1', 'luna://com.webos.service.irdbmanager/sendIrCommand', '{ "buttonState": "single", "deviceType": "audio", "keyCode": "IR_KEY_POWER"}']) ;
}

ls.stdout.on ('data', stdout => {
 /**
 * @param {string} jsonString
 * @return {Stdout | null}
 */
 const saveJsonParse = jsonString => {
 if (! jsonString) return ''
 try {
 const json = JSON.parse (jsonString)
 return json
 } catch (error) {
 console.error (error) ;
 return null
 }
 }

 const messages = `${stdout}`.split ('\n').map (saveJsonParse).filter (Boolean)

 messages.forEach (message => {
 if (
  (message['sub processing'] === 'screen on' && message.reason === 'remoteKey') ||
  (message['sub processing'] === 'screen on' && message.reason === 'wakeOnWiFi') ||
  (message['sub processing'] === 'screen on' && message.reason === 'onAoDByBT') ||
  (message['sub processing'] === 'screen on' && message.reason === 'wakeOnLan') ||
  (message['sub processing'] === 'prepare power off' && message.reason === 'remoteKey') ||
  (message['sub processing'] === 'prepare power off' && message.reason === 'aod30sec') ||
  (message['sub processing'] === 'prepare power off' && message.reason === 'nosignal')
) {
 irTogglePower ()
 }
 })
}) ;

ls.stderr.on ('data',  (data) => {
 console.error (`stderr: ${data}`) ;
}) ;

ls.on ('close',  (code) => {
 console.log (`child process exited with code ${code}`) ;
}) ;

и закрываем (Esc, :x, Enter)

3. Создаем shell-скрипт в webosbrew init.d для автозапуска нашего js-скрипта и открываем в редакторе
Код: Выделить всё
touch /var/lib/webosbrew/init.d/av-ir-ctrl
chmod gu+rwx /var/lib/webosbrew/init.d/av-ir-ctrl
vi /var/lib/webosbrew/init.d/av-ir-ctrl

вставляем скрипт:
Код: Выделить всё
#! /bin/sh
node ~/scripts/av-ir-ctrl.js

4. Перезагружаем дисплей. Я просто отключил от AC. Проверяем работу.

Протестировано на: LG OLED55C4RLA (webOS 23.20.40) + TEAC AG-5D
Благодарность evil_monkey, webos-forums, webOS чат, Кирилла за помощь с линухом, а так же Саню и Илью, которые помогли написать скрипт на языке JS.

Лог службы com.webos.service.tvpower с различными событиями питания, может кому-то пригодится. Читать лог нужно так, будто все сообщения приходили в рамках одной сессии. Комментариями (начинаются с символа "#" ;) написано что делалось/что происходило перед появлением той или иной группы сообщений
Код: Выделить всё
# 1. Сразу возвращает текущее состояние
{ "state": "POWER OFF", "sub state": "always ready", "lifeOnScreenMode": "allEnabled", "subscribed": true, "returnValue": true }

# 2. Нажал кнопку питания на magic remote первый раз, дисплей включился
{ "returnValue": true, "state": "POWER OFF", "sub state": "always ready", "sub processing": "prepare power on", "onOff": "on", "reason": "remoteKey", "next sub state": "active", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always ready", "sub processing": "lastinput ready", "onOff": "on", "reason": "remoteKey", "next sub state": "active", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always ready", "sub processing": "screen on", "onOff": "on", "reason": "remoteKey", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "active", "lifeOnScreenMode": "allEnabled" }

# 3. Нажал кнопку питания на magic remote второй раз, дисплей перешел в режим "постоянная готовность"
{ "returnValue": true, "state": "ACTIVE", "sub state": "active", "sub processing": "request always on display", "onOff": "off", "reason": "remoteKey", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always on display", "lifeOnScreenMode": "allEnabled" }

# 4. Нажал кнопку питания на magic remote третий раз, дисплей показал лого лыжи, погас и щелкнуло реле = выключился
{ "returnValue": true, "state": "ACTIVE", "sub state": "always on display", "sub processing": "request power off", "onOff": "off", "reason": "remoteKey", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always on display", "sub processing": "request power off logo", "onOff": "off", "reason": "remoteKey", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always on display", "sub processing": "request active standby", "onOff": "off", "reason": "remoteKey", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always on display", "sub processing": "prepare power off", "onOff": "off", "reason": "remoteKey", "next sub state": "active standby", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "active standby", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "active standby", "sub processing": "request always ready", "onOff": "off", "reason": "oslbSaving", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "active standby", "sub processing": "prepare power off", "onOff": "off", "reason": "oslbSaving", "next sub state": "always ready", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always ready", "lifeOnScreenMode": "allEnabled" }

# 5. Подключил телефон по bluetooth при выключенном дисплее - включился AoD
{ "returnValue": true, "state": "POWER OFF", "sub state": "always ready", "sub processing": "prepare power on", "onOff": "on", "reason": "onAoDByBT", "next sub state": "always on display", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always ready", "sub processing": "lastinput ready", "onOff": "on", "reason": "onAoDByBT", "next sub state": "always on display", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always ready", "sub processing": "screen on", "onOff": "on", "reason": "onAoDByBT", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always on display", "lifeOnScreenMode": "allEnabled" }

# 6. Отключил телефон от bluetooth, спустя 30 секунд автоматически AoD выключился
{ "returnValue": true, "state": "ACTIVE", "sub state": "always on display", "sub processing": "request power off", "onOff": "off", "reason": "aod30sec", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always on display", "sub processing": "request active standby", "onOff": "off", "reason": "aod30sec", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always on display", "sub processing": "prepare power off", "onOff": "off", "reason": "aod30sec", "next sub state": "active standby", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "active standby", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "active standby", "sub processing": "request always ready", "onOff": "off", "reason": "oslbSaving", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "active standby", "sub processing": "prepare power off", "onOff": "off", "reason": "oslbSaving", "next sub state": "always ready", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always ready", "lifeOnScreenMode": "allEnabled" }

# 7. Отправил Wake-On-Lan magic packet
{ "returnValue": true, "state": "POWER OFF", "sub state": "always ready", "sub processing": "prepare power on", "onOff": "on", "reason": "wakeOnLan", "next sub state": "active", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always ready", "sub processing": "lastinput ready", "onOff": "on", "reason": "wakeOnLan", "next sub state": "active", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always ready", "sub processing": "screen on", "onOff": "on", "reason": "wakeOnLan", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "active", "lifeOnScreenMode": "allEnabled" }

# 8. Выключил дисплей через приложение LG ThinQ. Идентично выключению с пульта.
{ "returnValue": true, "state": "ACTIVE", "sub state": "always on display", "sub processing": "request power off", "onOff": "off", "reason": "remoteKey", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always on display", "sub processing": "request power off logo", "onOff": "off", "reason": "remoteKey", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always on display", "sub processing": "request active standby", "onOff": "off", "reason": "remoteKey", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always on display", "sub processing": "prepare power off", "onOff": "off", "reason": "remoteKey", "next sub state": "active standby", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "active standby", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "active standby", "sub processing": "request always ready", "onOff": "off", "reason": "oslbSaving", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "active standby", "sub processing": "prepare power off", "onOff": "off", "reason": "oslbSaving", "next sub state": "always ready", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "POWER OFF", "sub state": "always ready", "lifeOnScreenMode": "allEnabled" }

# 9. Включил дисплей через приложение LG ThinQ. А тут уже разница имеется. Поле/свойство reason имеет значение wakeOnWiFi вместо remoteKey
{ "returnValue": true, "state": "POWER OFF", "sub state": "always ready", "sub processing": "prepare power on", "onOff": "on", "reason": "wakeOnWiFi", "next sub state": "active", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always ready", "sub processing": "lastinput ready", "onOff": "on", "reason": "wakeOnWiFi", "next sub state": "active", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always ready", "sub processing": "screen on", "onOff": "on", "reason": "wakeOnWiFi", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "active", "lifeOnScreenMode": "allEnabled" }

# 10. Подключил телефон по bluetooth при включенном дисплее
{ "returnValue": true, "state": "ACTIVE", "sub state": "active", "sub processing": "request always on display", "onOff": "off", "reason": "onAoDByBTPlayer", "lifeOnScreenMode": "allEnabled" }
{ "returnValue": true, "state": "ACTIVE", "sub state": "always on display", "lifeOnScreenMode": "allEnabled" }

При открывании приложения "постоянная готовность" из приложения LG ThinQ ничего не происходит, но происходит, если оно открыто при нажатии кнопки выключения на Magic Remote (см. пункт 3. в логе выше). В режиме "постоянная готовность" при подключении телефона по bluetooth к монитору так же не происходит ничего, но происходит при подключении по bluetooth (см. пункты 5. и 10.).
av-ir-ctrl.zip
(806 байт) Скачиваний: 51
AlexMaestro

 
Сообщения: 2751
Зарегистрирован: 05 июл 2018, 16:42
Благодарил (а): 516 раз.
Поблагодарили: 439 раз.
Телевизор: LG 55B7V

Пред.

Вернуться в Аксессуары и внешние устройства



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Реклама показывается только незарегистрированным пользователям. Вход или Регистрация