Phoniebox - OnOff Shim und Sleeptimer über Webinterface gehen nicht

  • Hallo,

    ich möchte über das Webinterface die Standbyzeit auf ca. 2 Std. begrenzen.

    Da ich einen OnOff Shim benutze scheint mir das Problem irgendwo mit halt bzw. poweroff zu liegen (meine Vermutung).

    Ich habe die entsprechende Stelle in den Scripts aber leider nicht gefunden.

    In meiner playout_controls.sh sind alle Ausschaltbefehle mit poweroff realisiert.

    Gibt es für das Webinterface noch eine separate Datei, in der ich das ändern muss? Wenn ja, wo befindet sich diese?

    Danke und viele Grüße

  • Phoniebox - OnOff Shim und Sleeptimer über Webinterface gehen nicht? Schau mal ob du hier fündig wirst!

  • Problem gelöst:

    Ich habe die playout_controls.sh wie folgt bearbeitet:

    Von

    Code
        shutdownsilent)
            # doesn't play a shutdown sound
            $PATHDATA/resume_play.sh -c=savepos && mpc clear
            #remove shuffle mode if active
            SHUFFLE_STATUS=$(echo -e status\\nclose | nc -w 1 localhost 6600 | grep -o -P '(?<=random: ).*')
            if [ "$SHUFFLE_STATUS" == 1 ] ; then  mpc random off; fi
        sudo poweroff
            ;;

    zu

    Code
        shutdownsilent)        
            # doesn't play a shutdown sound
            $PATHDATA/resume_play.sh -c=savepos && mpc clear
            #remove shuffle mode if active
            SHUFFLE_STATUS=$(echo -e status\\nclose | nc -w 1 localhost 6600 | grep -o -P '(?<=random: ).*')
            if [ "$SHUFFLE_STATUS" == 1 ] ; then  mpc random off; fi
            sleep 3
            sudo poweroff
            ;;

    3 Mal editiert, zuletzt von Coulomb (3. August 2019 um 14:36)

  • Hallo,

    also ich werd hier noch verrückt.

    Jetzt habe ich festgestellt, dass das Runterfahren nach einer gewissen Zeit und anschließend wieder Hochfahren per Knopf funktioniert, wenn ich den OnOffShim direkt am Netz hängen habe. Wenn er über die Powerbank versorgt wird, funktioniert das wieder nicht.

    Das Herunterfahren per Knopfdruck und per Knopfdruck hochfahren geht auch mit Powerbank.

    Jemand eine Idee?

    EDIT: Nach unzähligen Versuchen hat sich nun herausgestellt, das auch nach dem Herunterfahren über die Webapp ich die Box nicht mehr über den Startknopf zum Hochfahren bewegen kann. Es hilft nur Kabel ab und wieder anstecken. Dann geht auch der Startknopf wieder.

    Für mich zum Verständnis:

    Der OnOffShim in Kombination mit dem Button funktioniert mit

    /lib/systemd/system-shutdown/gpio-poweroff

    In der playout_controls.sh wird per poweroff der Befehl zum Herunterfahren gegeben.

    Greift der Befehl poweroff jetzt automatisch auf gpio-poweroff zurück?

    Danke für die Hilfe!

    3 Mal editiert, zuletzt von Coulomb (3. August 2019 um 14:46)

  • 1. Hast du verschiedene Kabel getestet?

    2. Welche Powerbank nutzt du und wenn EasyAcc: Welchen Port bei der Powerbank verwendest Du?

    3. Was für weitere Abnehmer für Strom hängen am Pi?

  • Hi, ich habe exakt das gleiche Problem.

    Solang ich alle mit den ON OFF Taster am Shim betätige, läuft alle Prima.

    Jetzt habe ich für die Box eingestellt, dass sie sich nach 30min "inaktivität" abschalten soll.

    Danach bekomme ich sie über den Button (manchmal) nicht mehr an.

    Es hilft nur -> Box auf -> Kabel ab -> Kabel ran -> Box zu.. das nervt etwas..

    vermutlich könnte das Problem gelöst werden, wenn die eingestellte Zeit des

    Webinterfaces nicht poweroff selbst ausführt sondern auf die Datei des ONOFF Shim

    zugreift und dort den Taster "simuliert".

    Hab allerdings keine Ahnung wie ich das umsetzen kann..

  • Also bei mir kommt es sehr sehr sehr selten vor, dass dieses Problem auftritt. Hätte das jetzt auch nicht auf den Sleeptimer zurück geführt und hab mir mal nen paar Gedanken gemacht. Wenn das die Lösung ist, sollten wir den Installer von Micz ergänzen um die Frage, ob der OnOffShim verwendet wird ;) Btw. ist das ungetestet, sondern nur mal schnell die Scripte überflogen. Es würde

    Code
    sudo poweroff

    gegen

    Code
    sudo shutdown -h

    ersetztwerden.... Poweroff kappt wohl auch die Stromversorgung der OnOffShim und nen bissl was braucht er halt. Ist also nen Versuch wert!

    Schau mal, hier läuft der Check (unnötig zum beheben, aber man sollte ja wissen wie es funzt):

    https://github.com/MiczFlor/RPi-J…dle-watchdog.sh

    Und hier passiert es:

    https://github.com/MiczFlor/RPi-J…ontrols.sh#L114

    bzw.

    https://github.com/MiczFlor/RPi-J…ontrols.sh#L125

    Hier würde es dann ggf. Sinn machen mit

    Code
    sudo shutdown -h

    zu arbeiten. Siehe https://github.com/pimoroni/clean…/cleanshutd#L90

    Bitte gebt mal Feedback, ob es die Lösung ist. Ich bin da gerade guter Dinge!

  • Hab das eben getestet und mit

    Code
    sudo shutdown -h

    schaltet sich meine Box (mit OnOff SHIM) nicht aus. Die Audiowiedergabe stoppt zwar, aber die Box bleibt an und die LEDs der Buttons leuchten.

    Ich bin jetzt wieder auf

    Code
    sudo poweroff

    gewechselt.

    Übrigens: Offenbar erfasst der Sleep Timer bzw. shutdownafter die aktuelle Minute und läuft nicht sekundengenau - das hat mich beim Testen mit 1 Minute Intervall stutzig gemacht. :) Im schlimmsten Fall ist dann nach 1 Sekunde Schluss, oder eben nach 59 Sekunden.

    Bei "normalen" Zeitvorgaben für das Ausschaltintervall ist das aber wohl belanglos.

  • Ich hatte das Problem auch schonmal. Die Lösung hatte Damals Xan für mich. Ist zwar von einer etwas älteren Version, aber bevor jemand verrückt wird könnte man es mal testen. Ich geb das mal im O-Ton von Xan wieder:

    In der Datei /lib/systemd/system-shutdown/gpio-poweroff neben "poweroff" auch "halt" einpflegen. Das Script sieht bei mir dann so aus:

    Spoiler anzeigen

    #!/bin/sh

    #

    # OnOff SHIM exposed by cyperghost for retropie.org.uk

    # This is mandatory for proper SHIM shutdown!


    poweroff_pin="4"

    led_pin="17"

    if [ "$1" = "poweroff" ]; then

    /bin/echo $led_pin > /sys/class/gpio/export

    /bin/echo out > /sys/class/gpio/gpio$led_pin/direction

    for iteration in 1 2 3; do

    /bin/echo 0 > /sys/class/gpio/gpio$led_pin/value

    /bin/sleep 0.2

    /bin/echo 1 > /sys/class/gpio/gpio$led_pin/value

    /bin/sleep 0.2

    done

    /bin/echo $poweroff_pin > /sys/class/gpio/export

    /bin/echo out > /sys/class/gpio/gpio$poweroff_pin/direction

    /bin/echo 0 > /sys/class/gpio/gpio$poweroff_pin/value

    fi

    if [ "$1" = "halt" ]; then

    /bin/echo $led_pin > /sys/class/gpio/export

    /bin/echo out > /sys/class/gpio/gpio$led_pin/direction

    for iteration in 1 2 3; do

    /bin/echo 0 > /sys/class/gpio/gpio$led_pin/value

    /bin/sleep 0.2

    /bin/echo 1 > /sys/class/gpio/gpio$led_pin/value

    /bin/sleep 0.2

    done

    /bin/echo $poweroff_pin > /sys/class/gpio/export

    /bin/echo out > /sys/class/gpio/gpio$poweroff_pin/direction

    /bin/echo 0 > /sys/class/gpio/gpio$poweroff_pin/value

    fi

    Vielleicht hilfts ja...

Jetzt mitmachen!

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