🚘 Garage Fingerprint Sensor

We need more information.

First of all, according to the link below, “target:” is not a valid key in your button card tap_action.

Do you see any logs on the ESPHome device when you press the button? Do you get errors somewhere?

Hi… i get rhis error when i press button for add fingerprint

No logs in esphome

Try

finger_id: |
        [[[
       states['input_number.id_impronta'].state
        ]]]

Or

finger_id: |
        [[[
       parseInt(states['input_number.id_impronta'].state)
        ]]]

Hi, not work :frowning:

expected int for dictionary value @ data[‘finger_id’]

Do you see what type of value it got?

Otherwise try custom button card, there you can use templating with JS for sure

I’m trying with button-card but I get the error:

Invocazione del servizio esphome/esphome_fingerprint_ingresso_enroll non riuscita. required key not provided @ data[‘finger_id’]

card lovelace:

type: custom:button-card
show_name: true
show_icon: true
tap_action:
  action: call-service
  service: esphome.esphome_fingerprint_ingresso_enroll
  target: {}
  data_template:
    finger_id: '{{ states[''input_number.id_impronta''].state | int }}'
    num_scans: 2
name: Registra Impronta
icon: mdi:fingerprint
icon_height: 50px

if i try from developer tools,

it work

Solved using a script…
Thank you

1 Like

Hey peeps, i bought the r503 and it was with all gray cables,
when testing it out it seems that it does a lot of false authorized fingerprints, i even cleared all fingerprints and it still has authorized.
what can i do ?

[17:34:32][I][fingerprint_grow:150]: Processed image 1
[17:34:34][D][fingerprint_grow:094]: Scan and match
[17:34:34][D][fingerprint_grow:125]: Getting image 1
[17:34:34][D][fingerprint_grow:146]: Processing image 1
[17:34:34][I][fingerprint_grow:150]: Processed image 1
[17:34:35][D][fingerprint_grow:103]: Fingerprint matched
[17:34:35][D][sensor:093]: 'd1mini Fingerprint Last Finger ID': Sending state 10.00000  with 0 decimals of accuracy
[17:34:35][D][sensor:093]: 'd1mini Fingerprint Last Confidence': Sending state 0.00000  with 0 decimals of accuracy
[17:34:35][D][fingerprint_grow:307]: Setting Aura LED
[17:34:35][E][fingerprint_grow:319]: Try led_control instead
[17:34:35][D][text_sensor:064]: 'd1mini Fingerprint State': Sending state 'Authorized finger'
[17:34:35][D][fingerprint_grow:125]: Getting image 1
[17:34:35][D][fingerprint_grow:146]: Processing image 1
[17:34:35][I][fingerprint_grow:150]: Processed image 1
[17:36:01][D][fingerprint_grow:094]: Scan and match
[17:36:01][D][fingerprint_grow:125]: Getting image 1
[17:36:01][D][fingerprint_grow:146]: Processing image 1
[17:36:01][I][fingerprint_grow:150]: Processed image 1
[17:36:01][D][fingerprint_grow:103]: Fingerprint matched
[17:36:01][D][sensor:093]: 'd1mini Fingerprint Last Finger ID': Sending state 10.00000  with 0 decimals of accuracy
[17:36:01][D][sensor:093]: 'd1mini Fingerprint Last Confidence': Sending state 0.00000  with 0 decimals of accuracy
[17:36:01][D][fingerprint_grow:307]: Setting Aura LED
[17:36:02][D][fingerprint_grow:311]: Aura LED set
[17:36:02][D][text_sensor:064]: 'd1mini Fingerprint State': Sending state 'Authorized finger'
[17:36:02][D][fingerprint_grow:125]: Getting image 1
[17:36:02][D][fingerprint_grow:125]: Getting image 1
[17:36:02][D][fingerprint_grow:146]: Processing image 1
[17:36:02][I][fingerprint_grow:150]: Processed image 1
[17:36:03][D][fingerprint_grow:125]: Getting image 1
[17:36:03][D][fingerprint_grow:146]: Processing image 1
[17:36:03][I][fingerprint_grow:150]: Processed image 1
[17:36:03][D][fingerprint_grow:125]: Getting image 1
[17:36:03][D][fingerprint_grow:146]: Processing image 1
[17:36:03][I][fingerprint_grow:150]: Processed image 1

