šŸš˜ Garage Fingerprint Sensor

@parrel Iā€™ve just had mine R503 delivered. Itā€™s not clear to me from your instructions whether you used the K202 control module at all? - whether this is needed during registering of fingerprint sensors, or if that is all done from ESPhome with the R503 connected directly to the ESP8266?

In addition, iā€™ve copied in your config (without having the R503 connected) and itā€™s complaining about ā€œComponent not found: fingerprint_growā€. Is this likely because ESP home hasnā€™t yet detected the R503? So i should connect it up and then add your code to the config?

Hi, you can directly connect the R503 to the ESP8266. The K202 module is not needed. Everything is done from the ESP.

If the component is not found, you probably have to update your ESPHome version, as it was recently added.

Wonderful!!!
Thanks for sharing! I like it!

Just one question since Iā€™m now so keen in programming and HA (beginner) - is the quoted text (config) all for esphome code to upload to esp? Or is it part of it for configuration.yaml?

Thanks!

Thanks! :slight_smile:

The config is all for ESPHome.

1 Like

It works! Thanks!

1 Like

Has anyone made automation (or any other kind of logic) for opening different door with different fingers?

Iā€™m have two doors and would like to dedicate different finger (Finger ID) to specific door. Has anyone made automation based on Finger ID?
Iā€™m not so keen in Home Assistant (just few months) and not a programmer any kind and I could use some help or example ā€¦
Thank you in advance!

Really? You canā€™t be bothered reading the thread? šŸš˜ Garage Fingerprint Sensor - #19 by macguy81

Iā€™m thinking of doing something like this in my letterbox(which currently has an ESP8266 wemo D1 hardwired to 5v powerline) to unlock the frontdoor if i dont have my phone on me (currently got a 12v doorstrike that i unlock from my phone (Lox ES10)).

How secure is a fingerprint sensor like this and where what is the source of truth in terms of storing finger prints?

:slight_smile: Yes, I saw this, but I was wondering about automation behind itā€¦
I was asking for some help with it.

Each finger you enroll, you can choose a different id and the sensor will show the finger id when it is successfully scanned.


alias: Open door with finger id 6
description: ''
mode: single
trigger:
  - platform: state
    entity_id: sensor.fingerprint_last_finger_id
    to: '6' # replace with your id
condition: []
action: # add actions
  - device_id: ''
    domain: ''
    entity_id: ''

2 Likes

Thanks again @parrel! Couldnā€™t figure out which sensor is trigger :blush:

1 Like

Fingerprints are stored on the sensor. The communication between the ESP and the sensor can be encrypted. You should keep the ESP in a safe space. Then itā€™s pretty safe.

Great project. I have my HA automation also check for presence before opening the door (so if my finger is scanned but Iā€™m away the door wonā€™t open).

As for the password - I donā€™t think it protects against the described attack, but rather the opposite one (someone trying to connect to the 503 and pulling the fingerprint data from it.) AFAIk The 503 unit does not authenticate itself in any way.

Would you mind sharing the code for the statement you made ā€œcheck for presence before opening the doorā€.

Thanks

This made me curious so I took a quick look to the source code. It seems that ESPHome checks the password on the grow sensor on startup. If the passwords do not match, it fails. So it seems that you can only communicate with the ESP when you know the password.

Itā€™s the other way around. ESPHome is passing the password to the sensor to verify it.
This is instruction VfyPwd (13H) in the sensor - it accepts the password as input and verifies it. The sensor does not authenticate itself to ESPHome.

1 Like

Itā€™s a very long automation, but the gist of it is that I have a variable that is mapping finger ids to person entity ids. I then have a choose section based on whether that person is home.

1 Like

Ah I get it now, youā€™re correct.

1 Like

Though not a noob, this code makes me feel like I am one!
I read through the code and compared it to the one for the sensor on the esphome web page and feel I understand what is happening.
I loaded the code and got errors when I went to validate. I was able to fix most of them but a few are still popping up. Maybe some one can tell me what I am doing wrong.
This is the code I put in

fingerprint_grow:
  sensing_pin: D2
  on_finger_scan_matched:
    - switch.turn_on: trigger_relay
    - fingerprint_grow.aura_led_control:
        state: BREATHING
        speed: 200
        color: BLUE
        count: 1
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Authorized finger"

I get an error of

Unable to find action with the name 'switch.turn_on'. switch.turn_on: trigger_relay

The second code section with errors is

services:
  - service: enroll
    variables:
      finger_id: int
      num_scans: int

The error is

Component not found: services.

I sort of understand what is going on but do not know how to solve.
Thanks for any help you can provide.

For the first error, if you control the garage using the same ESP, for example using a relay, you can fill in the id of the relay to open the garage/door etc. If you control it using another device you can remove the action and create an automation in HA.

The second error, services: should go under api: