enigma2 module benutzen - timer

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • kannst allenfals checken, ob der timer läuft und den stoppen und neu starten

      edit:

      du hast genau zwei Namen wenn ich das richtig sehe, und log mal mit dann siehst wie oft da welcher Timer gestartet wird
      ============================================================================================

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von shadowrider ()

    • aktuell siehts so aus...

      Quellcode

      1. def checkTimer(self):
      2. self.recordTimer = RecordTimer()
      3. self.nextTimer = self.recordTimer.getNextRecordingTime()
      4. if self.nextTimer:
      5. print "[ANaNAS]: record timer found"
      6. for timer in self.recordTimer.timer_list:
      7. self.recordPath = timer.dirname
      8. if timer.begin == self.nextTimer and self.recordPath.find("/media/net/") != -1:
      9. print "[ANaNAS]: recordTimer recording to: " + self.RecordPath
      10. self.wolTimer = eTimer()
      11. self.wolTimer.start((self.nextTimer-config.wakenas.wakeOffset.value*1000), True)
      12. self.wolTimer.callback.append(self.checkNAS('initial'))
      13. self.rescheduleTimer(self.nextTimer+60)
      14. else:
      15. print "[ANaNAS]: recordTimer not recording to NAS"
      16. else:
      17. print "[ANaNAS]: no record timer found - rescheduling"
      18. self.rescheduleTimerCheck()
      19. # reschedule timer check
      20. def rescheduleTimerCheck(self, time = (config.wakenas.timerRecheck.value*1000) ):
      21. self.reschedule = eTimer()
      22. self.reschedule.callback.append(self.checkTimer())
      23. self.reschedule.start(time, True)
      Alles anzeigen


      für den fall, dass ein passender timer existiert, wird der recheck auf "nextrecordingaction+60sekunden" gesetzt.. das passt

      für den fall, dass ÜBERHAUPT KEIN timer existiert, wird nach 10 minuten nochmal geprüft.. passt auch

      was ich jetzt nicht aus der logik her erreichbar sehe ist, wie ich einen reschedule machen kann, wenn timer vorhanden sind, aber keiner der timer in die conditions passt, sprich timer = nextrecordingtime UND aufnahmepfad aufs NAS


      das dachte ich wäre in der for gut aufgehoben, aber beim else.. nun wissen wir ja mittlerweile, dass das nicht passt, weil für jeden timer, der eben nicht passt, ein eigener scheduletimer gesetzt wird

      wie kann man sowas elegant lösen ?
    • ich sehe das so: der nächste Timer ist z.B. in 30min
      also passt, wolTimer starten, nach 10 minuten prüft es wieder, passt ja immer noch, noch einen wolTimer starten......

      edit:
      evtl. hilft dir etwas wie

      if wolTimer.isActive():
      ============================================================================================

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von shadowrider ()

    • gesetz dem fall KEIN timer existiert, dann greift das letzte else aus checkTimer.. passt

      gesetz dem fall es existieren timer UND einer dieeser timer ist ("nextrecrodingaction" und nimmt auf nas auf), wird der recheck auf 60 sekunden anch nextrecordingaction gesretzt.. passt auch

      was passiert aber, nach jetzigem code, wenn timer existieren, aber keiner nimmt aufs nas auf ?
      derzeit nichts.. aber hier müsste ein recheck nach x minuten realisierbar sein.. ich seh grad nur nicht wie
    • bzgl isActive

      in der art ?

      Quellcode

      1. # reschedule timer check
      2. def rescheduleTimerCheck(self, time = (config.wakenas.timerRecheck.value*1000) ):
      3. self.reschedule = eTimer()
      4. if self.reschedule.isActive():
      5. self.reschedule.stop()
      6. self.reschedule.callback.append(self.checkTimer())
      7. self.reschedule.start(time, True)