Is there any way to control the led light (aura)? Via service call?
I would like to use the light for indication of different things (opened gates for instance) and the glowing aura or blinking on command would be usefulā¦
Or expose the light controls to Home Assistant by creating a service that calls grow_fingerprint.aura_led_control and just pass the parameters from HA to ESPHome.
Thank you @parrel for the guidanceā¦it works but Iām not sure if itās the best way to do it.
I added this into esphome configuration file for fingerprint scanner - fingerprint.yaml:
api:
- service: set_aura_led
variables:
state: int
speed: int
color: int
count: int
then:
- fingerprint_grow.aura_led_control:
state: !lambda 'return state;'
speed: !lambda 'return speed;'
color: !lambda 'return color;'
count: !lambda 'return count;'
than I added this into my scripts.yaml file:
fingerprint_led_control:
sequence:
- service: esphome.finger_set_aura_led
data:
state: 1 # Replace with 1 for ON, 0 for OFF (adjust based on your desired logic)
speed: 200 # Replace with your desired speed value
color: 5 # Replace with your desired color value (e.g., 5 for purple)
count: 5 # Replace with the number of times the LED should blink (e.g., 1 for once)
next was switch config in configuration.yaml:
- platform: template
switches:
fingerprint_led_on:
friendly_name: "Fingerprint LED Aura ON"
turn_on:
service: script.fingerprint_led_control
data:
state: 1 # 1 for ON
speed: 200 # Replace with your desired speed value (adjust as needed)
color: 5 # Replace with your desired color value (e.g., 5 for purple)
count: 1 # Replace with the number of times the LED should blink (e.g., 1 for once)
turn_off:
service: script.fingerprint_led_control
data:
state: 0 # 0 for OFF
speed: 0 # Speed is not used when turning off, so set to 0
color: 0 # Color is not used when turning off, so set to 0
count: 0 # Count is not used when turning off, so set to 0
and in automations.yaml:
alias: Control Fingerprint LED Aura ON
description: ""
trigger:
- platform: state
entity_id: switch.fingerprint_led_on
action:
- service: script.fingerprint_led_control
data: {}
Hi everyone, very interesting topic. Iād like to operate my swing gate using the 503 fingerprint reader discussed here. The control box for the gate has 2 potential-free contacts to swing open 1 or both sides of the gate.
Ideally Iād like to assign different fingers to 1 or 2 halves opening and integrate with home assistant but Iām a bit lost when it comes to the parts. Would this board with 2 relays on board be the smart choice to connect both the gate and the fingerprint reader or are there alternative / smarter options?
Got my R503 today, got it all wired up (using the same PINs as OP here), I seem to be able to communicate with the reader however I cannot enroll any fingerprints, I always get āScans do not matchā, even if I use 1 one scan:
|21:47:50|[I]|[fingerprint_grow:066]|Starting enrollment in slot 1|
|21:47:54|[D]|[fingerprint_grow:125]|Getting image 1|
|21:47:55|[D]|[fingerprint_grow:146]|Processing image 1|
|21:47:55|[I]|[fingerprint_grow:150]|Processed image 1|
|21:47:55|[D]|[fingerprint_grow:307]|Setting Aura LED|
|21:47:55|[D]|[fingerprint_grow:311]|Aura LED set|
|21:47:56|[D]|[fingerprint_grow:307]|Setting Aura LED|
|21:47:56|[D]|[fingerprint_grow:311]|Aura LED set|
|21:47:56|[D]|[text_sensor:064]|'Garage Fingerprint State': Sending state 'Enrolling into slot 1, scanned 1 time(s)'|
|21:47:56|[W]|[component:204]|Component fingerprint_grow took a long time for an operation (1.29 s).|
|21:47:56|[W]|[component:205]|Components should block for at most 20-30ms.|
|21:47:56|[I]|[fingerprint_grow:164]|Creating model|
|21:47:56|[E]|[fingerprint_grow:170]|Scans do not match|
|21:47:56|[D]|[fingerprint_grow:307]|Setting Aura LED|
|21:47:56|[D]|[fingerprint_grow:311]|Aura LED set|
|21:47:56|[D]|[fingerprint_grow:311]|Aura LED set|
|21:47:56|[D]|[text_sensor:064]|'Garage Fingerprint State': Sending state 'Failed to enroll into slot 1'|
|21:47:56|[I]|[fingerprint_grow:089]|Finished enrollment|
scanning a finger seems to work but obviously doesnāt match
|21:57:25|[D]|[fingerprint_grow:094]|Scan and match|
|21:57:25|[D]|[fingerprint_grow:125]|Getting image 1|
|21:57:25|[D]|[fingerprint_grow:146]|Processing image 1|
|21:57:26|[I]|[fingerprint_grow:150]|Processed image 1|
|21:57:26|[D]|[fingerprint_grow:116]|Fingerprint not matched to any saved slots|
|21:57:26|[D]|[fingerprint_grow:307]|Setting Aura LED|
|21:57:26|[D]|[fingerprint_grow:311]|Aura LED set|
|21:57:26|[D]|[text_sensor:064]|'Garage Fingerprint State': Sending state 'Unauthorized finger'|
I have tried 2 different ESPs and many different fingers but the result is always the same - no match. Any ideas here?
For what itās worth, my Security level is set to 3 (can we change that?) and Status is 4 - is that the same for those of you with a working setup?
I have the same status and security. The module seems to return a mismatch error when doing an enroll. I have no idea what that means. Do you have a password on de module?
For me the magic number is 5, but with some specific fingers it needs to be less.
And I can also confirm that about 15 meters of CAT cable from the ESP works.
I am wondering the same about the security level. How can I change this? If I read the documentation, the only thing I can find is this:
security_level: The integer representation of the currently configured security level of the reader. Higher security levels reduce the false acceptance rate (FAR) at the expense of increasing the false rejection rate (FRR). Range is 1 (lowest) to 5 (highest).
name (Required, string): The name for the sensor.
id (Optional, ID): Manually specify the ID used for code generation.
From what I can tell the option exists, itās described in the adafruit library referenced from the ESPHome doc page, so I suppose someone who actually knows what theyāre doing (i.e. definitely not me) would need to implement that in ESPHomeā¦
/**************************************************************************/
/*!
@brief Change security level
@param level 8-bit security level
@returns <code>FINGERPRINT_OK</code> on success
@returns <code>FINGERPRINT_PACKETRECIEVEERR</code> on communication error
*/
/**************************************************************************/
uint8_t Adafruit_Fingerprint::setSecurityLevel(uint8_t level) {
return (writeRegister(FINGERPRINT_SECURITY_REG_ADDR, level));
}
Other question. My sensor is working really well, but I see this a lot in the logs after fingerprints are scanned and/or added:
[W][component:204]: Component fingerprint_grow took a long time for an operation (1.25 s).
[W][component:205]: Components should block for at most 20-30ms.
[W][component:204]: Component fingerprint_grow took a long time for an operation (0.22 s).
[W][component:205]: Components should block for at most 20-30ms.
[W][component:204]: Component fingerprint_grow took a long time for an operation (0.74 s).
[W][component:205]: Components should block for at most 20-30ms.
Is everyone seeing this, or is there something I can improve?
The yellow error in the logs tells that you are using the same uart for logging as for the sensor. You should probably disable logging on uart. It says how you can achieve that.