• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! 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
[attachment=4707][attachment=4709]
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.
 
Citovat
#2
funguje to aj pod WIN? lebo tam nieje eth0 a ten nieje ani na nsetkych linux masinach
Citajte jak se spravne ptat!
Tvorca doplnku 
Stream Cinema CS & SK.
 
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.
 
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.
 
Citovat
#5
Ako to vyzera s doplnkom.
Mecool KII pro S905D, CoreELEC 9.0.1
 
Citovat
#6
Monitor Kodi byl zatím na okraji zájmu, ale když jsme přemýšleli, jak do Kodi dostat informaci o tom, kdo má jmeniny, ukázalo se, že udělat to přes tento addon bude nejjednodušší cesta. Ještě to není odladěné, jsou tam drobné časové disproporce, ale to se upraví. Při této příležitosti jsme ještě doplnili barevné odlišení víkendu a také volných dní/svátků. Kalendář volných dní pro rok 2019 je zatím napevno definovaný v addon, jmeniny se ale samozřejmě čtou on-line z internetu.

Další nápady, přišly s prvními obdivovateli (často velmi kuriozní, nekomentuji...  1):
  • zobrazit název události, kvůli které je volný den - tady není problém jak zobrazit, ale místa, kde to zobrazit
  • zobrazit příznak svátku, kdy jsou zavřené velké obchody
  • zobrazit znamení zvěrokruhu a fáze měsíce
  • číslo týdne
Abychom mohli vyzkoušet zobrazení volného dne a nemuseli čekat na 1. května, tak jsme do interního kalendáře českých volných dní zadali svátek i na 27.4. Logika zobrazení je samozřejmě udělaná v addon Estuary Stream-Cinema. Volné dny o víkendu se projeví červeným textem Sobota a Neděle. Volný den svátku pak červeným datem. Video nasnímal @JiRo (omlouvám se za kvalitu, byl to prý momentální nápad, když se blížila půlnoc), s jeho dovolením ho zveřejňuji i zde.
 
Citovat
#7
Tak sa skúsim znovu ticho spýtať či mi náhodou niečo neuniklo
ako to vyzerá dopnkom na monitorovanie kodi.
Predpokladám že na to asi nebol veľmi čas čo sa ani nečudujem
ale pre náhodu sa pýtam.
Ďakujem.
Mecool KII pro S905D, CoreELEC 9.0.1
 
Citovat
#8
@j.jusko Jsi jediný, kdo se o to zajímá, ale už opakovaně, tak se budu snažit to co nejdříve dostat do stavu, abych to mohl zveřejnit.
 
Citovat
#9
Ostatný tíško čakajú 53
/LG OLED 55"/- SoundbarSamsung HW-Q990B / BOX - Dune Homatics R 4K plus/
 
Citovat
#10
Koli mne sa netráp pytam sa len zo zaujimavosti chcel by som to vyskúšať ale svet na tom nestojí.
Už keď sme pri monitorovaní kodi a systému vedel by mi niekto povedať aká je prípustná teplota cpu pre 24/7 použitie.
Mne sa na KII pro s905D pohybuje od 58-75°c zdá sa mi to dosť veľa a nikde sa neviem na nete dopátrať k nejakej informacii či je to ok alebo treba meniť chladič a robiť podobné zásahy do boxu.Pri používaní nepostrehujem žiadne problémy a box mám cca 7 mesiacov zapnutý 24/7.
Mecool KII pro S905D, CoreELEC 9.0.1
 
Citovat
#11
já bych měl tak zájem 1
 
Citovat
#12
Ja na mojej X96ke S905X mám bežne teplotu 69°C , pri pozeraní filmu 4K HDR vybehne na 80°C. Fungujem takto už druhý rok, ale krabicu nemám trvalo zapnutú.
X96 MAX+ 4GB/32GB CoreELEC 20
Synology DS220j 4TB RAID1 ::: YAMAHA HTR-2071 ::: HECO Victa Prime 302/102/202
Samsung UE55NU8002

X96 S905X 2GB/16GB, CoreELEC 9.2.7 KODI 18.9
FiiO K5 Pro ::: HIFIMAN Sundara
 
Citovat
#13
Jen na vysvětlení, co je se slibovaným addon, na který někteří z vás čekají... Přišel jsme o parťáka do vývoje, tak se snažím pokračovat sám. Objevil se problém, na který jsem měl už podezření dávno, že masivní a časté volání systémových příkazů z Python žere paměť Kodi a nevrací ji zpět. Tak do toho zatím házím vidle. Nemám čas a po pravdě teď ani náladu se tomu věnovat sám. Addon provozuji, protože mám stroje, které vypínám a mají velkou paměť, takže mi to užírání paměti nevadí. Ale abych to v takovém stavu pustil mezi lidi, to si netroufám. Tak se omlouvám těm, kdo na to čekají. 10

Idea pěkná, funguje to parádně, ale ta paměť...  1
 
Citovat
#14
Mne to uz ani velmi nechýba. Na to čo som chcel som rozbehal net data system monitor.
Akurát by bolo fajn vedieť v akom stave je server stream cinema a pripadne kolko dni VIP mi zostáva. Nieco sa mi marí ze to druhé by malo niekde v nastavení doplnku ukazovať ale neviem to nájsť. [Obrázek: 0ae2efdf5eb3e628ca0e3ded03b840d3.jpg]
Mecool KII pro S905D, CoreELEC 9.0.1
 
Citovat
#15
@j.jusko Stav serveru Stream-Cinema se v Monitor řeší dvěmi (či vlastně třemi) způsoby. Posílání ping na server v krátké periodě, ale to není moc vypovídající. To že systém, na kterém server běží, odpovídá na ping, ještě nic neříká. Podstatné je poslat request a parsovat odpověď, podle které se pozná, že běží nejen systém serveru, ale hlavně vlastní server Stream-Cinema. Aby nedošlo k přílišnému přetěžování serveru, posílá se tento request v delší periodě než ping. Tohle by teoreticky bylo možné zajistit i mimo Kodi (v shell scriptu) a do Kodi to dostat nějakou náhradní metodou.

Ten třetí způsob, to už je moje osobní řešení, které neplánuji publikovat. Jen pro pořádek ho uvedu. Nahradil jsme všechny hlášky v addon Stream-Cinema týkající se výpadku komunikace se Stream-Cinema nastavením speciální "property" proměnné. Na jejím základě Monitor přejde na zjišťování dostupnosti serveru Stream-Cinema (request/parsování odpovědi) v krátkém cyklu a dokud server v nastaveném počtu cyklů neodpoví správně, tak skin zablokuje všechny přístupy k funkcím addon Stream-Cinema. Uživatel tak hned vidí, že je server down a nepokouší se (ani tu možnost nemá) cokoliv z addon Stream-Cinema spouštět. Jak jsem říkal, tohle ale nehodlám publikovat, a to z mnoha důvodů. Tím hlavním je to, že to funguje pouze s upraveným addon Stream-Cinema, který na našich instalacích a instalacích našich známých distribuujeme jako fork z "našeho" repozitáře. Ve stavovém řádku se pak Stream-Cinema server (ikona filmové kamery) prezentuje třemi stavy:
  • bílá - vše OK
  • žlutá - došlo k nějakému problém, server neodpovídá správně, Monitor přejde na kratší peridou zjišťování stavu serveru
  • červená - server neodpovídá vůbec a skin zablokuje všechny funkce související s addon Stream-Cinema
Co se týče zobrazení počtu VIP dní, tak to není záležitost addon Monitor. A zobrazení počtu VIP dní v nastavení, to sis asi popletl, to má realizované fork addon Stream-Cinema pro Enigmu, myslím že se tady na fóru o tom psalo (asi @hansolo). V Kodi addon to realizované není, takže to tam ani nehledej. Kodi addon ale tuto informaci ukládá do "property", která je ve skinu jednoduše použitelná. Popsal jsem to v Webhare VIP days v tématu Estuary Easy. Nicméně vzhledem k omezení (hodnota se zobrazí až po prvním pokusu o spuštění něčeho přes addon Steram-Cinema) to přímo do Monitor plánuji zavést také. Buď jako trvalé zobrazení ve stavovém řádku (jak je to uvedené v připojeném odkazu - kam jsem ještě doplnil změnu barvy - normální je bílá, pokud to podleze 1. mez žlutá a pokud 2. mez tak červená) nebo jako alarmovou zprávu (Kodi notice), která se bude periodicky zobrazovat při podkročení určité meze počtu zbývajících VIP days.
 
Citovat
#16
Ve volných chvílích jsem se znova na Monitor Kodi podíval. Používám pro monitorování různá další řešení (částečně jako doplňky v Kodi, částečně jako scripty v systému (CoreELEC)), ale vytvoření jednoho komplexního python doplňku mě stále láká. Hlavně pro to, aby se to dalo nabídnou jako out-of-box řešení a umístit do repozitáře. Dokonce jsme se kvůli tomu začal zajímat o to, jak v python napsat cron, což nakonec skončilo tím, že jsem vyzkoušel knihovní funkci schedule. Funguje perfektně. Jako další krok pak logicky následovalo studium vícevláknových úloh, tedy zásadám a možnostem paralelního programování v Python a Kodi. I tady to nakonec skončilo jedním už hotovým řešením, konkrétně knihovnou threading. Takže v současné době mám celkem bezproblémové řešení Kodi service běžící na pozadí, ve kterém můžu mít více úloh spouštěných v libovolných periodách, a to už od 1 vteřiny. Té krátké periody jsme se trochu bál, ale Kodi to zvládá celkem bez problémů. Ty úlohy běží nejen v nastavených periodách, případně jsou spouštěné v absolutních časech dne, ale zároveň každá ve vlastním vlákně, takže vlastně paralelně. Na to, jak je to jednoduché, to funguje skvěle. Včetně okrajových stavů, tedy jak po spuštění Kodi, tak hlavně při jeho ukončování, což někdy bývá problém. Zátěž CPU se příliš nezvýšila, ale stále ještě jsem do nového doplňku nepřenesl všechny funkce. Zatím to testuji v podobě samostatného doplňku, ale alternativně počítám i s variantou to plně integrovat do skinu.
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)