Script ausführen bei Standby-Toggle

    • Script ausführen bei Standby-Toggle

      Damits auch richtig in der neusten Version funktioniert, habe ich das "import os" ganz an den Anfang gestellt:

      from Screen import Screen
      from Components.ActionMap import ActionMap
      from Components.config import config
      from Components.AVSwitch import AVSwitch
      from Components.SystemInfo import SystemInfo
      from GlobalActions import globalActionMap
      from enigma import eDVBVolumecontrol, eDVBLocalTimeHandler, eServiceReference
      import os
      ...

      und dann nach print "leave standby" gesucht und dort das Skript aufgerufen:

      ...
      print "leave standby"
      if os.path.exists("/usr/bin/enigma_leave_standby.sh"):
      os.system("/usr/bin/enigma_leave_standby.sh")

      #set input to encoder

      ...

      sowie nach print "enter standby" gesucht und dort das entsprechende Skript für enter standby aufgerufen:

      ...
      print "enter standby"
      if os.path.exists("/usr/bin/enigma_enter_standby.sh"):
      os.system("/usr/bin/enigma_enter_standby.sh")
      ...

      wie immer darauf achten, alles mit TAB entsprechend einzurücken, sonst hängt die box beim Start.
      Das os.system mit einem TAB mehr als das if statement.

      Gruß aus der Schweiz
      Micha
      Micha
    • Einfacher ohne patchen könntest du dir es mit einem eigenen Plugin machen.

      Wenn die Box in den Standy wechselt:

      Quellcode

      1. from Screens.Standby import inStandby
      2. import os
      3. def leaveStandby():
      4. if os.path.exists("/usr/bin/enigma_leave_standby.sh"):
      5. os.system("/usr/bin/enigma_leave_standby.sh")
      6. inStandby.onClose.append(leaveStandby)

      Wenn die Box in den Standy geht:

      Quellcode

      1. from Components.config import config
      2. import os
      3. def enterStandby():
      4. if os.path.exists("/usr/bin/enigma_enter_standby.sh"):
      5. os.system("/usr/bin/enigma_enter_standby.sh")
      6. config.misc.standbyCounter.addNotifier(enterStandby, initial_call = False)

      Wenn du es dann evtl. auch noch nicht blockierend haben möchtest solltest du dir noch eConsoleAppContainer() ansehen.