Wieso wird mein Callback nur einmal aufgerufen?

  • Ich versuche gerade meinen Bewegungssensor mit Python abzufragen. Doch bin ich in Python noch ein Noob. Ich kann JS, PHP, Java... aber kein PY. Also neu lernen.

    Nun habe ich alles so wie es sein soll. Display geht an bei Bewegung und nach 2 Minuten aus. Doch wenn es einmal mit dem Script ausgeschaltet wurde geht das Display nicht mehr an. Also habe ich ein paar Ausgaben eingebaut, das Callback was den Bewegungsmeldung abfragt reagiert dann nicht mehr. Starte ich das script wieder neu geht es wieder für genau einmal.
    Was mache ich falsch? Wieso wird der Callback nicht nocheinmal abgerufen?

  • Für Python sind Einrückungen extrem wichtig - ich seh bei dir aber einige Fehlerhafte Einrückungen.

    Desweiteren bauchst du kein os.system um eine 0 in eine Datei zu schreiben - mach das lieber nativ in der Sprache, sprich, Datei öffnen rein schreiben und wieder schließen, vorzugsweise mit "with".

  • Oki danke schon einmal. Ich habe die Einrückungen jetzt mit Spaces gemacht. Ist das besser? Das mit dem os funktionierte aber auch mit dem Callback, werde ich dann aber angehen wenn das Callback geht.

  • Ich meine mich zu erinnern, dass es mit dem backlight schon mal irgendwelche komischen Probleme gab... um dem mal auf die Spur zu kommen: mal die os-Calls rausnehmen, und nur print ausfuehren.. So oder so ist es eine sehr schlechte Idee, im Event-Callback eine so schwergewichtige Operation zu machen. Aber dazu kommen wir spaeter. Erstmal sehen, ob deine Probleme auch ohne backlight bestehen bleiben.
    Automatisch zusammengefügt:
    Siehst, mir war doch so, als ob ich das Problem schon mal gesehen habe - Skript für Bewegungserkennung funktioniert nicht

    Mal durchlesen. Den Streit zwischen meigrafd & mir kannst du natuerlich ignorieren, aber trotz unserem Gezicke steht am Ende eine Loesung fuer den TE, indem (wie hier von meigrafd auch schon vorgeschlagen) das os.system *NICHT* verwendet wird. WARUM weiss nach wie vor denke ich keiner, aber wenn's scheee macht...

Jetzt mitmachen!

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