FingerprintDoorbell

Ich steig jetzt auch mal ein :slight_smile:

Hab jetzt Jahre lang den Markt sondiert, aber es gibt immer noch keine Bezahlbaren Lösungen von der Stange, welche das machen was ich will / brauche:

Fingerabdruckleser per POE :slight_smile:
der mir „nur“ meldet, welcher Finger gescannt wurde.

Kein direktes Tür öffnen etc pp

Darum wird jetzt gebastelt.

Hat es schon mal jemand mit einem ESP32-POE Board getestet?

Geht das die oben verlinkte Firmware?

Ansonsten wird erstmal gebastelt und programmiert bis es läuft.

Grüße in die Runde

Mit dem habe ich noch nix gemacht, kenne das auch nicht.
Auch mit dem Wlan Modul wird bei mir nur an IPS gemeldet und IPS schaltet dann.

Ist so ein board von Olimex.

Mal sehen ob das geht.
Hätten den Charm, da ich am Eingang ein Lankabel noch frei habe.

Ansonsten den klassischen ESP32 und „nur“ den Strom vom POE abzapfend.

Mal sehen wie es klappt. Die nächsten Wochen wird gebastelt.

Dann schau mal, ob das mit Tasmota läuft, wenn ja wird der Fingerprint auch gehen.

Habe mir auch eine eigene Firmware gemacht, da ich einerseits eine vernünftige Tamperswitch-Lösung haben wollte und außerdem direkt ein HomeMatic-Sendemodul verbauen, um direkt die Keymatic ansteuern zu können ohne weitere Abhängigkeiten von CCU usw.

Tamperswitch funktioniert bei mir als NC-Mikroschalter in der VCC-Linie. Das Modul wird in sehr kurzen Intervallen gepingt und wenn die Antwort ausbleibt geht er in den Tamper-Modus und bleibt darin bis zum zurücksetzen.

Edit: Entscheidend ist natürlich, dass das Mikrocontroller-Modul auf der „sicheren“ Seite der Tür ist und nur der Sensor außen.

Hab das Board hier auch noch liegen, sollte mit den r503 gehen zumindest mit tasmota und ne rfid pn irgendwas.
Muss das noch mal testen mit der Firmware von frickelzeug, denke da muss ich die Pins umbelegen.

Sodele, ich hab jetzt hier den obengenannten ESP32-POE-ISO hier, aber auch die Wemos-ESP32-D1-mini.

Wollte mit den Minis anfangen und mal grob testen, ob alles läuft.

Ich scheiter aber schon beim flashen der *32.bin. Das Board wird mir zwar sowohl in der Arduino IDE, wie auch in Tasmotizer angezeigt, aber sobald ich flashen möchte, gibt es einen Fehler.
Es scheint, als ob er den Com-Port dann nicht richtig öffnen kann.

Wie habt ihr Eure ESP32 geflashed? Kann das ein Problem mit der Spannungsversorgung via USB Port vom PC sein?

Gruß
Maze

edit:
So bald man laut genaug weint…
Hab es dann noch mit ESPHOME-Flash versucht und damit ging es dann…
Jetzt ist zumindest mal das passende Tasmota drauf und der AS608 auswählbar :slight_smile:

Sodele,

der Mini läuft mit dem r503 Modul und die Anbindung in IPS ging auch top mit dem Modul von Kai.

Kann es sein, dass das FP Modul „beta“ Stand ist? Es ist zumindest nicht in der Doku und es scheint mir, als ob da nen paar Zeilen aus ner Vorlage im Template sind, wie zB PowerOn und PowerOff. Oder ich übersehe was :slight_smile: Ist mein erstes Tasmota Teil.

Wie habt ihr das mit der ID und Fingerzuordnung gelöst? Oder interessiert Euch nur die ID?

Klasse wäre da beim Anlegen, wenn man gleich ne Bezeichnung zB: „Name Daumen Links“ vergeben könnte und dieser dem VariablenProfil hinzugefügt wird. würde ich zumindest bei mir so ergänzen.

Zum eigentlichen Programm auf dem ESP:
Weiß jemand ob die LED noch mehr farben auf Lager hat?

Würde mir dann nämlich das Programm etwas anpassen. Wenn ich mir die Beschreibung von Grow zum r503 durchlese, sollte da noch etwas mehr gehen.

Aber nochmal Lob an alle Beteiligten!
Die Einbindung ging recht flott und es funktioniert auch alles!

Hallo Zusammen,

kurzer Zwischenstand:
Ich hatte mir noch nen 2ten r503 besorgt, diesmal als „RGB“ Variante.
Hab dann in der Adafruit_Fingerprint.h die Zeilen für Grün, Gelb, Cyan und Weiß ergänzt.
Das ganze läuft dann sauber.

Neugierig wir ich bin, habe ich dann das gleiche Program über den ersten r503 laufen lassen, welcher ja angeblich „nur“ rot/blau/lila kann. Denkste :slight_smile: der macht auch alle Farben!

Jetzt muss ich nur noch rausbekommen, wie ich in der *.BIN den Code anpassen kann, so dass alle Farben verwendet werden können.

Gruß
Maze

edit:
Sodele,
mein r503 quittiert jetzt den erkannten Finger grün.
Läuft immer noch sauber mit Tasmota und den entsprechenden Modulen in IPS.

Sobald ich alle Farben umgesetzt habe, kann ich gerne die Firmware dann zur Verfügung stellen.

War heute ein Crashkurs im Kompilieren mittels Gitpod…

1 „Gefällt mir“

r503 , muss mir mal ein neues Modul besorgen, die alten fass ich nicht an, die laufen.

So kurze Rückmeldung:

Der R503 läuft jetzt auch mittels dem Olimex-POE-ISO einwandfrei. Dort habe ich WLAN deaktiviert und das ganze läuft jetzt via POE.

Was mich aktuell noch stört ist, dass die aktuellen Routinen die ID des R503 nicht mit übermitteln. Die hät ich aber gern um die Sicherheit für den Türzugang noch etwas weiter erhöhen zu können.

Hat damit und mit dem Sicherheitslevel im R503 schonmal jemand rumgespielt?

Gruß
Maze

„Sicherheitslevel“ habe ich erhöht, funktionierte weiterhin. Ich meine, es geht darum, wie „sicher“ sich der Sensor ist, dass er den korrekten Finger vor sich hat.

Wenn du wirklich „Sicherheit“ haben willst, solltest du allerdings selbst weitere Layer hinzufügen, etwa einen Tamperswitch oder auch ein Lockout bei zu vielen fehlgeschlagenen Versuchen (wobei du berücksichtigen musst, dass auch der korrekte Fingerabdruck je nach Tagesform zunächst einige Male „falsch“ erkannt wird.

Hallo, hat noch jemand schwierigkeiten seit IPS 7.0?
Irgendetwas verhaut es bei meinem Fingerprint Modul, aber bisher habe ich den Fehler noch nicht gelöst. Folgende Meldung taucht alle 5 Minuten auf:

04.11.2023, 21:29:13 | FlowHandler          | Kann Daten nicht zur Instanz #41469 weiterleiten: 
Fatal error: Uncaught TypeError: str_replace(): Argument #3 ($subject) must be of type array|string, null given in C:\IPS\02_Data\modules\.store\info.schnittcher.ips.tasmota\libs\TasmotaService.php:308
Stack trace:
#0 C:\IPS\02_Data\modules\.store\info.schnittcher.ips.tasmota\libs\TasmotaService.php(308): str_replace('-', '_', NULL)
#1 C:\IPS\02_Data\modules\.store\info.schnittcher.ips.tasmota\TasmotaFingerprint\module.php(148): TasmotaService->traverseArray(Array, Array)
#2 C:\Windows\System32\-(3): TasmotaFingerprint->ReceiveData('{"DataID":"{7F7...')
#3 {main}
  thrown in C:\IPS\02_Data\modules\.store\info.schnittcher.ips.tasmota\libs\TasmotaService.php on line 308

Hallo, ich verwende den R503 zusammen mit Tasmota, habe aber eine sehr schlechte Erkennungsrate. Ich muss den Sensor fast jeden Tag per fpenroll neu anlernen, damit er meine Finger erkennt. Und am nächsten Tag habe ich dann schon wieder eine Erkennungsrate von max. 10%.

Der R503 hängt am 3.3V Ausgang eines D1 ESP8266 Mini, verbunden über ein ca. 3m langes Kabel.

Folgende Aktionen habe ich schon durchgeführt:

  • 100 uF Elko zwischen 3.3V und GND zur Verbesserung der Spannungs-Stabilität
  • Anpassen der xsns_79_as608.ino zum disablen der Aura LED und später „minimale“ Signale der Aura LED (rotes Aufblitzen wenn Abdruck nicht erkannt, blaues Leuchten wenn erkannt)
  • Herabsetzen des Security-Levels in der xsns_79_as608.ino durch
    As608Finger->setSecurityLevel(FINGERPRINT_SECURITY_LEVEL_3);
    AddLog(LOG_LEVEL_INFO, PSTR("AS6: Setting security level to %d "), FINGERPRINT_SECURITY_LEVEL_3);
    As608Finger->getParameters();
    AddLog(LOG_LEVEL_INFO, PSTR("AS6: Verification of security level: %d "), As608Finger->security_level);
  • Zusätzliches anlernen des „neuen“ Fingerabdrucks, wenn der „alte“ nicht mehr erkannt wird, also fpenroll 1, fpenroll 3, …

Aber trotzdem wird der Fingerabrdruck nach einem Tag nicht mehr oder mit geringer confidence erkannt, z.B.
16:55:36.462 MQT: stat/tasmota_Garagentor/RESULT = {„FPrint“:{„Id“:3,„Confidence“:42}}
16:56:06.065 MQT: stat/tasmota_Garagentor/RESULT = {„FPrint“:{„Id“:1,„Confidence“:35}}
16:56:28.249 MQT: stat/tasmota_Garagentor/RESULT = {„FPrint“:{„Id“:3,„Confidence“:50}}
16:56:31.202 MQT: stat/tasmota_Garagentor/RESULT = {„FPrint“:{„Id“:3,„Confidence“:45}}

Hat hier jemand eine Idee, woran das liegen könnte?
Könnte es eine schlechte charge bzw. ein R503 Klon sein, oder kann ich da softwareseitig noch etwas optimieren, z.B. den Security Level weiter runter setzen?

Danke,

donmiguel

Bei mir ist der Sensor sehr Sensitiv, was die „Fingerposition“ anbelangt!
Ich habe meinen Zeigefinger aber mittlerweile auch 2mal angelernt und damit ist die Rate deutlich besser!

Danke für Dein Feedback! Ich habe bis jetzt den Daumen benutzt, der ist aber natürlich relativ groß und bietet viele Möglichkeiten der untschiedlichen Fingerposition an. Heute hat es auch ein paamal im 3. oder 4. Anlauf geklappt, also gefühlt etwas besser. Ich werde das ganze mal weiter beobachten.

Eine andere Frage: welcher security_level ist denn werksseitig bei dem R503 gesetzt? Ich habe leider zuerst mit 3 überschrieben und danach ausgelesen… :frowning:

Meine Fehlermeldung betreffend habe ich das Problem identifizieren können:

Ich verwende einen ESP32 per POE und lass mir dort auch die Temperatur anzeigen.
Durch die verschachtelten Nachrichten kommt es in der TasmotaService.php Zeile 308 zu einem Fehler, da die find_parent Funktion hier einen NULL Wert zurück gibt.

Das Problem hab ich wie folgt „ausgeblendet“:

if (is_string($ParentKey)) $ParentKey = str_replace('-', '_', $ParentKey);

Nur für den Fall das jemand das gleiche Problem hat.

@donmiguel Den Security_level habe ich nicht verändert, kenne aber den hinterlegten aber auch nicht.
Was spricht für dich dagegen, deinen Daumen einfach auf mehreren Positionen einzulernen? Und natürlich auch bei unterschiedlichen Temperaturen / Feuchtigkeiten.

Gruß
Maze

Danke Dir, Maze! Ich habe meinen Daumen mittlerweile auf 4 Slots eingelernt, und jetzt scheint es relativ gut zu funktionieren. Ich hoffe mal, das lässt sich auch mit dem „wife acceptance factor“ vereinbaren :wink:

Hallo, bin neu in dem Thema und benötige etwas Hilfe.
Habe meinen ESP 8266 erfolgreich mit der oben Angegebenen Tasmota Datei bespielt.
Wenn ich meinen Finger auf den Sensor lege, Blinkt er rot und er sendet Fprint 254.
Ich benötige die Befehle oder vielleicht eine Kurze Erklärung wie ich das ganze verwende.
Für das neu „Anlegen“ eines Fingerabdruckes, muss ich glaube nur in den MQTT Broker den entsprechenden Befehl senden oder?

Am besten, du benutzt das Tasmota Modul von KaiS, da ist alles drin :

Finger anlernen per Tasmota konsole geht per fpenroll [NR-Vom Finger] , die Konsole sagt dir dann was zu tun ist.
14:51:28.418 WIF: Prüfe Verbindung…
14:51:32.672 CMD: fpenroll 20
14:51:32.674 SRC: WebConsole from 10.10.0.20
14:51:32.676 CMD: Grp 0, Cmd ‚FPENROLL‘, Idx 1, Len 2, Pld 20, Data ‚20‘
14:51:32.757 RSL: RESULT = {„FpEnroll“:„Finger auflegen“}
usw…

Die Fprint 254 hatte ich eingebaut, damit ich in IPS erkennen kann, das ein Finger nicht geht, oder ein unbekannter versucht.