Hirdetés

Új hozzászólás Aktív témák

  • Fall-N
    veterán

    Hatalmas +1 az broadcastelkapásos módszerre! :)

    (#6214) Fall-N

    Egyszerű a megoldás szerintem. Le kell kérned a http://<kodi ip>:8080/jsonrpc?request={%22jsonrpc%22:%20%222.0%22,%22method%22:%20%22Player.GetActivePlayers%22,%22id%22:%201} linket egy HTTP Get elemben. Majd kihasználva azt, hogy egy JSONról van szó, JavaScripttel dolgozzuk fel az eredményt pl. így:

    jsonObject = JSON.parse(global('%HTTPD'));

    if(jsonObject.result.length == 0) {
    result = false;
    }
    else {
    result = true;
    }

    setGlobal('%IsPlaying', result);

    Fontos, hogy legyen egy HTTP Get a Javascriptlet előtt, különben nem töltődik fel a HTTPD változó!

    Ja és a %IsPlaying váltózód értéke 'true' lesz, ha megy a lejátszás, s false, ha nem.

    Nem próbáltam Taskerben, mert a bétának köszönhetően buktam az eddigi összes taskom, de mennie kell. Itt egy fiddle, ami bizonyítja.

    Illetve a Kodi beállítások nézzenek ki így, hogy lehessen JSONRPC-n keresztül hívogatni a rendszert:

    Have fun! :)

    Köszi a segítséget, de ezt hogyan adom meg és mi az event? Vagy a Phone Ringing eventhez tartozó Task elején fut le mielőtt lefut a PlayPause? Próbáltam beírni egy taskba a két dolgot

    Code -> HTTP Get
    Server, port:*
    http://kodi:kodi@192.168.0.50:8888/

    Path:
    /jsonrpc?request={%22jsonrpc%22:%20%222.0%22,%22method%22:%20%22Player.GetActivePlayers%22,%22id%22:%201}

    Utána:
    Code -> JavaSript:
    Path:
    jsonObject = JSON.parse(global('%HTTPD')); if(jsonObject.result.length == 0) { result = false; } else { result = true; } setGlobal('%IsPlaying', result);

    *A Kodi nálam be van állítva a képen látható módon a Yatse miatt csak annyi a difi, hogy a port 8888, és a neve kodi és a jelszó is szintén. Ha jól gondolom akkor emiatt meg kell adni a kodi:kodi@ formátumot az IP elé.

Új hozzászólás Aktív témák