Auslastungsproblem bei script für Tasterabfrage

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich habe mir das beigefügtes Script zusammengebastelt.
    Ich möchte damit einen Taster (Schalter abfragen) und damit ein paar 433Mz Steckdosen schalten.
    Ich habe das Script bereits in abgewandelter Form für einen Bewegungsmelder zur Ab- und Abschaltung des Monitor in meinem Spiegel. Dort funktioniert es auch mit ca. 5 % CPU Auslastung wunderbar.
    Das Script funktioniert auch für den Taster, allerdings laste ich damit die CPU (bzw. einen Core komplett aus).

    Ich finde leider keinen Fehler, mit dem ich das (Performance-)Problem lösen könnte. :wallbash:
    Findet Ihr etwas, oder gibt es einen besseren Weg, die Funktionen abzubilden. (gibt´s garantiert)

    Ich danke euch schon einmal im Voraus.

  • Vielen Dank für die schnelle Antwort!

    zu1: Da sind Schaltreihenfolgen der 433Mz Empfänger festgelegt und abgeschossen.

    zu2: Warum nehme ich keinen Interrupt? Tja...wie du wahrscheinlich gemerkt hast, bin ich noch grün hinter den Ohren...hab erst einmal das benutzt, was ich schon "kenne".
    Aber natürlich hast Du recht. Ich werde mal alles umbauen.

    Eine Frage habe ich aber trotzdem dazu. Ich habe zurzeit einen externen Widerstand vorgeschaltet. Wenn ich den weiter verwende, dann kann ich mir doch das Aktivieren des internen Pull-Down Widerstand sparen, oder? Würdet Ihr lieber den internen Widerstand benutzen, ode reinen externen und warum?

    Und: Kann/Sollte ich mein Script für den Bewegungsmelder auch versuchen auf Interrupt umzustellen? Bisher funktioniert es ja auch ohne nennenswerte Auslastung.

    VG

  • Eine Frage habe ich aber trotzdem dazu. Ich habe zurzeit einen externen Widerstand vorgeschaltet. Wenn ich den weiter verwende, dann kann ich mir doch das Aktivieren des internen Pull-Down Widerstand sparen, oder? Würdet Ihr lieber den internen Widerstand benutzen, ode reinen externen und warum?

    Ja, kannste dir sparen. Lieber extern da man's dann nicht so einfach vergessen kann :fies: Aber genau genommen ist das imho egal.

    Und: Kann/Sollte ich mein Script für den Bewegungsmelder auch versuchen auf Interrupt umzustellen? Bisher funktioniert es ja auch ohne nennenswerte Auslastung.

    Interrupt wäre besser da dann kein Auslöser verpasst wird. Bei deinem hier gezeigten Script wird durch das "sleep(0.1)" das gesamte Script für 0.1 Sekunden blockiert. In dieser Zeit kann kein Auslösen registriert also auch verpasst werden. Bei 0.1 ist das vielleicht weniger wahrscheinlich aber dennoch möglich.

Jetzt mitmachen!

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