• 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
LibreElec NUC jako tvheadend server
#1
Dobrý den, používám Intel NUCs LibreElec 8.0.3 jako tvheadend server v4.2. K NUC mám připojeny dva USB tunery, dvojitý DVB-T a jednoduchý DVB-S2. Vše funguje jak má, ale nevím jak dosáhnout toho, aby mi NUC přešel do standby režimu v případě, kdy k tvheadend serveru není připojen žádný klient nebo pokud nic nenahrává.
Předem díky za radu.
 
Citovat
#2
@tdanicek Mám to podobné (jen místo NUC používám Asrock Beebox a 2 dvojité USB DVB-T). Na to, co spotřebuješ, existují dva postupy. Buď zkusit různé skripty pro Tvheadend server, které se dají na internetu nalézt, např. zde https://tvheadend.org/boards/4/topics/906. To ale vyžaduje poměrně slušnou znalost Linux i TVheadend a navíc to většinou neřeší situaci, kdy Tvheadend server běží na stejném stroji jako Kodi, takže je tam třeba ještě zpravidla doplnit test na aktivního klienta Kodi. Druhá možnost je zkusit využít addon TVHeadend Power and Recording Management. Měl bys ho nalézt ve standardním repozitáři Kodi Add-on Repozitory. Možná je dobré se taky podívat na github autora tohoto addon https://github.com/b-jesch?tab=repositories

Já jsme to ještě nezkoušel, takže nevím ja to funguje a zda vůbec. Chystám se na to už delší dobu, co jsme si pořídit Asrock Beebox, ale zatím ho provozuji trvale zapnutý, mám jen nastavený ECO režim a uspávám disk pro nahrávání. Měl by v tomto režimu brát něco kolem 8W, což mě zas tolik netrápí. Ale vyřešit to do budoucna taky chci. Tak budu rád v kontaktu.
 
Citovat
#3
Už dříve jsem zkoušel TVheadend Recording and Power management, ale neúspěšně. Nikdy mi NUC neuspal...

Může to být i tím, že jsem nepochopil jak nastavit:

THIS ADDON USE ACPI-WAKEUP OVER RTC. YOUR MAINBOARD MUST SUPPORT THIS PROPERLY. NOTE THAT IN YOUR APM-SETTINGS OF YOUR BOARD THE RTC WAKEUP SHOULD BE SET TO ‘by OS’ OR ‘disabled’.

Tohle v BIOSU nikde nemám, ty ano?
 
Citovat
#4
@tdanicek Nainstaloval jsem si TVHeadend Power and Recording Management, začal ho testovat a mám několik poznatků:

V první řadě bych měl napsat, že nepoužívám standby, ale vypínání. Provozuji LE s Tvheadend server na Asrock Beebox a tam není možné po uspání probudit systém přes DO, tedy pokud se používá interní IR přijímač. Zdá se, že interní IR přijímač není připojen k USB, ale pravděpodobně k jinému rozhraní. Paradoxně ale přes DO zase funguje spuštění po vypnutí. To ale jen na okraj, aby bylo jasno, proč hovořím o vypínání a zapínání a ne o uspávání a probouzení.

Co je důležitém si uvědomit je, že vypnutí je třeba provést ručně. Představa, že si nastavíš nahrávání a Kodi se samo vypne není správná. Je to logické. Aby se ale při vypnutí provedlo to, co je třeba, musí se změnit povel pro vypnutí. Je to popsáno v návodu README.pdf, který je přiložen v adresáři addon, tedy v adresáři .../addon/service.tvh.manager.

Povel pro vypnutí je třeba změnit na všech místech, která pro vypnutí chceš používat - DO, klávesnice, příkaz v Kodi. Vlastní příkaz je zde:

XBMC.RunScript(service.tvh.manager,poweroff)

Je možné si ho nejdříve vyzkoušet například z konzole, zadáním:

kodi-send --action="XBMC.RunScript(service.tvh.manager,poweroff)"

