Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Управление Kodi/Xbmc

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Управление Kodi/Xbmc

Scheduled Pinned Locked Moved ioBroker скрипты
34 Posts 3 Posters 10.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    vtec
    wrote on last edited by
    #1

    Пока данный скрипт больше подходит как пульт для Kodi/Xbmc. Если что то больше то это уже драйвер. Возможно еще добавлю функцию воспроизведения видео по указанному пути.

    Установить свой ip адрес медиацентра.

    В настройках kodi включить удаленное управление.

    createState('kodi.ExecuteAction', '');
    
    var url = 'http://192.168.0.105';
    var request = require('request');
    
    on({id: 'javascript.0.kodi.ExecuteAction', change: 'any'}, function (obj) {
        if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){
            sendCommand(obj.newState.val);
        }else{
            log('Не задана команда.');
        }
    });
    
    // Функция отправки команды на медиацентр(kodi)
    function sendCommand(name){
        log('Отправлена команда Kodi: '+name);
        var options = {
            url: url+'/jsonrpc',
            json: true,
            body: {
                "jsonrpc":"2.0",
                "method": "Input.ExecuteAction",
                "params": { "action": name},
                "id":1
            },
        };
        // Отправка данных методом POST.
        request.post(options, function (err, status, body) {
            log('Ответ от Kodi: '+JSON.stringify(body));
        });
    }
    
    

    В vis создать новую страничку и разместить на ней кнопки по своему желанию.

    Пример кнопки, которая отправляет команду "up" медиацентру, то есть вверх:

    [{"tpl":"tplMetroTileState","data":{"visibility-cond":"==","visibility-val":1,"hover":"true","transform":"true","bg_class_false":"bg-indigo","bg_class_true":"bg-indigo","icon_class_false":"icon-arrow-up","icon_class_true":"icon-arrow-up","icon_badge_false":"","icon_badge_true":"","badge_bg_class_false":"","badge_bg_class_true":"","brand_bg_class_false":"","brand_bg_class_true":"","value":"up","state_oid":"javascript.0.kodi.ExecuteAction"},"style":{"left":"668px","top":"188px","opacity":""},"widgetSet":"metro"}]
    

    Настройка кнопки: изменить поле "Значение" на свою команду.

    Список команд:

    left, right, up, down, pageup, pagedown, select, highlight, parentdir, parentfolder, back, previousmenu, info, pause, stop, skipnext, skipprevious, fullscreen, aspectratio, stepforward, stepback, bigstepforward, bigstepback, chapterorbigstepforward, chapterorbigstepback, osd, showsubtitles, nextsubtitle, cyclesubtitle, codecinfo, nextpicture, previouspicture, zoomout, zoomin, playlist, queue, zoomnormal, zoomlevel1, zoomlevel2, zoomlevel3, zoomlevel4, zoomlevel5, zoomlevel6, zoomlevel7, zoomlevel8, zoomlevel9, nextcalibration, resetcalibration, analogmove, rotate, rotateccw, close, subtitledelayminus, subtitledelay, subtitledelayplus, audiodelayminus, audiodelay, audiodelayplus, subtitleshiftup, subtitleshiftdown, subtitlealign, audionextlanguage, verticalshiftup, verticalshiftdown, nextresolution, audiotoggledigital, number0, number1, number2, number3, number4, number5, number6, number7, number8, number9, osdleft, osdright, osdup, osddown, osdselect, osdvalueplus, osdvalueminus, smallstepback, fastforward, rewind, play, playpause, switchplayer, delete, copy, move, mplayerosd, hidesubmenu, screenshot, rename, togglewatched, scanitem, reloadkeymaps, volumeup, volumedown, mute, backspace, scrollup, scrolldown, analogfastforward, analogrewind, moveitemup, moveitemdown, contextmenu, shift, symbols, cursorleft, cursorright, showtime, analogseekforward, analogseekback, showpreset, nextpreset, previouspreset, lockpreset, randompreset, increasevisrating, decreasevisrating, showvideomenu, enter, increaserating, decreaserating, togglefullscreen, nextscene, previousscene, nextletter, prevletter, jumpsms2, jumpsms3, jumpsms4, jumpsms5, jumpsms6, jumpsms7, jumpsms8, jumpsms9, filter, filterclear, filtersms2, filtersms3, filtersms4, filtersms5, filtersms6, filtersms7, filtersms8, filtersms9, firstpage, lastpage, guiprofile, red, green, yellow, blue, increasepar, decreasepar, volampup, volampdown, createbookmark, createepisodebookmark, settingsreset, settingslevelchange, stereomode, nextstereomode, previousstereomode, togglestereomode, stereomodetomono, channelup, channeldown, previouschannelgroup, nextchannelgroup, playpvr, playpvrtv, playpvrradio, record, leftclick, rightclick, middleclick, doubleclick, longclick, wheelup, wheeldown, mousedrag, mousemove, tap, longpress, pangesture, zoomgesture, rotategesture, swipeleft, swiperight, swipeup, swipedown, noop
    

    Не забываем, что кнопки можно копировать по клавишам ctrl+c и ctrl+v, если зажать shift и двигать кнопку за уголок, то размер будет изменяться пропорционально.

    Основные команды: left, right, up, down, select, play, playpause, volumeup, volumedown

    Делитесь интерфейсом своих пультов и не только! Как свой пульт доделаю, постараюсь выложить.

    1 Reply Last reply
    0
    • I Offline
      I Offline
      instalator
      wrote on last edited by
      #2

      А зачем ему пульт? Если у коли есть веб морда?

      Высокий уровень Децибел вреден для здоровья!

      http://blog.instalator.ru/

      1 Reply Last reply
      0
      • V Offline
        V Offline
        vtec
        wrote on last edited by
        #3

        Как минимум это все в одном интерфейсе, можно сделать пульт под себя ( только нужные кнопки). Да и убогий пульт в самом коди, у меня там кнопка play почему то не работает.

        Во вторых можно послать команду паузы при просмотре фильма при звонке в домофон или еще откуда, воображай :)

        1 Reply Last reply
        0
        • V Offline
          V Offline
          vtec
          wrote on last edited by
          #4

          У меня появилась одна идея/задача.

          Обычно я фильм скачиваю через торрент на NAS и смотрю через Kodi по сети с NAS, на этом заканчивается мое использование Kodi (ну еще иногда просмотр интернет ТВ).

          Геморрой заключается в том, чтобы быстро найти этот фильм из списка ранее скаченных фильмов и включить его на воспроизведение.

          Хочу подключить сетевой диск к серверу, где крутится iobroker. Потом через модуль fs получить последний файл(сортируем по дате и вычисляем его имя). И скормить Kodi через API путь до этого файла. А в vis сделать кнопку на подобии play new через которую отработает все выше написанное. В итоге я должен буду получить воспроизведение последнего скаченного фильма мгновенно.

          Как думаете есть смысл изобретать?

          1 Reply Last reply
          0
          • I Offline
            I Offline
            instalator
            wrote on last edited by
            #5

            vtec а как стартануть IPTV (Simple IPTV)?

            play не срабатывает.

            Как нибудь организовывал уход в сон и пробуждение малинки?

            Добавлено:

            со стартом IPTV разобрался, команда playpvr

            Высокий уровень Децибел вреден для здоровья!

            http://blog.instalator.ru/

            1 Reply Last reply
            0
            • V Offline
              V Offline
              vtec
              wrote on last edited by
              #6

              @instalator:

              Как нибудь организовывал уход в сон и пробуждение малинки? `
              А зачем? Она потребляет то копейки.
              @instalator:

              Добавлено:

              со стартом IPTV разобрался, команда playpvr `
              Расскажи что наделал. Там же еще как то канал включить нужно…

              Можно напрямую каналы включать подставив url

              Пример включения радио.

              http://192.168.0.105/jsonrpc?request={"jsonrpc":"2.0","id":"1","method":"Player.Open","params":{"item":{"file":"http://cast.radiogroup.com.ua:8000/avtoradio"}}}
              
              1 Reply Last reply
              0
              • I Offline
                I Offline
                instalator
                wrote on last edited by
                #7

                @vtec:

                А зачем? Она потребляет то копейки. `
                Ну даже и не знаю что сказать) проц жалко) Напишу скриптик чтобы при выключение ресивера стопалось проигрование.
                @vtec:

                Расскажи что наделал. Там же еще как то канал включить нужно… `
                С выбором канала не разбирался еще, на все вермени не хватает
                @vtec:

                Можно напрямую каналы включать подставив url

                Пример включения радио.

                http://192.168.0.105/jsonrpc?request={"jsonrpc":"2.0","id":"1","method":"Player.Open","params":{"item":{"file":"http://cast.radiogroup.com.ua:8000/avtoradio"}}}
                ```` `  
                

                О спасибо.

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

                Высокий уровень Децибел вреден для здоровья!

                http://blog.instalator.ru/

                1 Reply Last reply
                0
                • V Offline
                  V Offline
                  vtec
                  wrote on last edited by
                  #8

                  @instalator:

                  Ну даже и не знаю что сказать) проц жалко) Напишу скриптик чтобы при выключение ресивера стопалось проигрование. `
                  Мне проц совсем не жалко, а вот карту памяти больше жалко :)

                  @instalator:

                  О спасибо.

                  Подскажи еще нормальные видеодополнения, а то я что не поставлю нифига не работает. ставил из openelec и из сепиуса (вроде так называется). `
                  А я больше ни чем и не пользуюсь. Мне нужно маленько, включить фильм или мультик ребенку или iptv глянуть, на этом мое использование xbmc заканчивается :)

                  1 Reply Last reply
                  0
                  • aurodionovA Offline
                    aurodionovA Offline
                    aurodionov
                    wrote on last edited by
                    #9

                    instalator, тут смотрели http://xbmc.ru/forum/

                    я когда осваивал xbmc, на этом форуме залипал

                    Пишу с пульта….

                    1 Reply Last reply
                    0
                    • I Offline
                      I Offline
                      instalator
                      wrote on last edited by
                      #10

                      @vtec:

                      Расскажи что наделал. Там же еще как то канал включить нужно… `
                      просто playpvr стартует iptv.

                      проблемка с переключением, пока организовал переключение: следующий (next), предыдущий (previous).

                      Еще не знаю как узнать что в данный момент запущен pvr, так как на запрос {"jsonrpc":"2.0","method":"Player.GetActivePlayers","id":1}

                      он отдает id 1 для видео и pvr.

                      function sendCommandPlayer(name){
                          log('Отправлена команда Kodi: '+name);
                          var options = {
                              url: url+'/jsonrpc',
                              json: true,
                              body: {
                                  "jsonrpc":"2.0",
                                  "method": "Player.GoTo",
                                  "params": { "playerid":1,"to":name},
                                  "id":1
                              },
                          };
                          // Отправка данных методом POST.
                          request.post(options, function (err, status, body) {
                              log('Ответ от Kodi: '+JSON.stringify(body));
                          });
                      }
                      

                      Вообще нужен драйвер, иначе придется в скрипт заносить все методы и команды.

                      Я думаю надо разбить по категориям все переменные и методы, т.е. на каждый метод своя переменная.

                      Высокий уровень Децибел вреден для здоровья!

                      http://blog.instalator.ru/

                      1 Reply Last reply
                      0
                      • I Offline
                        I Offline
                        instalator
                        wrote on last edited by
                        #11

                        @aurodionov:

                        instalator, тут смотрели http://xbmc.ru/forum/

                        я когда осваивал xbmc, на этом форуме залипал `
                        Да спасибо, нашел все что мне нужно.

                        Высокий уровень Децибел вреден для здоровья!

                        http://blog.instalator.ru/

                        1 Reply Last reply
                        0
                        • V Offline
                          V Offline
                          vtec
                          wrote on last edited by
                          #12

                          @instalator:

                          @vtec:

                          Расскажи что наделал. Там же еще как то канал включить нужно… `
                          просто playpvr стартует iptv.

                          проблемка с переключением, пока организовал переключение: следующий (next), предыдущий (previous).

                          Еще не знаю как узнать что в данный момент запущен pvr, так как на запрос {"jsonrpc":"2.0","method":"Player.GetActivePlayers","id":1}

                          он отдает id 1 для видео и pvr.

                          function sendCommandPlayer(name){
                              log('Отправлена команда Kodi: '+name);
                              var options = {
                                  url: url+'/jsonrpc',
                                  json: true,
                                  body: {
                                      "jsonrpc":"2.0",
                                      "method": "Player.GoTo",
                                      "params": { "playerid":1,"to":name},
                                      "id":1
                                  },
                              };
                              // Отправка данных методом POST.
                              request.post(options, function (err, status, body) {
                                  log('Ответ от Kodi: '+JSON.stringify(body));
                              });
                          }
                          

                          Вообще нужен драйвер, иначе придется в скрипт заносить все методы и команды.

                          Я думаю надо разбить по категориям все переменные и методы, т.е. на каждый метод своя переменная. `
                          Может попробовать c playerid поиграться. Например для видео это 1, а для pvr это 2.

                          1 Reply Last reply
                          0
                          • I Offline
                            I Offline
                            instalator
                            wrote on last edited by
                            #13

                            @vtec:

                            @instalator:

                            @vtec:

                            Расскажи что наделал. Там же еще как то канал включить нужно… `
                            просто playpvr стартует iptv.

                            проблемка с переключением, пока организовал переключение: следующий (next), предыдущий (previous).

                            Еще не знаю как узнать что в данный момент запущен pvr, так как на запрос {"jsonrpc":"2.0","method":"Player.GetActivePlayers","id":1}

                            он отдает id 1 для видео и pvr.

                            function sendCommandPlayer(name){
                                log('Отправлена команда Kodi: '+name);
                                var options = {
                                    url: url+'/jsonrpc',
                                    json: true,
                                    body: {
                                        "jsonrpc":"2.0",
                                        "method": "Player.GoTo",
                                        "params": { "playerid":1,"to":name},
                                        "id":1
                                    },
                                };
                                // Отправка данных методом POST.
                                request.post(options, function (err, status, body) {
                                    log('Ответ от Kodi: '+JSON.stringify(body));
                                });
                            }
                            

                            Вообще нужен драйвер, иначе придется в скрипт заносить все методы и команды.

                            Я думаю надо разбить по категориям все переменные и методы, т.е. на каждый метод своя переменная. Может попробовать c playerid поиграться. Например для видео это 1, а для pvr это 2.
                            Дак он отдает в обоих случаях 1. Или как то можно изменить?

                            Высокий уровень Децибел вреден для здоровья!

                            http://blog.instalator.ru/

                            1 Reply Last reply
                            0
                            • V Offline
                              V Offline
                              vtec
                              wrote on last edited by
                              #14

                              Такое ощущение что аддоном нельзя управлять, максимум что это можно, так только включить его.

                              1 Reply Last reply
                              0
                              • V Offline
                                V Offline
                                vtec
                                wrote on last edited by
                                #15

                                Я маг и волшебник :D

                                Научился каналы включать

                                http://192.168.0.105/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.Open","params":{"item":{"channelid":1}}}
                                

                                Вместе мы можем на многое ;)

                                1 Reply Last reply
                                0
                                • I Offline
                                  I Offline
                                  instalator
                                  wrote on last edited by
                                  #16

                                  @vtec:

                                  Я маг и волшебник :D

                                  Научился каналы включать

                                  http://192.168.0.105/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.Open","params":{"item":{"channelid":1}}}
                                  

                                  Вместе мы можем на многое ;) `
                                  У меня получилось спарсить свой плейлист, сохранить его в файл m3u и отдать Коди. Но вот он зараза так и не показывает названия треков (берет их из ссылки). Курю дальше
                                  2858_alexa1.png
                                  2858_alexa2.png
                                  2858_alexa3.png
                                  2858_alexa4.png
                                  2858_alexa5.png

                                  Высокий уровень Децибел вреден для здоровья!

                                  http://blog.instalator.ru/

                                  1 Reply Last reply
                                  0
                                  • V Offline
                                    V Offline
                                    vtec
                                    wrote on last edited by
                                    #17

                                    Еще можно сообщение показывать(как вариант показывать title):

                                     {"jsonrpc": "2.0", "method": "GUI.ShowNotification", "params":{"title":"Switch to Channel 1","message":"1 Live TV Channel"},"id": "0"}
                                    
                                    
                                    1 Reply Last reply
                                    0
                                    • I Offline
                                      I Offline
                                      instalator
                                      wrote on last edited by
                                      #18

                                      @vtec:

                                      Еще можно сообщение показывать(как вариант показывать title):

                                       {"jsonrpc": "2.0", "method": "GUI.ShowNotification", "params":{"title":"Switch to Channel 1","message":"1 Live TV Channel"},"id": "0"}
                                      
                                      ```` `  
                                      

                                      Найди лучше как показать плейлист на экране текущий.

                                      http://192.168.0.105/jsonrpc?request={"}}}

                                      допустим отправил файл а как его в плейлисте увидеть?

                                      аналогично {"jsonrpc":"2.0","id":1,"method":"Playlist.Add","params":{"playlistid":0,"item":{"directory":"C:\temp2\test\test.m3u","recursive":true}}}

                                      В углу показывает кол-во треков в плейлисте а как список вывести хз.

                                      Высокий уровень Децибел вреден для здоровья!

                                      http://blog.instalator.ru/

                                      1 Reply Last reply
                                      0
                                      • V Offline
                                        V Offline
                                        vtec
                                        wrote on last edited by
                                        #19

                                        Может у тебя m3u формат файла не верный? Покажи как у тебя выглядит файл

                                        1 Reply Last reply
                                        0
                                        • I Offline
                                          I Offline
                                          instalator
                                          wrote on last edited by
                                          #20

                                          @vtec:

                                          Может у тебя m3u формат файла не верный? Покажи как у тебя выглядит файл `

                                          ! #EXTM3U
                                          ! #EXTINF:1, R.E.M. - Losing My Religion [1991]
                                          ! http://cs4-1v4.vk-cdn.net/p6/689ce9bfeb … wvbfYlOHgs
                                          и тд

                                          Вот так выглядит Коди при воспроизведении.
                                          266_tttttt.png

                                          Высокий уровень Децибел вреден для здоровья!

                                          http://blog.instalator.ru/

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          847

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe