XBMC-Kodi.cz

Úplná verze: TVHeadend Power and Recording Manager (P&RM) addon
Prohlížíte si holou variantu vašeho obsahu. Prohlédněte si plnou verzi s příslušným formátováním.
Addon je další z produktů Birgera Jesche (Github) ze Saska. Je určen těm, kteří provozují Tvheadand backend na systému s Kodi. Umožňuje vypnout/uspat systém a současně nastavit RTC alarm tak, aby se systém zapnul/probudil v čase, kdy je v Tvheadend backendu naplánováno nahrávání TV pořadu. Je tedy zřejmé, že není určen pro HW typu RPi a podobných, které funkci RTC alarm nemají.

Princip

Addon pracuje trochu jinak, než například podobná funkce v MediaPortal Tv Serveru, kde se RTC alarm nastavuje vždy, když dojde k nějaké změně v nahrávání. Vždy se najde to nejbližší a RTC alarm se nastaví. U tohoto addon se RTC alarm nastavuje právě až v okamžiku, když se addon spustí, tedy právě v okamžiku, když dochází k vypnutí/uspání systému, které tento addon aktivuje. Je to důležité, znamená to, že pokud chceme, aby zapnutí/probuzení fungovalo vždy korektně musíme zajistit, aby nemylo možné systém vypnout jinak, než prostřednictvím tohoto addon. Znamená to, kromě jiného, že po instalaci addon a jeho aktivaci a partametrizaci, musíme upravit některé další části Kodi – např. mapování tlačítka vypnutí DO, příkazy definované ve skinu pro vypnutí/uspání systému.

Addon je tedy určen hlavně těm, kteří nejsou v Kodi přílišnými nováčky a mají nějaké zkušenosti jak s Kodi, tak systémem (Linux) na kterém Kodi běží. V případě úprav skinu narazíte samozřejmě na problém, v případě používáte-li některé z instantních instalací (LibRELECE/OpenELEC), kde přímá úprava standardního skinu Estuary nebo Estouch není možná. V takové případě je třeba použít jiný skin, nebo si tu skutečnost, že Kodi nesmíte vypínat/uspávat příkazy z obrazovky, uvědomit a nepoužívat je!

Instalace

Addon je dostupný v repozitáři Kodi Add-on repozitory, v sekci Služby, případně je možné ho získat na stránkách autora, který má i svůj vlastní repozitář (viz výše).

Konfigurace systému

Po instalaci addon získáte i návod k tomu, jak upravit váš systém (mapování tlačítek, úprava skinu, a další úpravy v systému) tak, aby addon fungoval korektně. Soubory s návodem, README.md a README.pdf naleznete v adresáři …/addon/service.tvh.manager/.

Konfigurace addon

Konfigurace má tři sekce, začnu od té třetí:

EPG Update

Zde je možné konfigurovat spouštění systému pro to, aby bylo možné aktualizovat EPG. Je především určena těm, kteří používají interní nebo externí zdroj EPG. Využijí ho jistě i ti, kteří používají jako zdroj OTA (tzn. EPG vysílané v TV signálu), zejména pokud systém nezapínají často a chtějí mít jistotu, že se jim EPG aktualizuje alespoň jednou za čas.

Konfiguruje se:
  • Wakeup for EPG updates (probouzení/zapnutí systému pro získání EPG) - off/on
  • Wakeup at (čas probouzení systému) – zadává se v celých hodinách každého dne
  • Duration of EPG Update until shutdown (doba, po které se systém pro probuzení pro získání EPG opět uspí/vypne) – zdává se v 5 minutových krocích
Pak následuje sekce parametrizace vlastního EPG, která navazuje na možnosti EPG graberů Tvheadend, ať už PyEPGXMLTV socket nebo odkaz na epg.xml. Tato část je určená především těm, kteří tuto metodu získávání EPG používají a vyžaduje samozřejmě znalosti z této oblasti. To už je mimo rámec tohoto tématu.

Mail

Umožňuje konfigurovat možnost odesílání mailu po skončení nahrávání. Upřímně řečeno, tuto možnost nepoužívám, ale myslím, že je celkem zřejmé, co je třeba v této části zadat. Vyžaduje se samozřejmě existence dostupného smtp serveru.

General

Je nejdůležitější částí konfigurace. Obsahuje následující položky:
  • Connection attempts to TVH before giving up – udává počet kroků testování, zda je Tvheadend backend korektně spuštěn. Po vyčerpání zadaného počtu pokusů addon ukončí svoji činnost bez žádné další akce.
  • Booting time until System is ready – zadává se prodleva (jednotky minut) od probuzení/spuštění do doby, než je systém (tedy především Tvheadend backend) připraven nahrávat. Tento čas se odečte od času zahájení nahrávání v Tvheadend backendu před tím, než se zapíše hodnota do položky RTC Alarm.
  • Time for Shutdown – zadává se prodleva (jednotky minut) od zahájení uspání/vypínání do úplného uspání/vypnutí systému. Součet tohoto času a času Booting time until System is ready se použije ke kontrole, zda bude možné provést celý cyklus ještě před tím, než bud zahájeno následující nahrávání. Pokud by byl čas tohoto cyklu delší, tak se aktuálně požadované uspání/vypnutí neprovede (jednoduše řečeno addon tím řekne „další nahrávání začne v blízké budoucnosti, tak není třeba systém uspávat/vypínat, protože by se do zahájení tohoto nahrávání nestačil probudit/zapnout“).
  • Display Time for Shutdown Confirmation – doba, po kterou se v oznamovací oblasti objevuje hláška a běží odpočítávání do uspání/vypnutí. Pokud v této době uživatel provede nějakou akci (stisk klávesy), tak se proces uspání/vypnutí ukončí.
  • Shutdown performed by – volba OS (power off) nebo Kodi. Já zásadně používám první volbu, tedy uspání/vypnutí provádím příkazem operačního systému. Druhou možnost (Kodi) jsme zatím netestoval, nemám k tomu ostatně důvod, protože mi to s první volbou funguje přesně tak, jak je třeba.
  • Shutdown requires admin privilegies – nastavuje se, pokud je vaším systémem standardní Linux, pro LibreLEEC/OpenELEC se nenastavuje! Nastavení způsobí, že se k příslušným systémovým příkazům u kterých je to třeba, přidává ‘sudo‘.
  • Show info about next shedule at shutdown -  je-li nastaveno, tak se v oznamovací oblasti před uspáním/vypnutím vypisuje informace o následujícím nahrávání.
  • Check of established network connection + Monitored Ports – nastavení a zadáním portů se aktivuje kontrola sítového spojení na těchto portech. Je-li aktivní alespoň jedno spojení, uspání/vypnutí se odloží až do doby, než se všechna spojení ukončí. Já mám v této položce zadány porty 9981 a 9982, což mi zajistí to, že pokud je někde na síti aktivní Kodi s doplňkem PVR Tvheadend nebo zobrazena webová stránka Tvheadend (<ipadresa>:9982) nebo běží TVH aplikace na Androidu, tak se systém s Tvheadend backendem neuspí/nevypne.
  • Wait until monitored Tasks has finished + List monitored Tasks – podobná kontrola jako v předchozím případě, kontrolují se ale běžící úlohy. Já mám v této položce úlohu Mono, která je aktivní při běhu aplikace Webgrab+Plus, která generuje EPG.
Konfigurace:
[attachment=2657] [attachment=2654]

Používání

Předpokladem používání je to, že se všechny povely/akce, které by vedly k uspání/vypnutí systému převedou na spuštění tohoto addon s příslušným parametrem (je to popsáno ve výše odkazovaných návodech).

Po spuštění doplňku se provedou následující kroky:
  1. Kontroluje se, zda neprobíhá nějaké nahrávání. Pokud ano, uspání/vypnutí se odloží.
  2. Kontroluje se, zda nebude nějaké nahrávání probíhat v blízké budoucnosti. Pokud ano, uspání/vypnutí se odloží.
  3. Kontroluje se, zda není aktivní nějaký port. Pokud ano, uspání/vypnutí se odloží.
  4. Kontroluje se, zda není aktivní nějaká úloha. Pokud ano, uspání/vypnutí se odloží.
  5. Pokud se ani v jednom z předchozích případů uspání/vypnutí neodložilo, zahájí se sekvence odpočítávání do uspání/vypnutí. Pokud v této době dojde k nějaké aktivitě uživatele (stisk klávesy) odpočítávání se přeruší a addon se ukončí a Kodi běží dál.
  6. Pokud se alespoň v jednom z předchozích případů (1-4) uspání/vypnutí odložilo, tak addon stále běží a čeká na to, až pominou všechny důvody, pro které je aktuálně  uspání/vypnutí odloženo a pak pokračuje činností uvedenou v bodu 5. Pokud ale v této v této době dojde k nějaké aktivitě uživatele (stisk klávesy), addon se ukončí a Kodi běží dál.
Uspání/vypnutí odloženo, je aktivní alespoň jedno síťové spojení:
[attachment=2659]
Uspání/vypnutí aktivováno, běží odpočítávání:
[attachment=2655]
Informace o dalším nahrávání:
[attachment=2656]
Je samozřejmě na uživateli, aby si ve své konfiguraci používání addon rozmyslel a využil ho dle svých možností. Já Kodi (LibreELEC) ovládám pomoci DO Logitech Harmony One. Takže v okamžiku kdy běží Kodi a když stisknu tlačítko Vypnout, provedou se následující kroky:
  1. Byl-li zapnut receiver (záleží na aktivitě, která byla zvolena), vypne se
  2. Vypne se TV
  3. Spustí se addon, pokud jsou splněny podmínky pro vypnutí systému s Kodi, tak se vypne, pokud ne, tak systém s Kodi běží stále dál a vypne se, až jsou podmínky splněny
Používám tento systém už pár týdnů a zatím bez větších problémů. Kodi se vždy vypne v okamžiku, když je to skutečně možné.

Problémy

Zatím jsem narazil pouze na jeden. Pokud mám nastaveno nahrávání a toto nahrávání si zneplatním (tzn. v Nastavení časovače v Kodi si zruším příznak Povoleno), tak se přesto systém v čase tohoto nahrávání probudí/zapne. Není to nic zásadního, protože je konkrétní nahrávání zakázáno, a tak se nahrávání nespustí a systém se, pokud jsou splněny i ostatní podmínky, znovu uspí/vypne.

To Do

Ještě je třeba vyřešit vypínání Kodi s tímto addon z jiných "klientů". Já osobně používám, sice jen příležitostně, Yatse. Jen zběžně jsem se díval, jaké možnosti bude možné využít. Yatse umožňuje definovat vlastní povely pomocí JSON-RPC příkazů, takže asi nebude problém doplnit ho o povel uspání/vypnutí prostřednictvím tohoto addon. Vlastní JSON-RPC povel je (analogicky k tomu, co je popsáno ve výše odkazovaných návodech) celkem zřejmý. Je to spuštění addon s parametrem "poweroff". Je ostatně možné si to vyzkoušet zadáním z běžného webového prohlížeče:

http://<ip>:<port>/jsonrpc?request={"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"service.tvh.manager","params":"poweroff"},"id":1}
Co použít-HW,když do sítě chci něco,aby to nahrávalo na hdd,když vypnu pc?
Provozoval jsem dlouho RPi2 s LE 8.02, s Tvheadend 4.2, přes USB jsme měl připojené 2 dvojité přijímače DVB-T Evolveo Venus a přes aktivní USB 2.0 HUB stará 2,5" 500 GB SATA HDD v USB boxu Axago. To je podle mne jedno z nejjednodušších a nejlevnějších řešení, jak si poskládat server pro nahrávání. Pokud to RPi nebudeš chtít používat zároveň jako Kodi klienta, nemusíš tam instalovat LE, ale stačí nějaký Linux pro RPi. Budeš si ale muset pohrát s instalací Tvheadend a vůbec, budeš muset mít nějaké menší či větší znalosti o Linuxu. Pokud použiješ to řešení s LE, nepotřebuješ žádné zvláštní znalosti a nebudeš muset řešit nic složitého, všechno se nainstaluje a běží na první dobrou.

Pokud bys nechtěl HDD a nechceš nahrávat na nějaký disk někde na síti, můžeš samozřejmě nahrávat na kartu v RPi nebo na USB flash. Když jsem to poprvé testoval, nahrával jsem na kartu, ale kapacitně to samozřejmě nebylo nic moc. Pak jsme přešel na 128 GB flashku, a to už dávalo smysl větší.

Přes Tvheadend serever můžeš také přijímat IPTV a MP3 radia. V takovém případě je pak můžeš i nahrávat a používat timeshift. Ideální je prohnat IPTV streamy přes Tvheadned v případě, že existuje potřeba, aby se na jeden stream dívalo současně více uživatelů nebo aby se někdo díval na live stream v okamžiku, když se stream nahrává na disk. V takovém případě se ten stream z internetu přijímá vždy pouze jednou a mezi další uživatele ho rozděluje až Tvheadend server po vnitřní síti.

Řešení na RPi má samozřejmě jednu velkou slabinu, a tou je to, že veškerá komunikace (s USB přijímači, se sítí a s diskem) probíhá přes USB. Výkonově to RPi stíhá v pohodě, ale ten USB řadič svoje limity má.
: Používám tento doplněk na LibreELEC 9.2.6 s TVHeadend. Pokud nechám P&RM NUC uspat a probudit před plánovaných nahráváním, pak vše běží v pořádku a i USB DVB-T2 a USB DVB-S tunery najedou a vše se funguje v pořádku. Nicméně, pokud nastane situace, kdy se NUC uspí tímto doplňkem a já ho pak probudím tlačítkem přímo na NUC (nebo Wake-On-LAN), pak tuner USB DVB-S nenaběhne v pořádku a musím LibreELEC restartovat. Nerozumím tomu, NUC s LibreELECem používám jako dedikovaný server a nemám k němu připojené žádné DO ani klávesnici. Nevíte zda je potřeba i přesto editovat nějaký konfigurační soubor P&RM doplňku, aby i "ruční" probuzení proběhlo v pořádku? Děkuji předem.