Help with setting Gpio power button

  • Hello everybody! I became member of the forum right now, but I read you often (sorry for my bad english)... My problem:
    - System: RPI3 Noobs with--> Libreelec (last version) + Recallbox
    - Hardware used: one button conected with Gpio 5 and 6.
    - Script:
    #!/usr/bin/python
    # shutdown/reboot(/power on) Raspberry Pi with pushbutton
    import sys
    sys.path.append('/storage/.kodi/addons/virtual.rpi-tools/lib')
    import RPi.GPIO as GPIO
    from subprocess import call
    from datetime import datetime
    import time

    # pushbutton connected to this GPIO pin, using pin 5 also has the benefit of
    # waking / powering up Raspberry Pi when button is pressed
    shutdownPin = 5

    # if button pressed for at least this long then shut down. if less then reboot.
    shutdownMinSeconds = 3

    # button debounce time in seconds
    debounceSeconds = 0.01
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(shutdownPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

    buttonPressedTime = None


    def buttonStateChanged(pin):
    global buttonPressedTime

    if not (GPIO.input(pin)):
    # button is down
    if buttonPressedTime is None:
    buttonPressedTime = datetime.now()
    else:
    # button is up
    if buttonPressedTime is not None:
    elapsed = (datetime.now() - buttonPressedTime).total_seconds()
    buttonPressedTime = None
    if elapsed >= shutdownMinSeconds:
    # button pressed for more than specified time, shutdown
    call(['shutdown', '-h', 'now'], shell=False)
    elif elapsed >= debounceSeconds:
    # button pressed for a shorter time, reboot
    call(['shutdown', '-r', 'now'], shell=False)


    # subscribe to button presses
    GPIO.add_event_detect(shutdownPin, GPIO.BOTH, callback=buttonStateChanged)

    while True:
    # sleep to reduce unnecessary CPU usage
    time.sleep(5)
    It only works pushing after shutdown and it powers on, but not doing reset (simple push) or shutingdown (3 sec pushing)... :huh: and putty says:
    " File "pishutdown.py", line 51, in <module>
    time.sleep(5)
    KeyboardInterrupt

    Any help would be very very apreciated! Thanks

    Edited once, last by javii77 (December 5, 2016 at 9:32 PM).