TV в homekit через homebridge и Broadlink

18 мая 2019, 08:02

Интро

Данная статья специально для тех, кто устал от изобилия всеразличных пультов под каждый вид техники и решил обзавестись такой замечательной вещью как Broadlink RM.

Итак, что нам потребуется:
  1. Малина, с установленным Homebridge на борту (тыктык).
  2. Непосредственно один из видов Broadlink RM (это может быть Broadlink RM Pro или же RM3 Mini тык).
  3. iPad или iPhone на котором мы будем пользоваться сием удобством.

Установка homebridge-broadlink-rm-tv

Делаем мы это во вкладке плагины в нашем UI либо залетаем в терминал (тык, тык) и пишем:


npm i -g homebridge-broadlink-rm-tv

Ждем установки и переходим к следующему шагу.

Редактирование конфига

Открываем конфигурацию любым удобным способом и прописываем туда:

    "platforms": [
        {
            "platform": "BroadlinkRM",
            "name": "Broadlink RM",
            "hideScanFrequencyButton": true,
            "hideLearnButton": true,
            "hideWelcomeMessage": false,
            "accessories": [
                {
                    "name": "My TV",
                    "type": "tv",
                    "host": "192.168.0.000",
                    "data": {
                        "off": "26008C009392143614351436141114111411141015101436143515351411141114111411141114101436141114111411141015101411143614111435143614361435143614351500060197921436143514361411141114101510141114361435153514111411141114101510141114361411141015101411141114111435151014361435153514361435153514000D05000000000000000000000000",
                        "on": "260....",
                        "remote": {
                            "select": "260....",
                            "arrowUp": "260....",
                            "arrowDown": "260....",
                            "arrowLeft": "260....",
                            "arrowRight": "260....",
                            "back": "260....",
                            "exit": "260....",
                            "playPause": "260....",
                            "info": "260...."
                        },
                        "powerMode": {
                            "show": "260...."
                        },
                        "volume": {
                            "up": "260....",
                            "down": "260...."
                        },
                        "inputs": [
                            {
                                "name": "HDMI 1",
                                "type": "hdmi",
                                "data": [
                                    {
                                        "data": "260....",
                                        "pause": 0.4
                                    },
                                    {
                                        "data": "260....",
                                        "pause": 0.4
                                    },
                                    {
                                        "data": "260....",
                                        "pause": 0.4
                                    },
                                    {
                                        "data": "260....",
                                        "pause": 0.4
                                    }
                                ]
                            },
                            {
                                "name": "TV",
                                "type": "hdmi",
                                "data": [
                                    {
                                        "data": "260....",
                                        "pause": 0.4
                                    },
                                    {
                                        "data": "260....",
                                        "pause": 0.4
                                    },
                                    {
                                        "data": "260....",
                                        "pause": 0.4
                                    },
                                    {
                                        "data": "260....",
                                        "pause": 0.4
                                    },
                                    {
                                        "data": "260....",
                                        "pause": 0.4
                                    }
                                ]
                            }
                        ]
                    }
                }
            ]
        }
    ]
}

Что за что отвечает:

name: везде произвольно и исключительно на усмотрение установщика.

type: оставляем tv, иначе ничего не выйдет).

host: ip вашего Broadlink.

data: начало поля HEX кодов .

(В дальнейших полях необходимо будет вставить коды от вашего пульта для ТВ.

Для считывания кодов можно:

  1. Использовать способности плагина, для этого нужно в конфиге изменить "hideLearnButton": false и у нас появится переключатель, при нажатии на который можно будет считать код и увидеть его в логе homebridge.
  2. Чем пользовался я и на мой взгляд более удобно: скачиваем программу Broadlink Manager и далее всё интуитивно понятно, однако, подходит исключительно для windows).
  3. Любой другой известный вам и более удобный для вас способ.

on/off: включение/выключение .

select: кнопка ok.

arrowUp/Down/Left/Right: клавиши вверх/вниз/влево/вправо.

power mode: показано на скрине ниже.

Inputs: выбор ввода как на скрине --->

У меня нужно сделать несколько действий, поэтому для каждого ввода несколько кодов по очереди, но если у вас больше/меньше, то можно убрать или добавить еще строчек

Думаю что означает Volume, back, exit, PlayPause, info вы знаете, поэтому пойдем дальше).

