Add a fingerprint to identified person

Swifty, were you able to get the Esphome part working ? Would it be possible to see what you’ve done so far ? Thanks!

I did get it going but only to a basic level - I found the reader pretty hit and miss so ended up going down the route of a tablet with pin code instead, as I could also use that to display other information.

Unfortunately I didn’t keep the code I had produced to that point I’m afraid.

Wow, this is great and exactly what I am looking for. Any advancement made or more details descriptions? I would like to set this up for a 5 person households. To: 1) either register by tag/fingerprint, 2) make visible who is home and who is not, also to understand if scanning correct and 3) to use this as home/away set-up for further automations

Hi everybody,

after few messages on this topic and by private messages, I decided to work on a new version.

On the first post, I explained that 2 nodemcu was used to manage:

  • 1 RC522 (TagReader),
  • 4 Leds,
  • 1 Fingerprint Scanner.

Here are the changes made:

  • RC522 replaced by PN532:

PN532 is smaller and can be used with I2C. So 2 pins are used instead of 5.

  • The Fingerprint Scanner from Waveshare replaced by R503 from Grow:

The speed of detection is better with the Waveshare, but the integration (software and hardware) and price is better with the R503 (GROW R503 – Scanner de capteur d'empreintes digitales, rond et rond, deux couleurs, contrôle, DC3.3V mx1. 0 6 broches | AliExpress).

  • 2 NodeMCU replaced by 1 Wemos D1 Mini:

Smaller than 1 Nodemcu, so really smaller than 2 nodemcu !! And 1 wifi consumer instead of 2.

  • Arduino code to Esphome:

Thanks to Esphome and the HA API, it’s really easy to code and the optimisation is better. On Arduino code, 1 Wemos D1 Mini was not enough powerful to execute everything. But with Esphome were is not this problem !

With all this modifications, I could add a light (thanks to the economy of pins of PN532) for guests and I was able to divide the size of the box by 3 !

I redesigned the box with a total integration of lights, and a better integration of PN532 closer of the outside. I’m new with my own 3D printer, so be indulgent with quality of the end result :slight_smile:

New files here : GitHub - Will711990/Presence-Module-EspHome

2 Likes

Could you look over and see if it’s connected properly?

Hi !
Yes that’s correct !
Warning if you copy my esphome code with the attribution of led. I plugged on the same pin as yours but Colors are different !
Enjoy :blush:

I can’t figure out how to put on a fingerprint
image
switch one of them on to read it in and then switch it off again?
:cry:

Hi,
I’m not sure to understand your problem…
But the boolean are activated with this automation:

################################################################

Automation Person_1

################################################################


- alias: 'Boolean Empreinte Person_1 toggle'
  initial_state: True
  mode: single
  trigger:
    - platform: state
      entity_id: sensor.person_detected
      from: 'unknown'
      to: 'person_1_detected'
  condition:
    - condition: state
      entity_id: input_boolean.identification_par_badge
      state: 'on'
  action:
    - service: input_boolean.toggle
      entity_id: input_boolean.presence_person_1

- alias: 'Light from ON to OFF'
  initial_state: True
  trigger:
    - platform: state
      entity_id: input_boolean.presence_person_1
      from: 'off'
      to: 'on'
  action:
    - service: script.turn_on
      entity_id: script.presence_person_1

- alias: 'Light from OFF to ON'
  initial_state: True
  trigger:
    - platform: state
      entity_id: input_boolean.presence_person_1
      from: 'on'
      to: 'off'
  action:
    - service: script.turn_on
      entity_id: script.absence_person_1


################################################################
#  Script Person_1
################################################################

# Gestion des Leds Vertes ou Rouges sur Nodemcu
  presence_person_1:
    sequence:
      - service: light.turn_on
        data:
          brightness_pct: 50
          transition: 0
        target:
          entity_id: light.led_presence_person_1
      - service: light.turn_off
        data:
          transition: 0
        target:
          entity_id: light.led_absence_person_1

  absence_person_1:
    sequence:
      - service: light.turn_on
        data:
          brightness_pct: 40
          transition: 0
        target:
          entity_id: light.led_absence_person_1
      - service: light.turn_off
        data:
          transition: 0
        target:
          entity_id: light.led_presence_person_1