Lösungsansatz zum automatischen Herunterfahren

  • Servus,

    ich bin noch ziemlich am Anfang meiner RPi, usw-Karriere, aber ich suche dringend Rat bei einem Lösungsansatz zum automatischen Herunterfahren des RPi.

    Aufbau:
    RPi hängt am TV (CEC aktiviert) via HDMI und bekommt Strom vom USB-Hub vom Fernseher. Der Fernseher lässt sowohl LAN- UND USB-Verbindungen noch etwa 1,5 Minuten laufen, bevor er die Verbindungen kappt. Also fällt bei der Lösungsansatz zum herunterfahren via ping @ Fernseher, wenn aus, dann runterfahren weg..

    AAAber....

    Sobald der Fernseher aus ist, erhält der CEC-Power-Status schon das Update "standby", anstelle von "on".

    Ich habe dazu folgendes Script geschrieben, welches per SSH sich problemlos ausführen lässt und auch funktioniert. Allerdings funktioniert es nicht, wenn ich es Cronjob, rc.local oder init.d starten lassen.
    Beim Cronjob wird der Prozess zwar irgendwie unter "ps -ef | grep cec" mit aufgeführt, aber es passiert leider nichts......
    Script wurde mit "chmod +x" ausführbar gemacht.....

    Zur Erklärung:
    Der Script prüft Gerät 0 (idR immer der Fernseher selbst) auf dessen "Power Status", entfernt unrelevante Textausgaben, sodass nur noch der Status selbst, also z.B. "standby" übrig bleibt
    Wenn der Status "standby" ist, dann soll der RPi sofort herunterfahren, wenn "on" dann einfach weiterlaufen (man kann das elif also auch weg lassen, hilft aber im Moment den Prozess auf Richtigkeit besser zu verfolgen"
    Diese Abfrage nach dem Power Status erfolgt durch eine While-Schleife alle 10 Sekunden (soll später alle 30/45 bzw. 60 Sekunden erfolgen) und wird erst beendet, wenn der RPi herunterfährt.

    Wie gesagt, per SSH ausgeführt klappt alles reibungslos und tut absolut das, was es soll, doch per "Autostart" eingefügt, passiert nüscht :(

    Irgendwelche Vorschlage?

  • cec-client liegt im Suchpfad des Users, der den cronjob ausführt? Zum Testen kannst Du mal den absoluten Pfad von cec-client im Script setzen. Sollte das nicht gehen, würde ich mal schauen, ob das Script überhaupt aufgerufen wird, eventuell eine Zeile einfügen, die bei jedem Aufruf ein echo in eine Datei schreibt.

  • Guten Abend,

    ich habe das Problem dass wenn ich dieses Script ausführen will einen Syntax Error bekomme:

    Code
    pi@raspbmc:~$ sudo python /etc/cec.py
      File "/etc/cec.py", line 3
        while :; do
              ^
    SyntaxError: invalid syntax

    :helpnew:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!