Při zadání povelu vypnutí addon kontroluje, jestli je možné Kodi vypnout. Kontroluje se zda:
  • běží nějaké nahrávání,
  • běží EPG update,
  • běží definovaná úloha - zadává se v nastavení pluginu,
  • je aktivní síťové spojení  - zadává se v nastavení pluginu.
Pokud je splněna alespoň jedna z výše uvedených podmínek, vypnutí se neprovede, ale addon ho registruje. Jakmile není splněná žádná z nich a zároveň od doby zadání povelu vypnutí nedošlo k řádné aktivitě uživatele (DO, klávesnice), tak se povel vypnutí provede.

Před vypnutím se samozřejmě nastaví RTC v systému na čas zapnutí. Pokud je v té době systém stále vypnutý, tak se zapne, provede se nahrávání a opět se vypne. Pokud je ale v době, kdy se měl zapnout už zapnutý, tak se po skončení nahrávání nevypne a je ho třeba vypnout ručně. Ale to je celkem pochopitelné.

Zatím jsme neprošel všechny možné kombinace událostí a nastavení. Je to časově náročné, propátrat všechny varianty, ale zatím to vypadá, že všechno chodí tak jak má.

Edit 8.6.2017: Doplnění zmínky o kontrole aktivity uživatele.
 
Citovat
#5
Díky za provedené zkoumání a obsáhlou odpověď. Nicméně moje situace je trochu jiná.

NUC s LibreElec 8.0.2 a v něm aktivovaný server TVHeadend 4.2 mám zavřený ve skříni a používám ho čistě jako multimediální server. Mám ho připojení pouze do sítě LAN a přivedené antény. Nemám k němu připojené žádné zobrazovadlo, DO ani klávesnici a administraci řeším vzdáleně přes VNC či webového klienta. Právě proto jsem očekával, že pokud nebude TVHeadend nahrávat/přehrávat, či k němu nebude připojen žádný klient, který např. využívá tunery k živému sledování TV, tak po nastavené prodlevě NUC přejde do standby a probudí se pouze v případě požadavku vzdáleného klienta (Wake-On-LAN) či pokud bude mít naplánované nahrávání nějakého pořadu.

Toto mi předtím fungovalo na Mediaportal serveru běžící na Windows. Jsem nováčkem v Linuxu (LibreElec), velmi se mi líbí možnosti TVHeadend serveru a určitě se nechci vracet zpět na mediaportal server a tak proto řeším standby NUC s LibreElec.
 
Citovat
#6
@tdanicek Ahoj. Ha, ha. Tak to je dobrá náhoda. 8 let jsme provozoval MediaPortal v multiseat konfiguraci, před dvěma lety jsme začal používat Kodi jako klienta a před necelým rokem jsem přešel komplet na Kodi + Tvheadend. Takže ti rozumím 6. Ale k věci.

Pochopil jsem to. V tvém případ by asi bylo lepší, pokud bys provozoval pouze čistý Tvheadend na nějaké standardní Linuxové distribuci. Ale i v tom ti rozumím, ten Tvheadend pro LibreELEC je úžasně jednoduchý a člověk nepotřebuje žádné zvláštní znalosti o Linux.

Podle mne je řešení jednoduché. Ty v podstatě potřebuješ jen to, aby se po startu LibreELEC s Kodi a Tvheadend zadal povel pro vypnutí (tak jak jsme ho uváděl v předchozím příspěvku).

Takže, aby sis to vyzkoušel, doporučuji provést test. Přihlaš se na konzoli LE a zadej příkaz pro povel k vypnutí:

kodi-send --action="XBMC.RunScript(service.tvh.manager,poweroff)"

Pokud právě nepoběží žádné nahrávání tak se systém vypne. Pokud nahrávání v této chvíli poběží, tak se vypnutí odloží až do jeho skončení a pak se systém vypne. No a pak se už bude stále jen vypínat a zapínat podle následujících nahrávání.

Dalším krokem by mělo být to nějak zautomatizovat. Nejednodušší bude, vyrobit si script, pojmenovat ho např. kodidown.sh:

#! /bin/sh
sleep 30
kodi-send --action="XBMC.RunScript(service.tvh.manager,poweroff)"

Důležité je ta prodleva před posláním povelu k vypnutí. Je třeba, aby se všechno řádně spustilo. Já jsem tam dal 30 s, ale klidně můžeš i přidat. To je celkem jedno.

Script kodidown.sh pak budeš spouštět z autostart.sh (níže je můj autostart.sh ve kterém jsem to zkoušel, spuštení kodidown.sh je pouze ten poslední řádek):

#!/bin/sh
ir-keytable --delay=500 --period=50 --sysdev rc0
killall irexec
irexec -d /storage/.config/.lircrc
hd-idle -i 0 -a /dev/sda -i 600
/storage/.config/kodidown.sh &
 
Citovat
#7
@tdanicek Možná by to ještě chtělo vylepšit. Může se stát, že se povel vypnutí neprovede. Důvodů může být několik, jeden nikdy neví, co se v té tvojí skříni děje 1. Ne vážně, jsou situace, kdy úplně přesně nevím, jak to zafunguje. Například, když z nějakého klienta Kodi vymažeš právě nahrávaný program. Nahrávání se sice ukončí, ale nemám ověřeno, jestli to ten addon vyhodnotí správně. Aby to bylo skutečně "sichr", možná bych ten povel na vypnutí posílal do Kodi opakovaně. Např. každé 2 minuty. Nemám sice dlouhodobě ověřeno, co se stane, pokud tam ty povely na vypnutí budou chodit opakovaně, ale to už nechám na tobě.

Pro takový případ by script kodidown.sh vypadal nějak takhle:

#! /bin/sh
sleep 30
while [ TRUE ]; do
kodi-send --action="XBMC.RunScript(service.tvh.manager,poweroff)"
sleep 120
done

Mimochodem, otázku probouzení serveru z klientů máš asi vyřešenou jak jsi napsal, ale nesmíš zapomenout zajistit, aby když je nějaký klient aktivní, se ti server neuspal. Ale to se dá zařídit v nastavení TVHeadend Power and Recording Management addon. Tam je třeba zadat do položky Monitored ports 9982.
 
Citovat
#8
@tdanicek Díky tvému dotazu jsem si v tom konečně udělal jasno. Pohrál jsme si s tím a mám ještě pár postřehů, které se ti budou určitě hodit:
  • Pokud se smaže soubor s právě probíhající nahrávkou, tak to addon vyhodnotí jako ukončení nahrávání a zachová ze korektně tak jak má
  • V nastavení do položky  Monitored Ports se při zadání více portů jako oddělovač může použít mezera. Jiné oddělovače jsem nezkoušel.
  • Při zadání portu 9982 se blokuje vypnutí, pokud je aktivní alespoň jeden klient Kodi se spuštěným PVR Tvheadend a připojením k Tvheadend serveru. Testoval jsem to jak s Kodi (LibreELEC i W10), tak s TVH na Androidu. Neplatí to pro PVR, které běží na v LibreELEC kde je Tvheadend server.
  • U TVH nestačí jen ukončení, je ho třeba vyhodit z paměti. Tedy alespoň u mého Honor 5X s Androidem Marshmallow to tak funguje.
  • Při zadání portu 9981 se blokuje vypnutí, pokud je zobrazena alespoň jedna stránka GUI Tvheadend server ve webovém prohlížeči.
  • Pro odblokování vypnutí pro port 9981 je třeba ukončit všechny instance prohlížeče na daném počítači, který vypnutí blokuje. Bude to asi hodně záviset na systému a prohlížeči. Já to zkoušel na W10 s Chrome a dokud jsem neukončil všechny běžící instance prohlížeče na kterém byla stránka GUI Tvheadend alespoň jednou zobrazena, tak se vypnutí stále blokovalo.
  • Korektní vypnutí, které zajistí správné spuštění pro nahrávání, samozřejmě nefunguje pro příkazy pro vypnutí (uspání) v Yatse. Kdo chce používat Yatse, musí LibreELEC vypínat pouze přes "Vypínací menu".
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)