Excuse me. Where exactly do I need to add this code?

Good Morning, I have a question regarding the activation of an external lock which is connected to HA using the ESP FPR. In my case, I have a nuki lock which is connected via mqtt to HA and I can trigger it using the UI. However, I would like to open the door by touching the fingerprint sensor using the nuki lock and not by triggering a switch (relay) in ESPHome.
I believe, I have to import the binary_sensor entity of the nuki lock into ESPHome to be able to trigger it? But I’m not getting it to work.
Here are my sensors/switches so far. With the relay its working, however, I would like to have a second path.

binary_sensor:
  - platform: status
    name: "ESPHome FPR"
    id: system_status
  - platform: homeassistant
    name: DoorContactMainEntry
    entity_id: binary_sensor.doorcontactmainentry_contact

switch:
  - platform: gpio
    pin: GPIO2
    inverted: true
    id: relay1
    name: "Door Remote"
    icon: "mdi:door"
    on_turn_on:
    - delay: 2500ms
    - switch.turn_off: relay1

Thanks in advance

I suggest using the home assistant lock.unlock service via the API.

Have a similar set up running for nearly two years and use api method as per @nickrout - works great .

added benefit is the easy use of automations (for example, I added geofencing meaning my kids can only open the door if either of us is home ). Since the reader is often mistaken for a doorbell by DHL and the likes a non recognized print rings the doorbell.

Can someone help me to get the fingerprint work?

if i enroll the fingerprint the sensor do nothing. If i run to cancel enroll the fingerprint show short 3 times a red light.
if you need more informations then please write me.

How can i check if some device is defect?

here is the log file:

