Jump to content

Standby nach bestimmter Zeit aktivieren


Topsec

Empfohlene Beiträge

Hi

Das ist leider nicht ganz das was ich suche. Die Funktion sollte immer aktiv sein und wenn ich zB. innerhalb von 3 Studen keine Eingabe mit der Fernbedienung schicke soll der Standy aktiv werden. Ich glaube der Sleeptimer wird immer nur einmal aktiv oder?

 

Topsec

Link zu diesem Kommentar
Auf anderen Seiten teilen

Klick

 

Für den Standby statt des Herunterfahrens muß die Zeile so aussehen:

 

( [ `getrc key=E timeout=60000` = X ] && wget -Y off -q -O /dev/null http://localhost/control/standby?on ) &

"key=E" kann auch hier weggelassen werden. Über die Bootoptionen kann man die Box aber auch gleich in den Standby starten lassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 years later...

Da ich vor einem ähnlichen Problem stand und auch nicht sofort eine Lösung gefunden habe, denke ich für spätere Suchen unterstützen zu können.

 

Da ich öfters vorm TV einschlafe, hab ich ein kleines Script geschrieben, dass, wenn nicht innerhalb der letzten 200 Minuten eine Taste betätigt wurde, meine Box in den DeepStandby befördert. Ein Log wird nach /var/keys/zaptimer.log geschrieben.

 

/var/tuxbox/config/zaptimer.sh

#!/bin/sh
#Zaptimer für DBox2
#wird nicht innerhalb von 200min eine Taste betätigt, geht die Box in DeepStandby.
#Version 0.1 - by Res -
#####################################################################################

echo "started"

if [ -e /var/keys/zaptimer.log ]
then
echo "exist"
   if [ "`wc -c /var/keys/zaptimer.log | sed -e 's/[^0-9]//g'`" -gt 1024 ]
    then echo "bigger"
         cp -f /var/keys/zaptimer.log /var/keys/zaptimer.log-prev
         tail /var/keys/zaptimer.log > /var/keys/zaptimer.log-tmp
         mv -f /var/keys/zaptimer.log-tmp /var/keys/zaptimer.log
         echo "logfile switched " `date` >> /var/keys/zaptimer.log
    else echo "smaller"
   fi

else touch /var/keys/zaptimer.log
     echo "created"
fi

while [ `getrc timeout=12000000` != X ]
   do echo "triggered"
done

echo "timeout"
echo `date` >> /var/keys/zaptimer.log

#zu lange keine Taste betätigt -> DeepStandby !
halt

exit

 

Zum automatischen Start müssen noch die gekennzeichneten Zeilen in die zuständigen Start/Stopp-Scripte geschrieben werde.

 

/var/etc/init.d/start_neutrino

#if [ -e /var/etc/.start_softstandby ] ; then
#	nhttpd_port=`sed -n "s/WebsiteMain\.port=//p" /var/tuxbox/config/nhttpd.conf`
#  	(sleep 20; wget -Y off -q -O /dev/null http://localhost:$nhttpd_port/control/standby?on) &
#fi

################################
#Zaptimer#
/var/tuxbox/config/zaptimer.sh &
################################

until neutrino -f -u ; do
echo "Neutrino exited with nonzero exit status, restarting..."
pidof sectionsd	>/dev/null && sectionsdcontrol --nopause || (sectionsd $SECTIONSD && /var/plugins/operations sect_renice &)
pidof timerd	>/dev/null || timerd
pidof zapit	>/dev/null && pzapit -lsb || zapit $ZAPIT
pidof nhttpd	>/dev/null || nhttpd
done

 

/var/tuxbox/config/standby.on (ans Ende schreiben)

#Zaptimer beenden
killall zaptimer.sh
killall getrc 

 

/var/tuxbox/config/standby.off (ans Ende schreiben)

#Zaptimer starten
/var/tuxbox/config/zaptimer.sh &

Link zu diesem Kommentar
Auf anderen Seiten teilen

Coole Sache, werde das gleich mal auf der Cooli testen da die einen Bug im Image hat und die dafür vorgesehene Funktion nicht funktioniert.

Frage wäre jetzt noch, welchen Wert muss ich ändern damit die Box nach 120 Minuten inaktivität runter fährt ?

 

Den timeout von 12000000 auf 7200000 ändern wäre jetzt meine Idee ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aber irgendwie klappts nicht mit dem Script auf der Cooli, startet nicht meiner Meinung nach, weil normal müsste er doch in /var/keys logs schreiben wenn es läuft oder ?

 

Hab das bestimmt nicht richtig in die start_neutrino eingebaut. Hab die Zeilen einfach am Ende eingefügt. Hmm ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab das bestimmt nicht richtig in die start_neutrino eingebaut. Hab die Zeilen einfach am Ende eingefügt. Hmm ?

Falls die start_neutrino der Coolstream so aufgebaut ist wie bei der dBox2, wird das Script nie ausgeführt, wenn Du es einfach ans Ende klatschst. Der Aufruf gehört vor den Start der Neutrino-GUI. Schau Dir das oben am Beispiel der dBox2 nochmal genau an, wo der Aufruf sitzt (das in die ########### eingerahmte). Analog musst Du das so der Coolstream beibringen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sowas in die Richtung hatte ich mir ja schon gedacht. Auf der Cooli sieht das so aus :

 

/etc/init.d/start_neutrino

#!/bin/sh
export PATH=/var/bin:/var/sbin:/var/plugins:/sbin:/bin:/usr/sbin:/usr/bin

[ -c /dev/null ] || ( rm -f /dev/null ; mknod -m 777 /dev/null c 1 3 )

operations camd_init

touch /tmp/.kill_bootlogo

if [ -e /var/etc/.alternativ -a -x /var/bin/neutrino ]
then
if [ -e /var/etc/.neutrino_debug ]
then
	/var/bin/neutrino -u -f 2>&1 > /dev/console
else
	/var/bin/neutrino -u -f 2>&1 > /dev/null
fi
else
if [ -e /var/etc/.neutrino_debug ]
then
	/bin/neutrino -u -f 2>&1 > /dev/console
else
	/bin/neutrino -u -f 2>&1 > /dev/null
fi
fi

/bin/sync
/bin/sync
#/bin/umount -a
if [ -e /tmp/.reboot ] ; then
   /bin/hdd_umount.sh
   /bin/dt -t"Rebooting..."
   /sbin/reboot -f
else
operations camd_exit
   halt
fi

 

wie wäre es dann richtig ? so vielleicht :

 

#!/bin/sh
export PATH=/var/bin:/var/sbin:/var/plugins:/sbin:/bin:/usr/sbin:/usr/bin

[ -c /dev/null ] || ( rm -f /dev/null ; mknod -m 777 /dev/null c 1 3 )

operations camd_init

touch /tmp/.kill_bootlogo

################################
#Zaptimer#
/var/tuxbox/config/zaptimer.sh &
################################

if [ -e /var/etc/.alternativ -a -x /var/bin/neutrino ]
then
if [ -e /var/etc/.neutrino_debug ]
then
	/var/bin/neutrino -u -f 2>&1 > /dev/console
else
	/var/bin/neutrino -u -f 2>&1 > /dev/null
fi
else
if [ -e /var/etc/.neutrino_debug ]
then
	/bin/neutrino -u -f 2>&1 > /dev/console
else
	/bin/neutrino -u -f 2>&1 > /dev/null
fi
fi

/bin/sync
/bin/sync
#/bin/umount -a
if [ -e /tmp/.reboot ] ; then
   /bin/hdd_umount.sh
   /bin/dt -t"Rebooting..."
   /sbin/reboot -f
else
operations camd_exit
   halt
fi

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@0verd0g

 

Noch mal richtig. Voraussetzung ist allerdings, daß das Script mit einem linuxkompatiblen Editor

erstellt wurde, am vorgesehen Platz liegt und die Rechte 755 bekommen hat. Klarheit, ob es richtig

startet schafft ein Aufruf über Telnet:

 

/var/tuxbox/config/zaptimer.sh &

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Editor sollte fähig sein, nehme seit den alten dbox Zeiten schon immer den notepad2, da gabs noch nie Probleme. Rechte hatte ich schon auf 755 :)

 

Hmm da ist wohl noch was anderes faul, per telnet kommt folgendes :

 

/ # /var/tuxbox/config/zaptimer.sh &

-sh: /var/tuxbox/config/zaptimer.sh: not found

[1]+ Done(127) /var/tuxbox/config/zaptimer.sh

 

obwohl die zaptimer.sh da liegt

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast die Datei auch wirklich vor dem Abspeichern ins Unix-Format gebracht (Datei -> Zeilenende -> Unix (LF))? Ohne das hast Du eine Windows-Datei, dieses Format verwendet Notepad2 wie jeder andere unix-fähige Windows-Editor auch per Default, wenn man eine neue Datei anlegt.

 

Deine Fehlermeldung sagt, dass die Datei nicht im Unix-Format vorliegt und deswegen nicht gelesen werden kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast die Datei auch wirklich vor dem Abspeichern ins Unix-Format gebracht (Datei -> Zeilenende -> Unix (LF))? Ohne das hast Du eine Windows-Datei, dieses Format verwendet Notepad2 wie jeder andere unix-fähige Windows-Editor auch per Default, wenn man eine neue Datei anlegt.

 

Deine Fehlermeldung sagt, dass die Datei nicht im Unix-Format vorliegt und deswegen nicht gelesen werden kann.

 

Das war der Fehler jetzt klappts auch mit dem Start :) ... Besten Dank ! ... Das kannte ich noch nicht, aber man lernt ja nie aus. Hab sonst wohl auch immer nur Dateien editiert mit besagtem Editor und keine neuen erstellt, daher auch noch nie das Problem gehabt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das war der Fehler jetzt klappts auch mit dem Start :)

Mit dem verwendeten Editor sollte man sich schon auskennen. ;)

 

Hab sonst wohl auch immer nur Dateien editiert mit besagtem Editor und keine neuen erstellt, daher auch noch nie das Problem gehabt.

Richtig. Beim Editieren vorhandener Dateien wird das Zeilenumbruchformat beibehalten, das die Datei ursprünglich schon hat.

 

Btw zeigen viele Multiformat-Editoren das Umbruchformat auch in der Statuszeile an. Bei Notepad2 als "CR+LF" für Windows-Datei, als "LF" für Unix-Datei. Proton32 meldet "win" bzw. "unix" samt Dateipfad, PSPad bezeichnet die als "DOS" und "UNIX".

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...