OSCAM - sh script

Moderátoři: EnoSat, peter54, 9000peter

bdpeter
Mírně pokročilý
Mírně pokročilý
Příspěvky: 27
Registrován: 13 bře 2023 19:18
Dal poděkování: 7 poděkování
Dostal poděkování: 2 poděkování

OSCAM - sh script

Příspěvek od bdpeter »

velmi sa tesim ze sa tu debata takto fajn rozbieha. Vdak nej uz viem nove veci.

Zacal som sa zaoberat myslienkou zistovania stavu necinosti stavu citacky:

vyskusal som :
Vypise cas necinosti vsetkych citaciek
wget -q -O - "http://192.168.1.187:8888/oscamapi.html?part=status"

Vypise cas necinosti jednotlivej citacky s menom sklink_private
wget -q -O - "http://192.168.1.187:8888/oscamapi.html?part=status" | sed -rn '/name="sklink_private"/,/times/ {s/.*idle="([0-9]+)".*/\1/p}'

vysledkom je cislo, ktore reprezentuje cas, ktory je citacka v necinosti.

Nepoznate niekto prikaz pomocou, ktoreho by sa dalo zistit aky prave bezi program na danom prijimaci ? je to v nejakej premenej ?

chcel by som skusit rozsirit skript o nasledovne:
1. skontrolujem ci je primac Online teda ci prave prijima nejaky program alebo nie
2. skontroloval by som ako je dlho citacka v necinosti. / nastavil by som nejake referencne cislo napr 7200s
3. ak nie je online a cas necinosti by bol vacsi ako referencny zapol by so AU na 1 a pustil tie 2 streamy aby aby na kartu prislo emm. ak by bol cas necinosti mensi nerobilo by nic.
4. ak by bol online a cas necinosti by bol vacsi ako referencny zapol by som len AU na 1 a nech sa emm dopisu z prave beziaceho programu. ak by bol cas mensi neurobi nic

Aky ja Vas nazor? ma to nejaku logiku ? Ma to zmysel takto riesit?
Uživatelský avatar
peter54
Moderátor
Moderátor
Příspěvky: 609
Registrován: 19 úno 2022 19:01
Dal poděkování: 91 poděkování
Dostal poděkování: 205 poděkování

Re: OSCAM - sh script

Příspěvek od peter54 »

Všetky príkazy enigmy nájdeš na githube https://github.com/E2OpenPlugins/e2open ... pi-methods
Napríklad
Screenshot_20241204-151805.png
Potom stačí z toho vyťahať čo práve potrebuješ.
Ako príklad uvediem skriptík použitý na získanie informácie o mojom domácom prostredí.
Skripty monitor.sh a stav1.sh

Kód: Vybrat vše

root@odroid:/var/www/html# cat monitor.sh
#!/bin/bash
to_sat () {
par1=$1
sat=" "
if ( echo $par1|grep '16E:A00000'>/dev/null ); then sat=16.0E ;fi
if ( echo $par1|grep '3:EB0000'  >/dev/null ); then sat=23.5E ;fi
if ( echo $par1|grep '2:11A0000' >/dev/null ); then sat=28.2E ;fi
if ( echo $par1|grep '1:C00000'  >/dev/null ); then sat=19.2E ;fi
echo $sat
}
curl="curl -m 3 -s http://"
params="/index?mode=fullpage target=_blank><b>"
tr_href="<tr> <td><a href=http://"
tr_hrefs="<tr> <td><a href=https://"
ip_octa=192.168.0.118
time_obyvacka=$(echo `${curl}192.168.0.114/web/currenttime`)
time_spalna=$(echo   `${curl}192.168.0.113/web/currenttime`)
#time_klub=$(echo     `${curl}192.168.0.131/web/currenttime`)
time_katka=$(echo    `${curl}192.168.0.116/web/currenttime`)
time_octagon=$(echo  `${curl}${ip_octa}/web/currenttime`)
[ -z "$time_octagon"  ] && ip_octa=192.168.0.120 && time_octagon=$(echo  `${curl}${ip_octa}/web/currenttime`)
[ ! -z "$time_obyvacka" ] && event_obyvacka=$(echo `${curl}192.168.0.114/web/getcurrent|egrep  '(<e2eventname>)'|head -1|sed 's!N\/A!!;s!</*e2eventname>!!g'|cut -c1-30 `)
[ ! -z "$time_spalna"   ] && event_spalna=$(echo   `${curl}192.168.0.113/web/getcurrent|egrep  '(<e2eventname>)'|head -1|sed 's!N\/A!!;s!</*e2eventname>!!g'|cut -c1-30 `)
[ ! -z "$time_klub"     ] && event_klub=$(echo     `${curl}192.168.0.131/web/getcurrent|egrep  '(<e2eventname>)'|head -1|sed 's!N\/A!!;s!</*e2eventname>!!g'|cut -c1-30 `)
[ ! -z "$time_katka"    ] && event_katka=$(echo    `${curl}192.168.0.116/web/getcurrent|egrep  '(<e2eventname>)'|head -1|sed 's!N\/A!!;s!</*e2eventname>!!g'|cut -c1-30`)
[ ! -z "$time_octagon"  ] && event_octagon=$(echo  `${curl}${ip_octa}/web/getcurrent|egrep  '(<e2eventname>)'|head -1|sed 's!N\/A!!;s!</*e2eventname>!!g'|cut -c1-30`)
[ ! -z "$time_obyvacka" ] && stat_obyvacka=$(echo `${curl}192.168.0.114/web/about|egrep  '(<e2servicename>)|(<e2servicevideosize>)'`)
[ ! -z "$time_spalna"   ] && stat_spalna=$(echo   `${curl}192.168.0.113/web/about|egrep  '(<e2servicename>)|(<e2servicevideosize>)'`)
[ ! -z "$time_klub"     ] && stat_klub=$(echo     `${curl}192.168.0.131/web/about|egrep  '(<e2servicename>)|(<e2servicevideosize>)'`)
[ ! -z "$time_katka"    ] && stat_katka=$(echo    `${curl}192.168.0.116/web/about|egrep  '(<e2servicename>)|(<e2servicevideosize>)'`)
[ ! -z "$time_octagon"  ] && stat_octagon=$(echo  `${curl}${ip_octa}/web/about|egrep  '(<e2servicename>)|(<e2servicevideosize>)'`)
[ ! -z "$time_octagon"  ] && distro_octagon=$(echo  `${curl}${ip_octa}/web/about|egrep  '(<e2distroversion>)'|sed 's!N\/A!!;s!</*e2eventname>!!g'`)
[ ! -z "$time_obyvacka" ] && satx=$(echo `${curl}192.168.0.114/web/subservices|egrep  '(<e2servicereference>)'`) && sat_obyvacka=$(to_sat  "$satx")
[ ! -z "$time_spalna"   ] && satx=$(echo `${curl}192.168.0.113/web/subservices|egrep  '(<e2servicereference>)'`) && sat_spalna=$(to_sat  "$satx")
[ ! -z "$time_klub"     ] && satx=$(echo `${curl}192.168.0.131/web/subservices|egrep  '(<e2servicereference>)'`) && sat_klub=$(to_sat  "$satx")
[ ! -z "$time_katka"    ] && satx=$(echo `${curl}192.168.0.116/web/subservices|egrep  '(<e2servicereference>)'`) && sat_katka=$(to_sat  "$satx")
[ ! -z "$time_octagon"  ] && satx=$(echo `${curl}${ip_octa}/web/subservices|egrep  '(<e2servicereference>)'`) && sat_octagon=$(to_sat  "$satx")
[ ! -z "$time_obyvacka" ] && line_obyvacka=$(echo "${tr_href}192.168.0.114${params}obyvacka</b></a> <td>$time_obyvacka<td> $stat_obyvacka <td> $event_obyvacka <td> $sat_obyvacka </tr>")
[ ! -z "$time_spalna"   ] && line_spalna=$(echo   "${tr_href}192.168.0.113${params}spalna</b></a> <td>$time_spalna<td> $stat_spalna <td> $event_spalna <td> $sat_spalna </tr>")
[ ! -z "$time_klub"     ] && line_klub=$(echo     "${tr_href}192.168.0.131${params}klub</b></a> <td>$time_klub<td> $stat_klub <td> $event_klub <td> $sat_klub </tr>")
[ ! -z "$time_katka"    ] && line_katka=$(echo    "${tr_href}192.168.0.116${params}katka</b></a> <td>$time_katka<td> $stat_katka <td> $event_katka <td> $sat_katka </tr>")
[ ! -z "$time_octagon"  ] && line_octagon=$(echo  "${tr_hrefs}${ip_octa}${params}o-$distro_octagon</b></a>
<td>$time_octagon<td> $stat_octagon <td> $event_octagon <td> $sat_octagon </tr>")
cat <<END
Content-type: text/html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=UTF-8></meta>
<title>Monitor PI</title>
<style>
table, th, td { border: 1px solid black; border-collapse: collapse; }
th, td { padding: 0px; }
</style>
</head>
<body  style="font-family: sans-serif;font-size:9pt" onload="zapisy.scrollTop = 99999;">
<b>Monitor PI</b>  &nbsp;&nbsp;&nbsp;  $(date +"%d.%m.%Y %T")
<br>$(uname -a)
<pre>
<table>
<tr><th rowspan=2>Server<th rowspan=2>Time<th colspan=2>Uptime<th rowspan=2>Load<th rowspan=2>Temp<th rowspan=2>Eth0</th></tr>
<tr><th>Linux<th>Oscam</th></tr>
$(echo $(${curl}192.168.0.91/cgi-bin/stav1.sh)|sed 's/:8888/\/index.sh/g')
$(echo $(${curl}192.168.0.111/cgi-bin/stav1.sh)|sed 's/:8888/\/index.sh/g')
$(echo $(${curl}192.168.0.110/cgi-bin/stav1.sh)|sed 's/:8888/\/index.sh/g')
$(echo $(${curl}192.168.0.107/cgi-bin/stav1.sh)|sed 's/:8888/\/index.sh/g')
</table>
<table>
<tr><th>STB<th>Time<th colspan=2 >Program<th>Sat</th></tr>
$line_obyvacka
$line_spalna
$line_klub
$line_katka
$line_octagon
</table>
<br><b>Raspberry monitor: </b> \
 <a href="http://192.168.0.91:8889" target="_blank"><b>zero</b></a> \
 <a href="http://192.168.0.110:8889" target="_blank"><b>zero2</b></a> \
 <a href="http://192.168.0.111:8889" target="_blank"><b>odroid</b></a> \
 <a href="http://192.168.0.107:8889" target="_blank"><b>rpi2</b></a>
<b>Oscam zero: </b> \
 <a href="http://192.168.0.91:8888" target="_blank"><b>zero</b></a> \
 <a href="http://192.168.0.91:28888" target="_blank"><b>zero_2</b></a> \
 <a href="http://192.168.0.91:38888" target="_blank"><b>zero_3</b></a>
<b>Oscam zero2: </b> \
 <a href="http://192.168.0.110:8888" target="_blank"><b>zero2</b></a> \
 <a href="http://192.168.0.110:28888" target="_blank"><b>zero2_2</b></a> \
 <a href="http://192.168.0.110:38888" target="_blank"><b>zero2_3</b></a>
<b>Oscam STB: </b> \
 <a href="http://192.168.0.114:8888" target="_blank"><b>Obyacka</b></a> \
 <a href="http://192.168.0.113:8888" target="_blank"><b>Spalna</b></a> \
 <a href="http://192.168.0.114:8888" target="_blank"><b>Katka</b></a> \
 <a href="http://${ip_octa}:8888" target="_blank"><b>Octagon</b></a>
<b>Zapisy na zere</b>
<textarea id="zapisy" rows="14" cols="66" readonly style="font-size:9pt;nowrap;font-family: sans-serif">
$(${curl}192.168.0.91/cgi-bin/zapisy.sh |tail -n  +2|tac|perl -nle 'print if !/<.*pre>/')
</textarea>
</pre>
</body>
</html>
END
root@odroid:/var/www/html#

Kód: Vybrat vše

root@odroid:/var/www/html# cat ../cgi-bin/stav1.sh
#!/bin/bash -x
echo -e "Content-type: text/html\n\n"
 casik=$(curl -s http://localhost:8888|grep 'OSCam Run Time:'|perl -pe 's/.*id="runtime"> //;s/<.*>//;s/:\d\d$//')
teplota=$(echo `cat /sys/devices/virtual/thermal/thermal_zone0/temp`)
if [ `hostname` == zero2 ]; then teplota=$(cat /sys/devices/virtual/thermal/thermal_zone0/temp|xargs echo 30000 +|bc);fi
if [ $teplota -gt 1000 ];then teplota=`echo $teplota/1000|bc`;fi
siet=$(ethtool eth0|awk '/Speed/ {print $2}')
ip=$(ifconfig|grep -v '127\.0\.0\.1'|awk '/inet / {print $2;exit 0}'|sed 's/addr://')
part1=$(echo  '<td><a href="http://'$ip':8888"  target="_blank"><b>'`hostname`:8888'</b></a> ')
  IFS=,;set `uptime`;
#part2=$(echo "<td>$1 $2 <td> $casik <td>$4$5$6"|sed 's/  load average://;s/ up/ <td>/;s/ days /d/;s/ day /d/')
part2=$(echo "<td>$1 $2 <td> $casik <td>$4$5 "|sed 's/  load average://;s/ up/ <td>/;s/ days /d/;s/ day /d/')
part3=$(echo $(printf  "<td> %.1f, " $teplota) "<td> $siet ")
part4=$(echo '</tr>')
#echo $ip -  $(uptime)  $(printf  " teplota: %.1f\n"  $teplota) $siet
echo "<tr>$part1$part2$part3$part4"
root@odroid:/var/www/html#
A tu je výsledok
Screenshot_20241204-154856.png
Screenshot_20241204-153748.png
Nemáte oprávnění prohlížet přiložené soubory.
f4t, sf8008, skylink, antiksat, 13, 16, 19, 23, 28, orange pi, rpi2b, odroid c4 🎗️
Uživatelský avatar
peter54
Moderátor
Moderátor
Příspěvky: 609
Registrován: 19 úno 2022 19:01
Dal poděkování: 91 poděkování
Dostal poděkování: 205 poděkování

Re: OSCAM - sh script

Příspěvek od peter54 »

Ďalší príklad, nie najlepšia technika programovania, bola to rýchlovka, ale snáď to niekomu pomôže.
Screenshot_20241205-193359.png

Kód: Vybrat vše

root@zero:~# 
root@zero:~# cat /var/www/html/index.sh
#!/bin/bash
curl="curl -m 1 -s http://"
params="/index?mode=fullpage target=_blank><b>"
tr_href="<tr> <td><a href=http://"
ipcka=$(ifconfig|grep -v '127\.0\.0\.1'|awk '/inet / {gsub("addr:","");print $2;exit 0}')
hostname=$(hostname)
cat <<END
Content-type: text/html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=UTF-8></meta>
<title>Index $(hostname)</title>
<style>
table, th, td { border: 1px solid black; border-collapse: collapse; }
th, td { padding: 0px; }
</style>
</head>
<body  style="font-family: sans-serif;font-size:9pt" onload="zapisy.scrollTop = 99999;">
<b>Monitor PI</b>  &nbsp;&nbsp;&nbsp;  $(date +"%d.%m.%Y %T")
<br>$(uname -a)
<pre>
<table>
<tr><th rowspan=2>Server<th rowspan=2>Time<th colspan=2>Uptime<th rowspan=2>Load<th rowspan=2>Temp<th rowspan=2>Eth0</th></tr>
<tr><th>Linux<th>Oscam</th></tr>
$(${curl}localhost/cgi-bin/stav1.sh)
$(${curl}localhost/cgi-bin/stav2.sh)
$(${curl}localhost/cgi-bin/stav3.sh)
</table>
<br><b>Raspberry monitor $hostname: </b> \
 <a href="http://$ipcka:8889" target="_blank"><b>rpi monitor</b></a>
<b>Oscam $hostname: </b> \
 <a href="http://$ipcka:8888" target="_blank"><b>oscam</b></a> \
 <a href="http://$ipcka:28888" target="_blank"><b>oscam_2</b></a> \
 <a href="http://$ipcka:38888" target="_blank"><b>oscam_3</b></a>
</pre>
</body>
</html>
END
root@zero:~# cat /var/www/html/stav1.sh
cat: /var/www/html/stav1.sh: No such file or directory
root@zero:~# cat /var/www/cgi-bin/stav1.sh
#!/bin/bash -x
echo -e "Content-type: text/html\n\n"
 casik=$(curl -s http://localhost:8888|grep 'OSCam Run Time:'|perl -pe 's/.*id="runtime"> //;s/<.*>//;s/:\d\d$//')
teplota=$(echo `cat /sys/devices/virtual/thermal/thermal_zone0/temp`)
if [ `hostname` == zero2 ]; then teplota=$(cat /sys/devices/virtual/thermal/thermal_zone0/temp|xargs echo 30000 +|bc);fi
if [ $teplota -gt 1000 ];then teplota=`echo $teplota/1000|bc`;fi
siet=$(ethtool eth0|awk '/Speed/ {print $2}')
ip=$(ifconfig|grep -v '127\.0\.0\.1'|awk '/inet / {print $2;exit 0}'|sed 's/addr://')
part1=$(echo  '<td><a href="http://'$ip':8888"  target="_blank"><b>'`hostname`:8888'</b></a> ')
  IFS=,;set `uptime`;
#part2=$(echo "<td>$1 $2 <td> $casik <td>$4$5$6"|sed 's/  load average://;s/ up/ <td>/;s/ days /d/;s/ day /d/')
part2=$(echo "<td>$1 $2 <td> $casik <td>$4$5 "|sed 's/  load average://;s/ up/ <td>/;s/ days /d/;s/ day /d/')
part3=$(echo $(printf  "<td> %.1f, " $teplota) "<td> $siet ")
part4=$(echo '</tr>')
#echo $ip -  $(uptime)  $(printf  " teplota: %.1f\n"  $teplota) $siet
echo "<tr>$part1$part2$part3$part4"
root@zero:~# cat /var/www/cgi-bin/stav2.sh
#!/bin/bash -x
echo -e "Content-type: text/html\n\n"
 casik=$(curl -s http://localhost:28888|grep 'OSCam Run Time:'|perl -pe 's/.*id="runtime"> //;s/<.*>//;s/:\d\d$//')
teplota=
siet=$(ethtool eth0|grep Speed|awk '{print $2}')
ip=$(ifconfig|grep -v '127\.0\.0\.1'|awk '/inet / {print $2;exit 0}'|sed 's/addr://')
part1=$(echo  '<td><a href="http://'$ip':28888"  target="_blank"><b>'`hostname`\:28888'</b></a> ')
  IFS=,;set `uptime`;
part2=$(echo "<td>$1 $2 <td> $casik <td>$4$5 "|sed 's/  load average://;s/ up/ <td>/;s/ days /d/;s/ day /d/')
part2=$(echo "<td><td> <td> $casik <td> "|sed 's/  load average://;s/ up/ <td>/;s/ days /d/;s/ day /d/')
part3=$(echo $(printf  "<td> %s, " $teplota) "<td>  ")
part4=$(echo '</tr>')
#echo $ip -  $(uptime)  $(printf  " teplota: %.1f\n"  $teplota) $siet
echo "<tr>$part1$part2$part3$part4"
root@zero:~# cat /var/www/cgi-bin/stav3.sh
#!/bin/bash -x
echo -e "Content-type: text/html\n\n"
 casik=$(curl -s http://localhost:38888|grep 'OSCam Run Time:'|perl -pe 's/.*id="runtime"> //;s/<.*>//;s/:\d\d$//')
teplota=
siet=$(ethtool eth0|grep Speed|awk '{print $2}')
ip=$(ifconfig|grep -v '127\.0\.0\.1'|awk '/inet / {print $2;exit 0}'|sed 's/addr://')
part1=$(echo  '<td><a href="http://'$ip':38888"  target="_blank"><b>'`hostname`:38888'</b></a> ')
  IFS=,;set `uptime`;
part2=$(echo "<td>$1 $2 <td> $casik <td>$4$5 "|sed 's/  load average://;s/ up/ <td>/;s/ days /d/;s/ day /d/')
part2=$(echo "<td><td> <td> $casik <td> "|sed 's/  load average://;s/ up/ <td>/;s/ days /d/;s/ day /d/')
part3=$(echo $(printf  "<td> %s, " $teplota) "<td>  ")
part4=$(echo '</tr>')
#echo $ip -  $(uptime)  $(printf  " teplota: %.1f\n"  $teplota) $siet
echo "<tr>$part1$part2$part3$part4"
root@zero:~#
Nemáte oprávnění prohlížet přiložené soubory.
f4t, sf8008, skylink, antiksat, 13, 16, 19, 23, 28, orange pi, rpi2b, odroid c4 🎗️
Uživatelský avatar
EnoSat
Moderátor
Moderátor
Příspěvky: 404
Registrován: 07 zář 2022 21:51
Dal poděkování: 29 poděkování
Dostal poděkování: 79 poděkování
Kontaktovat uživatele:

Re: OSCAM - sh script

Příspěvek od EnoSat »

peter54 píše: 04 pro 2024 15:41Všetky príkazy enigmy
Musis mu napisat prikazy pre WebUI, nie pre Enigmu
https://prismcube.github.io/
ROVER TAB900+ , Televes H30 FLEX
Gibertini OP100LN /85E-53W/
WaveFrontier T90 /51E-39E-36E-33E-28E-26E-23E-19E-16E-13E-9E-7E-5E-2E-1W-4W/
Edision MIO+ 4K, Octagon SF8008, Mutant HD51, QVIART Lunix, Ustym 4K S2 OTT, VU Solo4K, Dreambox 900UHD/7020HD/500HD, TBS-5925/5530/5220
Uživatelský avatar
peter54
Moderátor
Moderátor
Příspěvky: 609
Registrován: 19 úno 2022 19:01
Dal poděkování: 91 poděkování
Dostal poděkování: 205 poděkování

Re: OSCAM - sh script

Příspěvek od peter54 »

EnoSat kto to nepochopil, nepochopí nič. Keď už, tak Enigma 2 OpenWebif API methods.
f4t, sf8008, skylink, antiksat, 13, 16, 19, 23, 28, orange pi, rpi2b, odroid c4 🎗️
Uživatelský avatar
EnoSat
Moderátor
Moderátor
Příspěvky: 404
Registrován: 07 zář 2022 21:51
Dal poděkování: 29 poděkování
Dostal poděkování: 79 poděkování
Kontaktovat uživatele:

Re: OSCAM - sh script

Příspěvek od EnoSat »

bdpeter píše: 04 pro 2024 14:29Nepoznate niekto prikaz pomocou, ktoreho by sa dalo zistit aky prave bezi program na danom prijimaci ? je to v nejakej premenej ?
Mozno by sa dal vyuzit nejaky prikaz z pluginu QuickChannelInfo
plugin.program.quickchannelinfo-1.0.1.zip
2383df.jpg
Nemáte oprávnění prohlížet přiložené soubory.
ROVER TAB900+ , Televes H30 FLEX
Gibertini OP100LN /85E-53W/
WaveFrontier T90 /51E-39E-36E-33E-28E-26E-23E-19E-16E-13E-9E-7E-5E-2E-1W-4W/
Edision MIO+ 4K, Octagon SF8008, Mutant HD51, QVIART Lunix, Ustym 4K S2 OTT, VU Solo4K, Dreambox 900UHD/7020HD/500HD, TBS-5925/5530/5220
bdpeter
Mírně pokročilý
Mírně pokročilý
Příspěvky: 27
Registrován: 13 bře 2023 19:18
Dal poděkování: 7 poděkování
Dostal poděkování: 2 poděkování

Re: OSCAM - sh script

Příspěvek od bdpeter »

Zatim dik, dali ste mi spustu info mam co robit aby som sa to naucil. priklady aj ten github su super.
Uživatelský avatar
peter54
Moderátor
Moderátor
Příspěvky: 609
Registrován: 19 úno 2022 19:01
Dal poděkování: 91 poděkování
Dostal poděkování: 205 poděkování

Re: OSCAM - sh script

Příspěvek od peter54 »

Na žiadosť od @bdpeter skriptík zápisy.sh. Z môjho pohľadu stará vec aj zbytočne zložitá a niepríliš potrebná. Dnes by som to spravil oveľa jednoduchšie. Kódy staníc už nie sú aktuálne, tak okrem logov to asi nespraví nič užitočné.

Kód: Vybrat vše

root@zero:~/scripts# cat zapisy.sh
#!/bin/bash
if [ "$1" != "" ]; then
    grep $1 /root/scripts/card_refresh.log | tail -n 96
    /root/scripts/card_refresh_CZ.pl 2000
    /tmp/card_refresh_SK.pl 2000
else
    tail -n 96 /root/scripts/card_refresh.log
    /root/scripts/card_refresh_CZ.pl 2000
    /tmp/card_refresh_SK.pl 2000
    #tail -4 /tmp/0624_CZ_global_emm.log |perl -nale 'print "$F[0] $F[1] $F[4] to 0624_CZ"'
fi
root@zero:~/scripts# ./zapisy.sh
2024-12-25 08:08:01  0624_CZ =     931 emmg    120 minut
2024-12-25 08:38:01  0624_SK =     656 emmg    150 minut
2024-12-25 09:08:01  0624_CZ =     931 emmg    180 minut
2024-12-25 09:38:01  0624_SK =     656 emmg    210 minut
2024-12-25 10:08:01  0624_CZ =     931 emmg    240 minut
2024-12-25 10:38:02  0624_SK =     656 emmg    270 minut
2024-12-25 11:08:01  0624_CZ =     931 emmg    300 minut
2024-12-25 11:38:01  0624_SK =     656 emmg    330 minut
2024-12-25 12:08:01  0624_CZ =    1174 emmg      0 minut
2024-12-25 12:38:01  0624_SK =     896 emmg     30 minut
2024-12-25 13:08:01  0624_CZ =    1174 emmg     60 minut
2024-12-25 13:38:01  0624_SK =     896 emmg     90 minut
2024-12-25 14:08:01  0624_CZ =    1174 emmg    120 minut
2024-12-25 14:38:01  0624_SK =     896 emmg    150 minut
2024-12-25 15:08:01  0624_CZ =    1174 emmg    180 minut
2024-12-25 15:38:01  0624_SK =     896 emmg    210 minut
2024-12-25 16:08:01  0624_CZ =    1174 emmg    240 minut
2024-12-25 16:38:01  0624_SK =     896 emmg    270 minut
2024-12-25 17:08:01  0624_CZ =    1174 emmg    300 minut
2024-12-25 17:38:01  0624_SK =     896 emmg    330 minut
2024-12-25 18:08:02  0624_CZ =    1327 emmg      0 minut
2024-12-25 18:38:01  0624_SK =    1044 emmg     31 minut
2024-12-25 19:08:01  0624_CZ =    1327 emmg     60 minut
2024-12-25 19:38:01  0624_SK =    1044 emmg     91 minut
2024-12-25 20:08:01  0624_CZ =    1327 emmg    120 minut
2024-12-25 20:38:02  0624_SK =    1044 emmg    151 minut
2024-12-25 21:08:01  0624_CZ =    1327 emmg    180 minut
2024-12-25 21:38:02  0624_SK =    1044 emmg    211 minut
2024-12-25 22:08:01  0624_CZ =    1327 emmg    240 minut
2024-12-25 22:38:01  0624_SK =    1044 emmg    271 minut
2024-12-25 23:08:01  0624_CZ =    1327 emmg    300 minut
2024-12-25 23:38:01  0624_SK =    1044 emmg    331 minut
2024-12-26 00:08:01  0624_CZ =    1478 emmg      0 minut
2024-12-26 00:38:01  0624_SK =    1200 emmg     30 minut
2024-12-26 01:08:01  0624_CZ =    1656 emmg      0 minut
2024-12-26 01:38:01  0624_SK =    2143 emmg      0 minut
2024-12-26 02:08:02  0624_CZ =    3171 emmg      0 minut
2024-12-26 02:38:01  0624_SK =    3688 emmg      0 minut
2024-12-26 03:08:01  0624_CZ =    4214 emmg     19 minut
2024-12-26 03:38:01  0624_SK =    3952 emmg     49 minut
2024-12-26 04:08:01  0624_CZ =    4214 emmg     79 minut
2024-12-26 04:38:01  0624_SK =    3952 emmg    109 minut
2024-12-26 05:08:01  0624_CZ =    4214 emmg    139 minut
2024-12-26 05:38:01  0624_SK =    3952 emmg    169 minut
2024-12-26 06:08:01  0624_CZ =    4360 emmg      0 minut
2024-12-26 06:38:02  0624_SK =    4111 emmg     30 minut
2024-12-26 07:08:01  0624_CZ =    4360 emmg     60 minut
2024-12-26 07:38:02  0624_SK =    4111 emmg     90 minut
2024-12-26 08:08:01  0624_CZ =    4360 emmg    120 minut
2024-12-26 08:38:01  0624_SK =    4111 emmg    150 minut
2024-12-26 09:08:01  0624_CZ =    4360 emmg    180 minut
2024-12-26 09:38:01  0624_SK =    4111 emmg    210 minut
2024-12-26 10:08:01  0624_CZ =    4360 emmg    240 minut
2024-12-26 10:38:01  0624_SK =    4111 emmg    270 minut
2024-12-26 11:08:01  0624_CZ =    4360 emmg    300 minut
2024-12-26 11:38:01  0624_SK =    4111 emmg    330 minut
2024-12-26 12:08:01  0624_CZ =    4574 emmg      0 minut
2024-12-26 12:38:01  0624_SK =    4321 emmg     30 minut
2024-12-26 13:08:01  0624_CZ =    4574 emmg     60 minut
2024-12-26 13:38:01  0624_SK =    4321 emmg     90 minut
2024-12-26 14:08:01  0624_CZ =    4574 emmg    120 minut
2024-12-26 14:38:01  0624_SK =    4321 emmg    150 minut
2024-12-26 15:08:01  0624_CZ =    4574 emmg    180 minut
2024-12-26 15:38:01  0624_SK =    4321 emmg    210 minut
2024-12-26 16:08:01  0624_CZ =    4574 emmg    240 minut
2024-12-26 16:38:01  0624_SK =    4321 emmg    270 minut
2024-12-26 17:08:01  0624_CZ =    4574 emmg    300 minut
2024-12-26 17:38:01  0624_SK =    4321 emmg    330 minut
2024-12-26 18:08:01  0624_CZ =    4725 emmg      0 minut
2024-12-26 18:38:01  0624_SK =    4477 emmg     30 minut
2024-12-26 19:08:01  0624_CZ =    4725 emmg     60 minut
2024-12-26 19:38:01  0624_SK =    4477 emmg     90 minut
2024-12-26 20:08:01  0624_CZ =    4725 emmg    120 minut
2024-12-26 20:38:01  0624_SK =    4477 emmg    150 minut
2024-12-26 21:08:02  0624_CZ =    4725 emmg    180 minut
2024-12-26 21:38:01  0624_SK =    4477 emmg    210 minut
2024-12-26 22:08:01  0624_CZ =    4725 emmg    240 minut
2024-12-26 22:38:01  0624_SK =    4477 emmg    270 minut
2024-12-26 23:08:01  0624_CZ =    4725 emmg    300 minut
2024-12-26 23:38:01  0624_SK =    4477 emmg    330 minut
2024-12-27 00:08:01  0624_CZ =    4876 emmg      1 minut
2024-12-27 00:38:02  0624_SK =    4632 emmg     31 minut
2024-12-27 01:08:01  0624_CZ =    4876 emmg     61 minut
2024-12-27 01:38:01  0624_SK =    4632 emmg     91 minut
2024-12-27 02:08:01  0624_CZ =    4876 emmg    121 minut
2024-12-27 02:38:01  0624_SK =    4632 emmg    151 minut
2024-12-27 03:08:02  0624_CZ =    4876 emmg    181 minut
2024-12-27 03:38:01  0624_SK =    4632 emmg    211 minut
2024-12-27 04:08:01  0624_CZ =    4876 emmg    241 minut
2024-12-27 04:38:01  0624_SK =    4632 emmg    271 minut
2024-12-27 05:08:02  0624_CZ =    4876 emmg    301 minut
2024-12-27 05:38:01  0624_SK =    4632 emmg    331 minut
2024-12-27 06:08:01  0624_CZ =    5027 emmg      0 minut
2024-12-27 06:38:01  0624_SK =    4786 emmg     31 minut
2024-12-27 07:08:01  0624_CZ =    5027 emmg     60 minut
2024-12-27 07:38:01  0624_SK =    4786 emmg     91 minut
2024-12-27 08:02:18  0624_CZ =    5027 emmg    115 minut
2024-12-27 08:02:18  0624_SK =    4786 emmg    115 minut
root@zero:~/scripts#
Skript card_refresh_CZ.pl je rovnaký ako card_refresh_SK.pl, len všade je zámena SK za CZ. Preto je v /tmp, vždy sa pri boote vytvorí cronom nanovo.

Kód: Vybrat vše

root@zero:~/scripts# cat card_refresh_CZ.pl
#!/usr/bin/perl
use List::Util qw[min max];
# optional parameter - number of minutes without emm, value  > 0; if 0 or not used, default will be used
# progmam checks date of emm log file for given reader and switches services if emm-s are needed
# crontab entry example
# 08 * * * *   touch /root/scripts/card_refresh.log;/root/scripts/card_refresh.pl >>/root/scripts/card_refresh.log 2>&1
# values to be filled in at setup according to actual configuration
    $minutes= shift;
    $rlabel= shift;
    $oscamip=("localhost");
# card reader to be watched
    $rlabel="0624_CZ";
    $rlabel1="CZ_2";
# emm log file location - must be set
    $EmmFile="/tmp/${rlabel}_global_emm.log";
# Fill in ip addresses of boxes with au enabled; first available in standby will be used
# turn boxes off if not used and disable hdmi-cec
    @boxips=("192.168.0.131","192.168.0.116","192.168.0.114","192.168.0.131");
    @boxips=("192.168.0.131","192.168.0.114","192.168.0.113");
    @boxips=("192.168.0.118","192.168.0.114");
if ($minutes == 0) {$minutes = 780};
$cz_global=0;
$datum=`date \'+\%Y-\%m-\%d \%H:\%M:\%S\'`; $datum=~s/\n//g;
$LastEmmTime = int((time()-(stat ($EmmFile))[9])/60);
printf( "%s  %s = %7i emmg %6i minut\n",$datum,$rlabel,ReaderStat(),$LastEmmTime);
if ($LastEmmTime > $minutes){
  @au_on=`wget -q  -O - http://192.168.0.114:8888/user_edit.html?user=dvbapiau&au=1&action=Save`;
  @au_on=`wget -q  -O - http://192.168.0.118:8888/user_edit.html?user=dvbapiau&au=1&action=Save`;
  for $boxip (@boxips){
    $datum=`date \'+\%Y-\%m-\%d \%H:\%M:\%S\'`; $datum=~s/\n//g;
    $instandby=`wget -q  -O - http://$boxip/web/powerstate|grep instandby| egrep  '(false)|(true)'`;
    ($instandby, $x) = split(/\s/,$instandby);
    printf( "%s  $boxip",$datum);
    # disable the next line (oscam restart) if boxes use local cards
    # restart oscam via ssh or wget - ssh is faster - each causes short picture disturbance on affected STB
    #@restart_oscam=`wget -q  -O - \'http://$boxip:8888/shutdown.html?action=Restart\'`;
    # this works for openpli, openhdf - check and adjust for different enignmas
    @restart_oscam=`ssh -o StrictHostKeyChecking=no  root\@$boxip  /etc/init.d/softcam restart `;
    if ($instandby eq "true"){
       print "  C";
       @ct1hd =  `wget -q  -O - http://$boxip/web/zap?sRef=1:0:1:1F41:CA1:3:EB0000:0:0:0:`; #CT1 HD
       sleep 5;
       print "S";
       #@stv1hd = `wget -q  -O - http://$boxip/web/zap?sRef=1:0:1:1329:CA2:3:EB0000:0:0:0:`; #STV1 HD
       @ta3hd  = `wget -q  -O - http://$boxip/web/zap?sRef=1:0:1:1328:CA2:3:EB0000:0:0:0:`; #TA3 HD
       sleep 120;
       print "C  ";
       @ct1hd =  `wget -q  -O - http://$boxip/web/zap?sRef=1:0:1:1F41:CA1:3:EB0000:0:0:0:`; #CT1 HD
       sleep 120;
       @turnon = `wget -q  -O - http://$boxip/web/powerstate?newstate=4`;
       sleep 3;
       @turnoff= `wget -q  -O - http://$boxip/web/powerstate?newstate=5`;
       $LastEmmTime = int((time()-(stat ($EmmFile))[9])/60);
       if ($LastEmmTime < $minutes){
          last;
       }
    }
  @au_on=`wget -q  -O - http://192.168.0.114:8888/user_edit.html?user=dvbapiau&au=&action=Save`;
  @au_on=`wget -q  -O - http://192.168.0.118:8888/user_edit.html?user=dvbapiau&au=&action=Save`;
  }
  WriteReaderStat();
  $LastEmmTime = int((time()-(stat ($EmmFile))[9])/60);
  #print "LastEmmTime = $LastEmmTime minutes ago\n";
}else{
  #print "No refresh necessary\n";
}
# main end
sub  ReaderStat {
$cz_global=`wget -q -O - \'http://$oscamip:8888/oscamapi.html?part=readerstats&label=$rlabel1\'|grep global|grep written`;
$cz_global=~s!<emm type="global" result="written">!!;
$cz_global=~s!</emm>!!;
$cz_global=~s!\s!!g;
$cz_global;
} #end ReaderStat
sub  WriteReaderStat {
my $cz_global= ReaderStat();
#$now = int (time());
print "$rlabel = $cz_global\n";
} #end WriteReaderStat
#===========================================================================================
#<a href="#" onclick="zapChannel('1:0:1:1328:CA2:3:EB0000:0:0:0:', 'TA3 HD'); return false" title="Přepínám na TA3 HD">TA3 HD</a>
     #@markiza=`wget -q  -O - http://$boxip/web/zap?sRef=1:0:1:13B4:C95:3:EB0000:0:0:0:`; #Markiza HD
     #@novahd =`wget -q  -O - http://$boxip/web/zap?sRef=1:0:1:3391:C89:3:EB0000:0:0:0:`; #Nova HD
root@zero:~/scripts#
f4t, sf8008, skylink, antiksat, 13, 16, 19, 23, 28, orange pi, rpi2b, odroid c4 🎗️
Odpovědět

Zpět na „Oscam diskusia“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů