Neues Feature "DONT_ACCEPT_SAME_RFID_TWICE"

Es kam schon öfter (zuletzt hier) der Wunsch auf, dass man eine RFID-Karte auf dem Reader liegen lassen kann. In der Theorie klappt das auch, in der Praxis führt das in manchen Fällen (abhängig vom Gehäuse) jedoch dazu, dass mehr oder weniger oft „neue Karte aufgelegt“ initiiert wird. Das ist natürlich nervig.

Daher gibt es nun das Flag DONT_ACCEPT_SAME_RFID_TWICE, welches optional aktiviert werden kann. Die Funktionsweise ist wiefolgt:

  • Wird eine aktuell bereits aktive RFID-Karte erneut aufgelegt, so wird sie nicht akzeptiert.
  • Ausnahme 1: Es handelt sich um eine Modifikationskarte.
  • Ausnahme 2: Wurde eine neue RFID-Karte frisch angelernt, so will man üblicherweise die Zuweisung sofort testen. Daher ist es möglich, die frisch angelernte Karte nach einem Anlernvorgang erneut aufzulegen. Aber nur exakt einmal.
  • Um die gleiche Karte erneut auflegen zu können, muss zwischendrin eine andere Karte aufgelegt werden.
  • Das Feature wird stillschweigend ignoriert (um Fehler zu vermeiden) falls PAUSE_WHEN_RFID_REMOVED aktiv ist.
  • Im Falle einer geblockten Karte wird lediglich eine Meldung ins Log geschrieben. Wer möchte kann sich das auch auf dem Neopixel anzeigen lassen; dazu muss die nachfolgende Zeile aktiviert werden. Ich glaube eigentlich, dass man das nicht will (deswegen ist es per Default auch nicht aktiv), aber man muss sich natürlich im Klaren sein, dass das Ignorieren von Karten sich „seltsam anfühlen“ kann. Insofern wird’s Mancher vielleicht doch wollen.

Mögliche Probleme aus meiner Sicht:

  • Ich könnte mir Events vorstellen (wenn die Karte liegen bleibt), bei der sie nur so halb erkannt wird und daraus eine falsche ID resultiert. Wird sie dann erneut erkannt, aber diesmal richtig, so kann das Blocking nicht greifen.
  • Hört man einen Webstream und dieser reißt ab, so ist der einfachste „Fix“, die Karte einfach erneut aufzulegen. Das klappt hier natürlich nicht.

Empfehlung meinerseits bleibt weiterhin, die Karte nur kurz zu präsentieren und dann wieder zu entfernen. Weil dann hat man diese Probleme einfach nicht.

2 „Gefällt mir“

Mir war vorhin noch ein Fehler unterlaufen. Wer schon den Code ausgecheckt hatte: bitte nochmal aktualisieren.