INFO ESPHome 2023.6.5
INFO Reading configuration /config/esphome/fingerprint.yaml...
INFO Starting log output from 192.168.123.219 using esphome API
INFO Successfully connected to 192.168.123.219
[21:02:05][I][app:102]: ESPHome version 2023.6.5 compiled on Jul 16 2023, 20:21:44
[21:02:05][C][wifi:543]: WiFi:
[21:02:05][C][wifi:379]:   Local MAC: A8:42:E3:4B:1D:E0
[21:02:05][C][wifi:380]:   SSID: 'Tommy und Lindy'[redacted]
[21:02:05][C][wifi:381]:   IP Address: 192.168.123.219
[21:02:05][C][wifi:383]:   BSSID: 9C:9D:7E:74:D5:95[redacted]
[21:02:05][C][wifi:384]:   Hostname: 'esphome-web-4b1de0'
[21:02:05][C][wifi:386]:   Signal strength: -37 dB ▂▄▆█
[21:02:05][C][wifi:390]:   Channel: 2
[21:02:05][C][wifi:391]:   Subnet: 255.255.255.0
[21:02:05][C][wifi:392]:   Gateway: 192.168.123.1
[21:02:05][C][wifi:393]:   DNS1: 0.0.0.0
[21:02:05][C][wifi:394]:   DNS2: 0.0.0.0
[21:02:05][C][logger:301]: Logger:
[21:02:05][C][logger:302]:   Level: DEBUG
[21:02:05][C][logger:303]:   Log Baud Rate: 115200
[21:02:05][C][logger:305]:   Hardware UART: UART0
[21:02:05][C][uart.arduino_esp32:124]: UART Bus 1:
[21:02:05][C][uart.arduino_esp32:125]:   TX Pin: GPIO17
[21:02:05][C][uart.arduino_esp32:126]:   RX Pin: GPIO16
[21:02:05][C][uart.arduino_esp32:128]:   RX Buffer Size: 256
[21:02:05][C][uart.arduino_esp32:130]:   Baud Rate: 57600 baud
[21:02:05][C][uart.arduino_esp32:131]:   Data Bits: 8
[21:02:05][C][uart.arduino_esp32:132]:   Parity: NONE
[21:02:06][C][uart.arduino_esp32:133]:   Stop bits: 1
[21:02:06][C][template.text_sensor:020]: Template Sensor 'Garage Fingerprint State'
[21:02:06][C][fingerprint_grow:427]: GROW_FINGERPRINT_READER:
[21:02:06][C][fingerprint_grow:428]:   Update Interval: 0.5s
[21:02:06][C][fingerprint_grow:429]:   Fingerprint Count 'Garage Fingerprint Count'
[21:02:06][C][fingerprint_grow:429]:     State Class: ''
[21:02:06][C][fingerprint_grow:429]:     Unit of Measurement: ''
[21:02:06][C][fingerprint_grow:429]:     Accuracy Decimals: 0
[21:02:06][C][fingerprint_grow:429]:     Icon: 'mdi:fingerprint'
[21:02:06][C][fingerprint_grow:430]:   Status 'Garage Fingerprint Status'
[21:02:06][C][fingerprint_grow:430]:     State Class: ''
[21:02:06][C][fingerprint_grow:430]:     Unit of Measurement: ''
[21:02:06][C][fingerprint_grow:430]:     Accuracy Decimals: 0
[21:02:06][C][fingerprint_grow:431]:   Capacity 'Garage Fingerprint Capacity'
[21:02:06][C][fingerprint_grow:431]:     State Class: ''
[21:02:06][C][fingerprint_grow:431]:     Unit of Measurement: ''
[21:02:06][C][fingerprint_grow:431]:     Accuracy Decimals: 0
[21:02:06][C][fingerprint_grow:431]:     Icon: 'mdi:database'
[21:02:06][C][fingerprint_grow:432]:   Security Level 'Garage Fingerprint Security Level'
[21:02:06][C][fingerprint_grow:432]:     State Class: ''
[21:02:06][C][fingerprint_grow:432]:     Unit of Measurement: ''
[21:02:06][C][fingerprint_grow:432]:     Accuracy Decimals: 0
[21:02:06][C][fingerprint_grow:432]:     Icon: 'mdi:security'
[21:02:06][C][fingerprint_grow:433]:   Last Finger ID 'Garage Fingerprint Last Finger ID'
[21:02:06][C][fingerprint_grow:433]:     State Class: ''
[21:02:06][C][fingerprint_grow:433]:     Unit of Measurement: ''
[21:02:06][C][fingerprint_grow:433]:     Accuracy Decimals: 0
[21:02:06][C][fingerprint_grow:433]:     Icon: 'mdi:account'
[21:02:06][C][fingerprint_grow:434]:   Last Confidence 'Garage Fingerprint Last Confidence'
[21:02:06][C][fingerprint_grow:434]:     State Class: ''
[21:02:06][C][fingerprint_grow:434]:     Unit of Measurement: ''
[21:02:06][C][fingerprint_grow:434]:     Accuracy Decimals: 0
[21:02:06][C][fingerprint_grow:434]:     Icon: 'mdi:account-check'
[21:02:06][C][captive_portal:088]: Captive Portal:
[21:02:06][C][mdns:112]: mDNS:
[21:02:06][C][mdns:113]:   Hostname: esphome-web-4b1de0
[21:02:06][C][ota:093]: Over-The-Air Updates:
[21:02:06][C][ota:094]:   Address: 192.168.123.219:3232
[21:02:06][W][ota:103]: Last Boot was an unhandled reset, will proceed to safe mode in 7 restarts
[21:02:06][C][api:138]: API Server:
[21:02:06][C][api:139]:   Address: 192.168.123.219:6053
[21:02:06][C][api:141]:   Using noise encryption: YES
[21:03:10][I][fingerprint_grow:066]: Starting enrollment in slot 0
[21:04:13][D][fingerprint_grow:307]: Setting Aura LED
[21:04:13][D][fingerprint_grow:311]: Aura LED set
[21:04:13][D][text_sensor:064]: 'Garage Fingerprint State': Sending state 'Failed to enroll fingerprint'
[21:04:13][I][fingerprint_grow:089]: Finished enrollment

I have the fingerprintsensor R503 and a ESP32

uart:
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 57600

fingerprint_grow:
  sensing_pin: GPIO05
  on_finger_scan_matched:
    - fingerprint_grow.aura_led_control:
        state: BREATHING
        speed: 200
        color: BLUE
        count: 1
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Authorized finger"
    - delay: 10s
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Scan your finger"
  on_finger_scan_unmatched:
    - fingerprint_grow.aura_led_control:
        state: FLASHING
        speed: 25
        color: RED
        count: 2
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Unauthorized finger"
    - delay: 10s
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Scan your finger"
  on_enrollment_scan:
    - fingerprint_grow.aura_led_control:
        state: FLASHING
        speed: 25
        color: BLUE
        count: 2
    - fingerprint_grow.aura_led_control:
        state: ALWAYS_ON
        speed: 0
        color: PURPLE
        count: 0
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Finger scanned"
  on_enrollment_done:
    - fingerprint_grow.aura_led_control:
        state: BREATHING
        speed: 100
        color: BLUE
        count: 2
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Enrolled fingerprint"
  on_enrollment_failed:
    - fingerprint_grow.aura_led_control:
        state: FLASHING
        speed: 25
        color: RED
        count: 4
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Failed to enroll fingerprint"

text_sensor:
  - platform: template
    id: fingerprint_state
    name: "Garage Fingerprint State"

sensor:
  - platform: fingerprint_grow
    fingerprint_count:
      name: "Garage Fingerprint Count"
    last_finger_id:
      name: "Garage Fingerprint Last Finger ID"
    last_confidence:
      name: "Garage Fingerprint Last Confidence"
    status:
      name: "Garage Fingerprint Status"
    capacity:
      name: "Garage Fingerprint Capacity"
    security_level:
      name: "Garage Fingerprint Security Level"

esphome:
  name: esphome-web-4b1de0
  friendly_name: fingerprint

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "g9zrQfo8fdhwegdVeLzKgGLH7T3ecC99LEnoDGwY="
  services:
  - service: enroll
    variables:
      finger_id: int
      num_scans: int
    then:
      - fingerprint_grow.enroll:
          finger_id: !lambda 'return finger_id;'
          num_scans: !lambda 'return num_scans;'
  - service: cancel_enroll
    then:
      - fingerprint_grow.cancel_enroll:
  - service: delete
    variables:
      finger_id: int
    then:
      - fingerprint_grow.delete:
          finger_id: !lambda 'return finger_id;'
  - service: delete_all
    then:
      - fingerprint_grow.delete_all:

#to secure firmware updates over OTA
ota:


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # Optional manual IP
  manual_ip:
    static_ip: ??
    gateway: ??
    subnet: 255.255.255.0
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-4B1De0"
    password: "KfFrpbyIfsDVcj"

captive_portal:

Check if your RX (esp) and TX (sensor) pins are properly connected to each other. I think I had this issue before. My theory is that cancelling works because of the TX signal works, but enrolling requires RX data before it does anything.

i try to make a new connection but still not working

Try to disable logging by setting baud_rate: 0 under logging:

i modify like you wrote but still no improvement.

when tap on the sensor it should show light too? but it doesnt react.
can you look if the wires are correct? (the white and red are together with the red cable)

The sensor should light up, yes. But I suspect that the RX pin on the ESP does not make a good connection with the TX pin of the sensor, and that’s why the sensor does not give feedback like the lights. I’ve had the same thing.

Try another cable or even another pin on the board.

i will buy now another board i think it is damaged. I keep you posted when it come in 2-3 weeks )-:

I have already made two purchases of R503, and I have also tried changing boards, but none are working