• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Zdravím hosta! Přihlášení Registrace


Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
[WIP] Monitor Kodi
#1
Navázal jsem na práci @JiRo a připravuji ke zveřejnění addon Monitor Kodi (service.monitor). Autor původní koncepce a první (neveřejné) verze se plánuje k práci na addon vrátit, mám od něj pověření, abych do té doby na addon pracoval a také abych ho připravil ke zveřejnění jako naše společné dílo.

Charakteristika a podmínky použití addon

Addon je určen k monitorování vybraných stavů Kodi a jeho okolí a vytvoření podmínek pro zobrazení monitorovaných stavů na obrazovce Kodi. Pro funkci zobrazení je třeba příslušným způsobem upravit používaný skin. To je nepřekročitelná podmínka, což znamená, že addon mohou používat pouze ti, kteří:
  1. budou používat skin Estuary Stream-Cinema
  2. si dokáží jimi používaný skin upravit podle dále uvedeného popisu (popis bude dostupný později)
Pokud tedy nesplňujete výše uvedené podmínky, nemusíte dál číst, protože pro vás určitě addon určený není. To ale není podmínka jediná.

Addon nabízí jednak funkce, které se uplatní při využívání addon Stream-Cinema. Určitě přijde vhod zobrazení aktuální veřejné adresy, zobrazení dostupnosti Stream-Cinema Serveru nebo aktuální rychlost downlodu dat.

Další podmínkou (alespoň prozatím) je to, že addon je určen pouze k instalaci na Kodi běžící pod operačním systémem Linux. Snažíme se rozšířit funkce tak, aby většina z nich byla dostupná i pod Windows, ale toto rozšíření očekávejte až v některé z dalších verzí.

Aktuálně připravované funkce
       
Ve výše uvedených screenshotech je na stavovém řádku (druhý řádek pod časem a datem) je vidět zobrazení všech aktuálních funkcí addon ve skinu Estuary Stream-Cinema (pro účely tohoto zobrazení  jsou všechna ostatní zobrazení, která nesouvisí s tímto addon, vypnuta). Odleva doprava jsou zobrazení:
  • veřejná IP adresa - formát IP:X.X.X.X (v tomto screenshotu jsem skutečnou IP adresu nahradil znaky X.X.X.X) - vhodné jako rychlá informace o aktuální veřejné IP adrese. Barvy:  ČERVENÁ=není možné adresu zjistit, BÍLÁ=OK
  • aktuální síla signálu wifi - formát WiFi:90 %. Barvy:  ČERVENÁ=není možné sílu signálu zjistit nebo není dané rozhraní v systému přítomné, BÍLÁ=OK (Pozn. toto zobrazení v přiloženém sceenshotu není!)
  • objem/rychlost aktuálně přijímaných dat na rozhraní Ethernet (eth0) - formát RX:X.X Mbps. BARVY:  ČERVENÁ=není možné rychlost zjistit, BÍLÁ=OK
  • příznak otevřených portů backend sereveru Tvheadend (9981. 9982) - logo Tvheadend - v systému, kde spolu s Kodi běží i Tvheadend backend, signalizuje, že je k serveru připojený alespoň jeden další klient (PVR addon nebo je zobrazené GUI Tvheadend serveru v prohlížeči). Připojení k localhost (127.0.0.1) do tohoto zobrazení není zahrnuto. Není-li žádný port otevřený, ikona zmizí.
  • dostupnost Tvheadend backend serveru - icona TV. Barvy: ŽLUTÁ=server je dostupný, ale PVR addon ještě nenavázal spojení. Barvy: ČERVENÁ=server je nedostupný, BÍLÁ=OK
  • dostupnost lokální sítě - icona sítě - obvykle se kontroluje vybraná referenční adresa, např. lokální adresa routeru/default gateway. Barvy: ČERVENÁ=adresa je nedostupný, BÍLÁ=OK
  • dostupnost NAS/datového serveru - ikona NAS - obvykle se kontroluje referenční NAS/server v lokální síti, na kterém jsou umístěna lokální data, která využívá Kodi. Barvy: ČERVENÁ=server je nedostupný, BÍLÁ=OK
  • dostupnost "internetu" - ikona globu - obvykle se kontroluje nějak významná adresa na internetu (já např. kontroluji hostname mé vlastní veřejné adresy). Barvy: ČERVENÁ=připojení k internetu nedostupné, BÍLÁ=OK
  • dostupnost Stream-Cinema serveru - ikona filmové kamery - kontroluje se adresa stream-cinema.online. Barvy: ČERVENÁ=server je nedostupný, BÍLÁ=OK
