Aller au contenu
Indyana

Accès Kodi

Recommended Posts

Bonjour ,

J'essayes de commander Kodi depuis un VD, problème, le user/pass ne semblent pas être pris en compte et j’obtiens une "erreur 2". Comment-faut il les formater pour qu'ils soient pris en compte dans le Net.Fhttp?

 

    jsonrpc={};
    jsonrpc['jsonrpc']='2.0';
  	jsonrpc['method']='Input.'..key;
  	jsonrpc['id']=number;
  
	local path='/jsonrpc?request='..json.encode(jsonrpc);
    path = urlencode(path);
	dump('Path Kodi',path,'yellow');
  	if(not SIMU) then
    	Kodi = Net.FHttp("koduseri%34kodipass%40192.168.0.10", 8081);
      	result, status, errorCode = Kodi:GET(path);
    end
    dump('Result',result);
  	dump('Status',status);
  	dump('Error code',errorCode);

 

 

 

Voici la sortie des dump:

Path Kodi : %2Fjsonrpc%3Frequest%3D%7B%22id%22%3A1%2C%22method%22%3A%22Input%2ERight%22%2C%22jsonrpc%22%3A%222%2E0%22%7D
[DEBUG] 11:49:52: Result :
[DEBUG] 11:49:52: Status :
[DEBUG] 11:49:52: Error code : 2

 

Modifié par Indyana

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @Indyana

J'ai l'impression que tu veux refaire un VD qui existe déjà. Tu trouveras ton bonheur ici dans lequel @Lazer parle d'un VD pour piloter KODI. Sinon dans les echanges du sujet je crois me souvenir que l'on parle à un moment du formatage de jsonrpc

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Dans cet addon c'est plustot Kodi qui pilote la HC2. Mais tu as raison il y a un VD dedans qui doit faire le sens inverse et aussi piloter Kodi, malheureusement impossible d'accéder au fichier ZIP, "j'ai pas les droits"... Meu pouquoi? je suis gentil moi?....

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, l'addon d'ADN est dans le sens KODI --> HC2 avec retour CAM et etat des modules je crois. MAis @Lazer avait commencé un VD identique à ce que tu veux faire. Je vais esasyer de telecharger.

 

Sur le fofo officiel il y a cela :


 

local selfID = fibaro:getSelfId()
local selfName = tostring(fibaro:getName(selfID));

local ip = fibaro:get(selfID, 'IPAddress')
local port = fibaro:get(selfID, 'TCPPort')
local kodi = Net.FHttp(ip, tonumber(port))

-- Function
-- Log Color Function
function log(color, message)
    if color and color ~= "" then
        fibaro:debug('<span style="color:'..color..';">'..message..'</span>')
    else
        fibaro:debug(message)
    end
end

local datas = '{"jsonrpc":"2.0","id":1,"method":"Addons.ExecuteAddon","params":{"addonid":"HC2.addon","params":{"fonction":"ActiveCamera", "idcam":"1","uptime":"30","refresh":"1000"}}}';
local url = '/jsonrpc?request='

local response, status, errorCode = kodi:POST(url, datas)
if tonumber(errorCode) == 0 and tonumber(status) == 200 and response ~= ""  then
    log("green", "POST OK")
    log("green","Response : "..response.."Status : " ..status.." Error :"..errorCode)
else
    log("red", "POST FAIL")
    log("red","Response : "..response.."Status : " ..status.." Error :"..errorCode)
end

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Désolé je n'ai pas encore partagé mon VD, faut que je me motive.

 

Vous venez de me relancer inconsciemment !

 

Sinon pour répondre à ta question directement, il faut faire cela :
 

local KODI = Net.FHttp(self.ip, tonumber(self.port))
KODI:setBasicAuthentication(kodi_user, kodi_password)
local response, status, errorCode = KODI:POST(url, payload)

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ha super je ne connaissais pas le basicauth. J'aurais encore appris quelquechose aujourd'hui. Merci à tous les deux!

Modifié par Indyana

Partager ce message


Lien à poster
Partager sur d’autres sites

×