05.1.2023, 14:30
(Tento příspěvek byl naposledy změněn: 06.1.2023, 7:31 uživatelem JiRo.
Důvod úpravy: Překlep
)
Hrátky s led
V minulém postu jsem, kromě jiného, napsal:
Proti výše citovanému popisu je ještě poněkud upravený. Script běží trvale, spouští se po spuštěním CE a začne být aktivní po prodlevě 30 sec od spuštění nebo po spuštění Kodi. Ovládání led je podmíněno tím, že neběží lokální Kodi. Led se ovládají ve dvou základních stavech, prodleva je vždy 3 sec.
Pokud je aktivní alespoň jedno nahrávání nebo alespoň jeden klient Kodi, který je připojený k Tvheadend serveru, tak počet rychlých bliknutí led (0.2/0.2 sec) odpovídá sumě počtu aktivních klientů a probíhajících nahrávání.
V případě pokud není aktivní žádný klienta ani neprobíhá nahrávání, rozsvítí se led na 3 sec, tzn. že led v tomto případě bliká v periodě 3/3 sec. To je výrazně a na první pohled odlišné od periody 1/1 sec, kdy led bliká, pokud je aktivní Kodi i od série krátkých bliknutí, jejichž počet udává sumu počtu připojených klientů a probíhajících nahrávání.
Pokud to rekapituluji, tak všechny identifikované stavy běžícího boxu zelenou led jsou:
V minulém postu jsem, kromě jiného, napsal:
(03.1.2023, 23:07)JiRo Napsal(a): Kromě toho mám ještě doplněný další script, který mi led rozsvěcí v jiné periodě, pokud Kodi neběží, ale v Tvheadend probíhá nějaké nahrávání a nebo je k němu připojen nějaký jiný Kodi klient. V tomto případě s pauzou 5 sekund led rychle po sobě zabliká (s periodou 0.4 sekundy) a počet těchto rychlých zabliknutí je dán součtem počtu právě probíhajících nahrávek plus počet aktivních klientů připojených k Tvheadend. To už je ale zase záležitost sh scriptu běžícího v systému mimo Kodi, který je aktivní pouze v okamžiku, kdy Kodi neběží.Takže pro případné zájemce i tento script.
Kód:
#! /bin/sh
i=30
while [ ${i} -lt ${count} ] ; do
echo default-on > /sys/class/leds/sys_led/trigger
sleep 0.8
echo rc-feedback > /sys/class/leds/sys_led/trigger
sleep 0.2
i=$((i + 1))
kodi=$(($(ps | grep -c '/usr/lib/kodi/kodi.bin --standalone -fs')-1))
if [ ${kodi} == 1 ] ; then
break
fi
done
while [ true ] ; do
kodi=$(($(ps | grep -c '/usr/lib/kodi/kodi.bin --standalone -fs')-1))
if [ ${kodi} == 0 ] ; then
rec=$(curl -s "http://localhost:9981/api/dvr/entry/grid_upcoming?limit=99999" | jq '.entries | .[] | select( .sched_status == "recording" ) | length' | wc -l)
cli=$(curl -s "http://localhost:9981/api/status/connections" | jq -r '.totalCount')
count=$((${rec} + ${cli}))
if [ ${count} -gt 0 ] ; then
i=0
while [ ${i} -lt ${count} ] ; do
echo default-on > /sys/class/leds/sys_led/trigger
sleep 0.2
echo rc-feedback > /sys/class/leds/sys_led/trigger
sleep 0.2
i=$((i + 1))
done
else
echo default-on > /sys/class/leds/sys_led/trigger
sleep 2
echo rc-feedback > /sys/class/leds/sys_led/trigger
fi
else
echo rc-feedback > /sys/class/leds/sys_led/trigger
fi
sleep 2
done
exit 0Pokud je aktivní alespoň jedno nahrávání nebo alespoň jeden klient Kodi, který je připojený k Tvheadend serveru, tak počet rychlých bliknutí led (0.2/0.2 sec) odpovídá sumě počtu aktivních klientů a probíhajících nahrávání.
V případě pokud není aktivní žádný klienta ani neprobíhá nahrávání, rozsvítí se led na 3 sec, tzn. že led v tomto případě bliká v periodě 3/3 sec. To je výrazně a na první pohled odlišné od periody 1/1 sec, kdy led bliká, pokud je aktivní Kodi i od série krátkých bliknutí, jejichž počet udává sumu počtu připojených klientů a probíhajících nahrávání.
Pokud to rekapituluji, tak všechny identifikované stavy běžícího boxu zelenou led jsou:
- série rychlých probliknutí 0.2/0.2 sec s prodlevou 3 sec - Kodi neběží a led je ovládána scriptem, k Tvheadend jsou připojeni klienti a/nebo probíhá nahrávání. Počet probliknutí je suma počtu připojených klientů a probíhajících nahrávání.
- blikání 3/3 sec - Kodi neběží a led je ovládána scriptem, k Tvheadend nejsou připojeni žádní klienti ani neprobíhá žádné nahrávání
- blikání 1/1 sec - Kodi běží, led je ovládáno service addon Kodi. Tento stav se možná zdá zbytečné identifikovat, protože Kodi běží, což by mělo být jasné vidět na obrazovce TV. Ale já mám nastaveno vypnutí TV po určité době nečinnosti v gui Kodi, takže často se může stát, že Kodi běží a TV je přitom vypnutá. Typicky tento stav trvá delší dobu, když např. běží download v SCC a Kodi se jinak nepoužívá nebo je TV přepnutá na jiný vstup bez vypnutí Kodi.