Для удобства подписал что за что будет отвечать на скринах ниже, (пульт появится там же где и пульт для Apple TV) для удобства можно задать клавишам более нужные функции, например на PlayPause я лично поставил функцию Mutе, а на стрелки переключение каналов и громкости, по умолчанию громкость регулируется кнопками громкости iPhone.

Перезагружаем homebridge

После перезапуска должна появиться иконка TV и пульт в пункте управления, там же где и пульт от ATV.


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Дмитрий Батюшин (ReD)
    Дмитрий Батюшин (ReD) месяц назад

    отличное решение, теперь в кит можно добавить любой телевизор красиво.

  2. Вячеслав Фетисов (Ziracul)

    Спасибо за интересное решение:)

  3. Иван Сандин (L0lko)
    Иван Сандин (L0lko) месяц назад

    А возможно ли, так же красиво сделать это через home assistants ?

  4. Сергей Ткаченко (Alens87)

    Подскажи пожалуйста по настройке переключения input. У меня чтобы выбрать нужно нажать кнопку Источник и либо стрелками выбрать нужный hdmi, либо последующие нажатия на кнопку Источник будет переключаться на следующий доступный Выход. Как это лучше прописать? Спасибо

    • Даниил Кусков (daddvok)
      Даниил Кусков (daddvok) месяц назад

      Все действия поочередно, 1 код - источник, 2 код - стрелка, 3 код - ок, 4 код - exit, например. У меня так же

      • Сергей Ткаченко (Alens87)

        Понял. Спасибо. Правда у меня почему то через плагин перестали считываться коды. Включается режим, но когд не считается( 

        • Даниил Кусков (daddvok)
          Даниил Кусков (daddvok) месяц назад

          Тут уж не подскажу, я все через прогу Broadlink Manager делал, никаких проблем не возникало

          • Сергей Ткаченко (Alens87)

            Я б тоже воспользовался, но у меня Mac

            • Даниил Кусков (daddvok)
              Даниил Кусков (daddvok) месяц назад

              Погугли еще способы, там можно и через ха и через нодред и еще какой-то способ в хб был, думаю найдешь альтернативный

              • Сергей Ткаченко (Alens87)

                А у тебя случайно телек не Samsung?

                • Даниил Кусков (daddvok)
                  Даниил Кусков (daddvok) месяц назад

                  Samsung F серии

                  • Сергей Ткаченко (Alens87)

                    Можешь скинуть свои hex коды? Просто у меня  почему то только сигнал вкл/выкл нормально считывается( 

                    • Даниил Кусков (daddvok)
                      Даниил Кусков (daddvok) месяц назад

                      Ok: "26002800070B300D13050AB50C820F8E091C0A4106870E380B210A4008170E1B074908840C0009090A000D05",

                      Source: "26008C009193133713371435141113121312141113121336133713371312131113121411141113361411141114111411141114111311141114361435143614361435143614361400060295931337133613371312131213121311131212381337113812131213121312131113123812131213121311131213121312131213123712381238123712381238123712000D05000000000000000000000000"

                      Канал +: "26008C008E95123811381238121311141113131212141138123712381213111412121214111313121237121313121238111411131213123812131237123812131237123812381200060394941238123811381312121313121213111411381238123712141113121411141014111314361214111312371214121311131237131212381237131311381237143613000D05000000000000000000000000",

                      Канал -: "26008C008F94133713351438121311131214111311141138133713361214121311131114121312131114111411141137131212141114113712391237123713131139113712381200060394951238123712381213121311141113131310391238113812131114111412121313111311141114121212391113121214121236133811391138121311381337123812000D05000000000000000000000000",

                      Громкость -: "26008C009193133713371237121313121213121312121238123812371312131311131213121312371634131311371213121313121214111312121238121313371138133712381100060494951337123712381213121311131312131311381237133713121213121311141114113813361213143612141113121213121312121313371212123812381237123812000D05000000000000000000000000",

                      Громкость +: "26008C009293133712371238131311131312121312121238133612381213121312131114111412371238123713121214121212131212121411141114113811381238133612371300060693941238113811381213131213131014111312381337123812121213131311131113123812381237121313121213131211141113121312131238123713371237123812000D05000000000000000000000000",

                      Return: "26008C008F95123713371238121311141213111312131238113812381213121312131113121312131313111312371238131212381213113813371138121412121238111312381200060494941238123812371114121313121213121311381238123811141114121311141113121311131213133713371114123712131337123712381213121311381214113812000D05000000000000000000000000",

                      Exit: "26008C009094123812381138121412121312131211141237123812371213131212131213131211381312133713361312133712131213111411381213121312381114123712381100060693941237133713371214111312121213121312381138123813121213111411141113123812131336133713121237121312131213133612141212123812131138133712000D05000000000000000000000000",

                      Mute: "26008C008E961138113812381114111411141114111411381139113812141014121311131214113812371338113811141114121311141114101412131114113812381138123812000606919511391238113A1013131211151112121411371238123811141312111411141213113812371238123811141114111411141113111510141114123712371239113811000D05000000000000000000000000",

                      Menu: "26008C00909413361337123812131311121312131312133712371337131212121312121411131213123712131238123712131213131213371212133713121312123713371238120006039594123713371237131213121213121313121237123F0B3713121213131311131114131211381213123712381213121410141138131213371311131213371337113812000D05000000000000000000000000"

                      • Сергей Ткаченко (Alens87)

                        Спасибо большое, Попробую. А стрелок (влево, вправо, вверх, вниз) нет?

                        • Даниил Кусков (daddvok)
                          Даниил Кусков (daddvok) месяц назад

                          есть, но не в HEX, а в Base64, но их можно конвертировать (гугл поможет)

                          Влево: JgCMAJCUEjgTNhI4EhMSExITERMSExI4EjcSOBITExISExISEhMSOBMSEjcTEhMSEjgSNxITEhMSNxITEjgSOBISEhMSOBMABgKUlBM3EzcTNxISExITEhITEhMSNxI4EjgSExISEhMTEhITEjcTEhI4EhMSExE4EjgSExISEzcTEhI4ETgSExITEjcSAA0FAAAAAAAAAAAAAAAA Вправо: JgDSAJCVEjcSOBM3ERMTEhMSEhMSExI3EzcTNxITERMSExITEhMSExI3EhMSExMSEzYTNxMSEjcTEhI4EjgSNxITExISOBIABgOUlBM3EjgSNxITEhMTEhITEhMROBI4EjcSExMSEhMSExMSEhISOBMSEhMSExI3EjgSExI3EhMSOBI3EzcTEhITEjcSAAYElJQUNhI3EjgSExMSEhISExITEzcSNxI4EhMSExISExITEhITEzcRFxQNEhMSOBI3ExITNxMSETgSOBI3EhMSExI4EwANBQAAAAAAAA== Вниз: JgCMAI+VEjcSOBI4EhISExITEhMTEhI3EjgSOBISExISExITEhMSNxMSEhMSExMSEzYSOBITEhMSNxM3EjgSNxMSExISOBEABgSUlBI4EjcTNxITEhMTEhISEhMSOBM3ETgSExITEhMSEhITEjgTEhITERMSExI4EjcSExITEjgTNhI4EzcSExISEjgTAA0FAAAAAAAAAAAAAAAA Вверх: JgDSAJCUEzcTNhI4EhMSExITEhISExM3EzYSOBITEhMSExISEhMTEhITEhMSExISEzcTNxETEjgSOBI3EzcSOBETEhMTNxIABgOVlBI3EzcSOBETExISExITEhMSNxI4EzcSEhMSEhMSExITEhMSEhMSExITEhM2EzcTEhI4ETgSOBI3EjgSExITEjcSAAYElJQTNxI3EjgSExITERMTEhMSEzcSNxI4EhMSExETEhMSExITEhMSExETEhMSOBI3EhMSOBM2EjgSOBI3EhMSExI4EgANBQAAAAAAAA==

      • Илья Гитлин (iGitlin)
        Илья Гитлин (iGitlin) месяц назад

        ребят вроде все телеки вне зависимости от пульта умеют по прямому коду сразу на нужный вход переключаться. Но нужен обучаемый пульт типа Harmony. Мои LG, Sony Philips, BK,Thompson так переключались.

        • Даниил Кусков (daddvok)
          Даниил Кусков (daddvok) месяц назад
          пока сделал так, если действительно так и сможешь завернуть то как это сделать в виде инструкции, то с меня лайк)

          • Илья Гитлин (iGitlin)
            Илья Гитлин (iGitlin) месяц назад

            а чего там в инструкцию писать - берем пульт Harmony в него заводим ваш телек и с пульта считываем коды конкретных входов.
            Пульта ели нет то они сейчас не дорого стоят на ebay - подойдет фактически любой у которого есть экран - так как на экранном меню можно создавать свои собственные кнопки и вывести нужные команды входов.

            • Даниил Кусков (daddvok)
              Даниил Кусков (daddvok) 30 дней назад
              А коды-то прямые по входам откуда взять? Если на оригинальном пульте не задумано так Harmony их генерирует что ли?

              • Илья Гитлин (iGitlin)
                Илья Гитлин (iGitlin) 30 дней назад

                Я же говорю - почти все телевизоры и ресиверы уже имеют прямые коды для конкретных входов и функций. Но на пультах не выводят. А хармони имеет очень большую базу устройств и кодов и если какого то устройства нет то обучается паре команд с родного пульта остальное самостоятельно подтягивает

  5. Алексей Костаков (partizan)

    спасибо, ожидал. правда жаль не на все телеки можно найти дискретный код выключения.

  6. (AlexPas)
    (AlexPas) месяц назад

    Жаль что без без атв бесполезно,

    Все сделала хк пишет не поддерживается ,он без эпл тв не может распознать ? 

  7. (siddy)
    (siddy) месяц назад

    Ребята, подскажите пож-та, если уже установлен  homebridge-broadlink-rm v3.5.5, и несколько устройств уже есть в конфиге, все равно необходимо создавать новую платформу? или можно просто добавлять в аксессуары?

    • Даниил Кусков (daddvok)
      Даниил Кусков (daddvok) 30 дней назад

      В статье форк на твой плагин, то бишь он точно такой же, но с добавлением телека, просто переустанови плагин на тот что в статье и добавь телек в аксессуары, должно работать по идее

      • (siddy)
        (siddy) 30 дней назад

        Спасибо) всё заработало)

  8. (joyfixopium)
    (joyfixopium) 27 дней назад

    Помогите) 
    установил  homebridge-broadlink-rm-tv в терминале на mac os, теперь перестал homebridge  запускаться.
    до этого уже стоял  homebridge-broadlink-rm.BroadlinkRM

    сейчас пишет вот такую штуку:

    [2019-5-24 00:17:42] Loaded config.json with 0 accessories and 1 platforms.

    [2019-5-24 00:17:42] ---

    [2019-5-24 00:17:45] Loaded plugin: homebridge-broadlink-rm

    [2019-5-24 00:17:45] Registering platform 'homebridge-broadlink-rm.BroadlinkRM'

    [2019-5-24 00:17:45] ---

    [2019-5-24 00:17:46] Loaded plugin: homebridge-broadlink-rm-tv

    /usr/local/lib/node_modules/homebridge/lib/api.js:150

        throw new Error("Attempting to register a platform '" + fullName + "' which has already been registered!");

    получается только один плагин надо оставить, только как удалить второй? что прописывать?

  9. (siddy)
    (siddy) 4 дня назад

    Прошу помощи: поменял роутер, после все плагины и конфиг перенастроил под новые ip итп, завелось всё, кроме ТВ, простая смена IP в конфиге не помогла, что еще можно попробовать? (убирал из конфига платформу, аксессуар, прописывал по новой, удалял мост хомбриджа и добавлял заново) что еще можно удалить?

    Телевизор в доме появляется, но не реагирует ни на одно действие

    • Даниил Кусков (daddvok)

      Так тут только ip бродлинка нужен, к роутеру привязки нет

      • (siddy)
        (siddy) 4 дня назад

        я идиот, я же поставил ip ТВ :( спасибо тебе)

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

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

15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 ноября 2018, 09:42
Способы автоматизации механических ворот
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
25 ноября 2018, 18:23
Умное зеркало добавляем модули Airplay и Google Calendar
04 апреля 2019, 17:48
Расскажу о том за ~1 час перевезти УД с 2мя USB стиками с Raspberry PI на Synology NAS.
28 марта 2019, 12:26
HomeKit - это программный framework от компании Apple, который позволяет пользователям iOS, macOS, watchOS и tvOS устройств управлять умными аксессуарами в доме, как через приложение "Дом", так и через голосовой ассистент Siri. Тем самым, делая ваш дом умным. При помощи Apple TV (tvOS) и HomePod управление возможно, но пока только на английском языке через Siri.
30 июня 2018, 12:17
Добавляем устройства управляемые по ИК через Broadlink RM3 Mini на примере кондиционера.