Způsob řešení

Addon se spouští jako služba po spuštění Kodi a běží trvale. V krátkém cyklu (5 s) zjišťuje rychlost downlodu, v dlouhém (který bude později parametrovatelný , teď je to fixně 10 s) pak ostatní stavy a hodnoty veličin. Aktivní běh v dlouhém cyklu je indikován (také bude později parametrovatelné) změnou barvy zobrazení času. Zobrazení času tedy mění svou barvu bílá (idle) - červená (run), jinak řečeno, symbol času bliká s periodou něco málo vyšší jak 10 s.

Stav nebo hodnota je do skinu předávána prostřednictvím tzv. property, pomocí funce xbmcgui.Window(window).setProperty. V tomto ohledu je addon na použitém skinu nezávislý a naopak. Vlastní zobrazení, barvy, symboly nejsou záležitostí addon, ale definují se parametricky ve skinu, obsahem parametrem je pak vždy příslušná property. 

Addon je pochopitelně napsaný v Python, zatím 2.7. Některé funkce ale využívají příkazy a aplikce OS. Proto tedy to omezení na Linux. V současné době jsou sekvence těchto aplikací součástí kódu addon, v některé další verzi ale budou uživatelsky (v nastavení addon) editovatelné.

Skin a jeho úprava

Pokud použijete některou z budoucích verzí skinu Estuary Stream-Cinema, bude v něm podpora addon zajištěna. Úprav ostatních skinů je na vás. Jsem ochoten se do takové úpravy i zapojit radou, toto téma by se pak mohlo stát i platformou, na které by se mohly úpravy zveřejňovat.

ToDo

Nyní zbývá dokončit část nastavení addon a učesat některé maličkosti. Poté addon zveřejníme.

Náměty

Addon je dobrým východiskem, jak do Kodi dostat různé další informace. Pokud někoho napadne něco užitečného a bude to realizovatelné, nebude asi problém to do addon a případně i do skinu Estuary Stream-Cinema doplnit.
ASUS VivoMini + LE 9.0.1 (Kodi 18.1) + Tvheadend 4.2 * ASUS VivoMini + LE 9.0.1 (Kodi 18.1) * 3x PC + W10 (Kodi 18.1)
 
Citovat
#2
funguje to aj pod WIN? lebo tam nieje eth0 a ten nieje ani na nsetkych linux masinach
Citajte [Only registered and activated users can see links Click here to register]!
Tvorca doplnku 
[Only registered and activated users can see links Click here to register].
 
Citovat
#3
@BBaron Parsuje se výsledek řetězených Linux příkazů a sleduje se stav eth0. Teď je to zadané natvrdo v kódu, ale předělám to, aby semohl zadat v nastavení. Aby to bylo nezávislé na systému, tedy pouze s použitím Python, to asi dohromady nedám.
ASUS VivoMini + LE 9.0.1 (Kodi 18.1) + Tvheadend 4.2 * ASUS VivoMini + LE 9.0.1 (Kodi 18.1) * 3x PC + W10 (Kodi 18.1)
 
Citovat
#4
@BBaron Tak jsem to zase trochu posunul dál. V Linux spouštím ifconfig a parsuji to celé přes zřetězené standardní aplikace (grep, sed), v nastavení bude možné si zvolit rozhraní (eth, wlan, ...). Ve Windows jsem zatím použil netstat -e. Sice píšou, že je to pouze pro rozhraní ethernet, ale vidím tam pohyb i v případě, když se komunikuje přes wi-fi. Tam to parsuji rovnou v pythonu. Takže to bude chodit v Linux a Windows. Ostatní systémy nemám, takže to ani nemohu odladit. Ale šoupnu to na github, takže to někdo bude moci doplnit.

Ideální by bylo použít na to psutil knihovnu, ale já mám Kodi v LibreELEC a chci, aby to tam i fungovalo. Hledal jsem, jestli je v addons pythonovských knihoven Kodi i psutil a zatím jsme nebyl úspěšný. Kdybys o něčem věděl, budu rád, když mi dáš info.
ASUS VivoMini + LE 9.0.1 (Kodi 18.1) + Tvheadend 4.2 * ASUS VivoMini + LE 9.0.1 (Kodi 18.1) * 3x PC + W10 (Kodi 18.1)
 
Citovat
#5
Ako to vyzera s doplnkom.
Mecool KII pro S905D, CoreELEC 8.95.6
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)