Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. Управление Kodi/Xbmc

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      instalator last edited by

      @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));
          });
      }
      

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

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

      1 Reply Last reply Reply Quote 0
      • I
        instalator last edited by

        @aurodionov:

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

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

        1 Reply Last reply Reply Quote 0
        • V
          vtec last edited by

          @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 Reply Quote 0
          • I
            instalator last edited by

            @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. Или как то можно изменить?

            1 Reply Last reply Reply Quote 0
            • V
              vtec last edited by

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

              1 Reply Last reply Reply Quote 0
              • V
                vtec last edited by

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

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

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

                Вместе мы можем на многое 😉

                1 Reply Last reply Reply Quote 0
                • I
                  instalator last edited by

                  @vtec:

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

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

                  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

                  1 Reply Last reply Reply Quote 0
                  • V
                    vtec last edited by

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

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

                      @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}}}

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

                      1 Reply Last reply Reply Quote 0
                      • V
                        vtec last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • I
                          instalator last edited by

                          @vtec:

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

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

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

                          1 Reply Last reply Reply Quote 0
                          • V
                            vtec last edited by

                            У меня локально вот такой плей лист открыл

                            #EXTM3U
                            #EXTINF:306,Amethystium - Arcus
                            E:\music\Amethystium\Evermind\Amethystium-Arcus.mp3
                            #EXTINF:254,Amethystium - Barefoot
                            E:\music\Amethystium\Evermind\Amethystium-Barefoot.mp3
                            #EXTINF:262,Amethystium - Break of Dawn
                            E:\music\Amethystium\Evermind\Amethystium-Break_of_Dawn.mp3
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • I
                              instalator last edited by

                              @vtec:

                              У меня локально вот такой плей лист открыл

                              #EXTM3U
                              #EXTINF:306,Amethystium - Arcus
                              E:\music\Amethystium\Evermind\Amethystium-Arcus.mp3
                              #EXTINF:254,Amethystium - Barefoot
                              E:\music\Amethystium\Evermind\Amethystium-Barefoot.mp3
                              #EXTINF:262,Amethystium - Break of Dawn
                              E:\music\Amethystium\Evermind\Amethystium-Break_of_Dawn.mp3
                              
                              ```` `  
                              

                              Открыть то открыл, а треки показывает? имя берет из плейлиста или из имени файла?

                              1 Reply Last reply Reply Quote 0
                              • V
                                vtec last edited by

                                А вот так он показывает только Avtoradio

                                #EXTM3U
                                #EXTINF:306,Amethystium - Arcus
                                http://cast.radiogroup.com.ua:8000/avtoradio
                                #EXTINF:254,Amethystium - Barefoot
                                http://cast.radiogroup.com.ua:8000/avtoradio
                                #EXTINF:262,Amethystium - Break of Dawn
                                http://cast.radiogroup.com.ua:8000/avtoradio
                                

                                Может он еще ID tag читает из mp3 файла

                                1 Reply Last reply Reply Quote 0
                                • V
                                  vtec last edited by

                                  В общем если есть ID tag в mp3 файле то он читает его.

                                  Если там поля не заполнены, то отображает имя файла, что у тебя и происходит.

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    instalator last edited by

                                    Криво работает skipprevious и previous? во первых для разных player разные команды, во вторых не переключает на предыдущий трек а включает текущий сначала, надо тоже покурить)
                                    2858_w3.txt
                                    2858_w5.txt

                                    1 Reply Last reply Reply Quote 0
                                    • V
                                      vtec last edited by

                                      Вот так в списке отображает названия, но на главной все равно не хочет. Расширение .PLS

                                      UPD: То же самое что и m3u, короче если из потока коди может выдернуть meta info то отображает исполнителя иначе имя файла. Другого не дано.

                                      [playlist]
                                      Title1=Here enter name of the station
                                      File1=http://stream.radiosibir.ru:8090/HQ
                                      Length1=-1
                                      
                                      File2=G:\Music\DJ Bazil--Live at Fakel (26.08.2006).mp3
                                      Title2=absolute path on Windows
                                      
                                      NumberOfEntries=2
                                      Version=2
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • V
                                        vtec last edited by

                                        Проиграть видео с Youtube

                                        {"jsonrpc": "2.0", "method": "Player.Open", "params":{"item": {"file" : "plugin://plugin.video.youtube/?action=play_video&videoid=LDZX4ooRsWs" }}, "id" : "1"}
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • I
                                          instalator last edited by

                                          @vtec:

                                          Вот так в списке отображает названия, но на главной все равно не хочет. Расширение .PLS

                                          UPD: То же самое что и m3u, короче если из потока коди может выдернуть meta info то отображает исполнителя иначе имя файла. Другого не дано.

                                          [playlist]
                                          Title1=Here enter name of the station
                                          File1=http://stream.radiosibir.ru:8090/HQ
                                          Length1=-1
                                          
                                          File2=G:\Music\DJ Bazil--Live at Fakel (26.08.2006).mp3
                                          Title2=absolute path on Windows
                                          
                                          NumberOfEntries=2
                                          Version=2
                                          ```` `  
                                          

                                          Подправил, в списке отображает. Теперь как бы активировать текущий плейлист
                                          3443_lacrosse-ws.png

                                          1 Reply Last reply Reply Quote 0
                                          • I
                                            instalator last edited by

                                            Мой вариант скрипта из первого поста (на данный момент 😉 )

                                            on({id: 'javascript.0.kodi.ExecuteAction', change: 'any'}, function (obj) {
                                                if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){
                                                    if (obj.newState.val == 'next' || obj.newState.val == 'previous'){sendCommandPlayer(obj.newState.val);}
                                                    else {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 (error, response, body) {
                                                    log('Ответ от Kodi: '+JSON.stringify(body));
                                                });
                                            }
                                            ///////////////////////////////////////////////////////////////////////////////////////
                                            function sendCommandPlayer(name){
                                                log('Отправлена команда Kodi: '+name);
                                                var options = {
                                                    url: url+'/jsonrpc', //{"jsonrpc":"2.0","method":"Player.GetActivePlayers","id":1}
                                                    json: true,
                                                    body: {
                                                        "jsonrpc":"2.0",
                                                        "method": "Player.GetActivePlayers",
                                                        "id":1
                                                    },
                                                };
                                                // Отправка данных методом POST.
                                                request.post(options, function (error, response, body) {
                                                            log('ТЕЛО - '+body);
                                                            log('Ответ от Kodi: '+JSON.stringify(body));
                                                           // log('Запущен плеер - '+body.result[0].type); //{"id":1,"jsonrpc":"2.0","result":[{"playerid":0,"type":"audio"}]}
                                                            Activ_Player = body.result[0].playerid;
                                                            Type_Player = body.result[0].type;
                                                            if (Activ_Player == '1' && Type_Player == 'video'){
                                                                    setState('javascript.0.kodi.ExecuteAction', 'fullscreen');
                                                            }
                                                        var options = {
                                                            url: url+'/jsonrpc',
                                                            json: true,
                                                            body: {
                                                                "jsonrpc":"2.0",
                                                                "method": "Player.GoTo",
                                                                "params": { "playerid":Activ_Player,"to":name},
                                                                "id":1
                                                            },
                                                        };
                                                        // Отправка данных методом POST.
                                                        setTimeout(function() {
                                                            request.post(options, function (error, response, body) {
                                                            log('Ответ от Kodi: '+JSON.stringify(body));
                                                            });}, 500);
                                                });
                                            }
                                            
                                            

                                            Если включен IPTV плеер возвращает - 1 и тип видео, если IPTV включен не на полный экран то переключение не работает, в коде сделал проверку если плеер = 1 и тип = видео - Включаем сначала на полный экран, потом уже next.

                                            ****ДОБАВЛЕНО:

                                            Для переключения каналов оказывается есть channelup для метода Input.ExecuteAction****

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            506
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            34
                                            9563
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo