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 или Instagram
Остались вопросы? Мы в Telegram - @Soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Дмитрий Батюшин (ReD)

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

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

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

  3. Иван Сандин (L0lko)
    Иван Сандин (L0lko) год назад

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                  Samsung F серии

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

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

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

                      Ok: "26002800070B300D13050AB50C820F8E091C0A4106870E380B210A4008170E1B074908840C0009090A000D05",

                      Source: "26008C009193133713371435141113121312141113121336133713371312131113121411141113361411141114111411141114111311141114361435143614361435143614361400060295931337133613371312131213121311131212381337113812131213121312131113123812131213121311131213121312131213123712381238123712381238123712000D05000000000000000000000000"

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

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

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

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

                      Return: "26008C008F95123713371238121311141213111312131238113812381213121312131113121312131313111312371238131212381213113813371138121412121238111312381200060494941238123812371114121313121213121311381238123811141114121311141113121311131213133713371114123712131337123712381213121311381214113812000D05000000000000000000000000",

                      Exit: "26008C009094123812381138121412121312131211141237123812371213131212131213131211381312133713361312133712131213111411381213121312381114123712381100060693941237133713371214111312121213121312381138123813121213111411141113123812131336133713121237121312131213133612141212123812131138133712000D05000000000000000000000000",

                      Mute: "26008C008E961138113812381114111411141114111411381139113812141014121311131214113812371338113811141114121311141114101412131114113812381138123812000606919511391238113A1013131211151112121411371238123811141312111411141213113812371238123811141114111411141113111510141114123712371239113811000D05000000000000000000000000",

                      Menu: "26008C00909413361337123812131311121312131312133712371337131212121312121411131213123712131238123712131213131213371212133713121312123713371238120006039594123713371237131213121213121313121237123F0B3713121213131311131114131211381213123712381213121410141138131213371311131213371337113812000D05000000000000000000000000"

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

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

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

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

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

      • Илья Гитлин (iGitlin)

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

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

          • Илья Гитлин (iGitlin)

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

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

              • Илья Гитлин (iGitlin)

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

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

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

  6. (AlexPas)
    (AlexPas) год назад

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

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

  7. (siddy)
    (siddy) год назад

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

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

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

      • (siddy)
        (siddy) год назад

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

  8. (joyfixopium)
    (joyfixopium) год назад

    Помогите) 
    установил  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) 11 месяцев назад

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

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

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

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

      • (siddy)
        (siddy) 11 месяцев назад

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

  10. (LeGull)
    (LeGull) отредактировано 11 месяцев назад

    удалил старый плагин, поставил новый, конфиг поменял, проверил (jsonlint) и в итоге ничего не работает а выдает :

    ReferenceError: log is not defined at Object.keys.forEach (/usr/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:72:9) at Array.forEach (:null:null) at TVAccessory.checkConfig (/usr/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:54:25) at Object.keys.forEach (/usr/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:66:14) at Array.forEach (:null:null) at TVAccessory.checkConfig (/usr/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:54:25) at Object.keys.forEach (/usr/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:66:14) at Array.forEach (:null:null) at TVAccessory.checkConfig (/usr/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:54:25) at new HomebridgeAccessory (/usr/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:35:10) at new BroadlinkRMAccessory (/usr/lib/node_modules/homebridge-broadlink-rm-tv/accessories/accessory.js:16:5) at new TVAccessory (/usr/lib/node_modules/homebridge-broadlink-rm-tv/accessories/tv.js:9:5) at config.accessories.forEach (/usr/lib/node_modules/homebridge-broadlink-rm-tv/platform.js:68:32) at Array.forEach (:null:null) at BroadlinkRMPlatform.addAccessories (/usr/lib/node_modules/homebridge-broadlink-rm-tv/platform.js:63:24) at BroadlinkRMPlatform.accessories (/usr/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/platform.js:28:10) at Server._loadPlatformAccessories (/usr/lib/node_modules/homebridge/lib/server.js:403:20) at Server._loadPlatforms (/usr/lib/node_modules/homebridge/lib/server.js:341:16) at Server.run (/usr/lib/node_modules/homebridge/lib/server.js:90:36) at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:59:10) at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22) at Module._compile (internal/modules/cjs/loader.js:654:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10) at Module.load (internal/modules/cjs/loader.js:566:32) at tryModuleLoad (internal/modules/cjs/loader.js:506:12) at Function.Module._load (internal/modules/cjs/loader.js:498:3) at Function.Module.runMain (internal/modules/cjs/loader.js:695:10) at startup (internal/bootstrap/node.js:201:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:516:3)

    • (LeGull)
      (LeGull) отредактировано 11 месяцев назад
      Комментарий удален
  11. (siddy)
    (siddy) 10 месяцев назад

    Я тут для себя пока открываю "умный дом" натолкнулся на строчки, которые еще красивее сделают эту настройку. Для таких же, как я, новичков:

    рекомендую добавить строчки после строчки host

    "pingIPAddress": "ip вашего tv", 

    "pingFrequency": 5, 

    "pingIPAddressStateOnly": true,

    тогда статус в "доме" будет корректно отображаться, если помимо homekit вы пользуетесь и обычным пультом

    • Даниил Кусков (daddvok)
      Даниил Кусков (daddvok) 10 месяцев назад
      Да, можно добавить, но только при условии, что телевизор подключается к интернету

  12. (timotheos)
    (timotheos) 9 месяцев назад

    Привет! Подскажи, пожалуйста, все сделал по инструкции, и в HomeKit появился сам телевизор, но я могу только включать и выключать его. А пульт не появляется - в логах пишет: 

    [Broadlink RM] TV PowerModeSelection: No settings data found. Ignoring request.

    Странно, хотя пункт powerMode я прописал (кстати, а какая кнопка на нем должна быть забита? Я вбил меню).  

    • Даниил Кусков (daddvok)
      Даниил Кусков (daddvok) 9 месяцев назад
      в powermode любая кнопка, какая тебе удобна, там роли не играет какой код, проблема в чем-то другом.
      А сам пульт не появился? Где ищешь его? Он должен появиться не в приложении дом, а тут
      может не сразу появиться, попробуй ребутнуть хб и повключать/повыключать телевизор из приложения дом
      1000x_image.jpg?1564958877

      • (timotheos)
        (timotheos) 9 месяцев назад

        Пульт не проверял, у меня только iPad и Macbook, по идее там тоже должно быть :) 

        Я этот лог в HB наблюдаю, когда нажимаю в приложении Мой дом в настройках пульта на "Настройки телевизора" (у тебя отмечено красным в квадрате на скрине выше "Power Mode"). И почему то Inputы не видит, хотя в конфиге всё прописано правильно, а сам файл валидный. Ребут HB конечно же делал, но тут другая какая-то ситуация. 

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

          Сложно что-то посоветовать, у меня ни макбука ни айпада, на айфоне все ок и работает как часы уже несколько месяцев, попробуй спросить в чате в телеге по хомбриджу

  13. Даниил Кусков (daddvok)
    Даниил Кусков (daddvok) 9 месяцев назад
    Кому-то может быть пригодится, нашел дискретные коды на включение, выключение, hdmi1 и tv некоторых телеков samsung.
    вкл: 2600D2008E941436153514351411141114111311141114361435143615101411131114111411143514111411143613361411151014351411143614361311151014361435141114000605929413361435143614111411131114111411133614361436141113111411141114101436141114101436143614111311143614111436123714111411133614361411140005FE93941436143614351411141114101411141114361336143614111410141114111411133614111411133614361411141014361411143613361411141114351436141115000D05000000000000
    выкл: 260046008E941337123712381213121311131213121311381238123812121213121312131212121312131212123812381213111312381238123712381213121311381238121312000D050000
    hdmi1: 260046009392123714331533150e140e11111111140f1333113712371310130e140e111112101433150e11111137140f1333113712371310133315331211143312111310130e14000d050000
    tv: 260046009490103711371234130f101211121211110f133411361336110f130f10121211120f13341037111113341334101211121211110f130f11361311110f13341037113712000d050000
  14. Рустэм Гилязов (rusvscoco)
    Рустэм Гилязов (rusvscoco) 3 месяца назад
    Привет всем:) 

    Помогите, пожалуйста. 

    У меня проектор, а хочу управлять техникой с пульта. 

    Есть ли возможность какая-то в Inputs прокинуть пульты? То бишь на каждый inputs свой пульт? 

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

Устройства в материале

Apple TV 4K

Производитель: Apple

Raspberry Pi 4

Производитель: Raspberry Pi

BroadLink RM Pro

Производитель: Broadlink

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Тематические чаты

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

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