Last active
September 11, 2021 14:39
-
-
Save haade-administrator/1e431d8fe4fa347e01f286349e610891 to your computer and use it in GitHub Desktop.
fingerprint grow r503 inclusive esphome home assistant
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
substitutions: | |
devicename: grow-r503 | |
friendly_name: Capteur empreintes | |
device_description: Capteur empreintes grow R503 | |
esphome: | |
name: $devicename | |
comment: ${device_description} | |
platform: ESP8266 | |
board: d1_mini | |
# Connection réseau wifi | |
wifi: | |
ssid: !secret wifi_ssid | |
password: !secret wifi_password | |
# Activer le point d'accès de secours (portail captif) en cas d'échec de la connexion wifi | |
ap: | |
ssid: "${friendly_name} Fallback AP" | |
password: "!secret fallback_ap_password" | |
captive_portal: | |
ota: | |
password: !secret ota_password | |
# Activer la journalisation | |
logger: | |
# Example entrée configuration wemos D1 Mini | |
uart: | |
tx_pin: GPIO16 #D0 | |
rx_pin: GPIO5 #D1 | |
baud_rate: 57600 | |
# status de la led du signal wifi | |
status_led: | |
pin: GPIO2 | |
# Déclarer le lecteur d'empreintes digitales Grow | |
fingerprint_grow: | |
# sécurisez votre système !ATTENTION à ne jamais perdre le mot de passe | |
password: 0x00 # Mot de passe existant, peut être omis s'il s'agit de la valeur par défaut 0x00 | |
new_password: 0x72AB96CD # Nouveau mot de passe ensuite mettre à jour le mot de passe existant avec le nouveau. | |
sensing_pin: GPIO4 | |
on_finger_scan_matched: | |
- homeassistant.event: | |
event: esphome.test_node_finger_scan_matched | |
data: | |
finger_id: !lambda 'return finger_id;' | |
confidence: !lambda 'return confidence;' | |
- fingerprint_grow.aura_led_control: | |
state: BREATHING | |
speed: 200 | |
color: BLUE | |
count: 1 | |
- text_sensor.template.publish: | |
id: fingerprint_state | |
state: !lambda 'return "Authorized finger";' | |
# Pousser un événement tag_scanned basé sur finger_id uniquement si la confiance est supérieure à 50 | |
# Créer une balise avec nom d'utilisateur pour chaque numéro d'identifiaction | |
- if: | |
condition: | |
lambda: 'return confidence > 50;' | |
then: | |
- homeassistant.tag_scanned: !lambda |- | |
switch (finger_id) { | |
case 0: | |
return "person_0"; | |
case 1: | |
return "person_1"; | |
case 2: | |
return "person_2"; | |
case 3: | |
return "person_3"; | |
default: | |
return "person_inconnu"; | |
} | |
on_finger_scan_unmatched: | |
- homeassistant.event: | |
event: esphome.test_node_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" | |
on_enrollment_scan: | |
- homeassistant.event: | |
event: esphome.test_node_enrollment_scan | |
data: | |
finger_id: !lambda 'return finger_id;' | |
scan_num: !lambda 'return scan_num;' | |
- 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: !lambda 'return "Enrolling into slot " + to_string(finger_id) + ", scanned " + to_string(scan_num) + " time(s)";' | |
on_enrollment_done: | |
- homeassistant.event: | |
event: esphome.test_node_enrollment_done | |
data: | |
finger_id: !lambda 'return finger_id;' | |
- fingerprint_grow.aura_led_control: | |
state: BREATHING | |
speed: 100 | |
color: BLUE | |
count: 2 | |
- text_sensor.template.publish: | |
id: fingerprint_state | |
state: !lambda 'return "Enrolled into slot " + to_string(finger_id);' | |
on_enrollment_failed: | |
- homeassistant.event: | |
event: esphome.test_node_enrollment_failed | |
data: | |
finger_id: !lambda 'return finger_id;' | |
- fingerprint_grow.aura_led_control: | |
state: FLASHING | |
speed: 25 | |
color: RED | |
count: 4 | |
- text_sensor.template.publish: | |
id: fingerprint_state | |
state: !lambda 'return "Failed to enroll into slot " + to_string(finger_id);' | |
# Réessayez l'inscription dans le même emplacement | |
- delay: 3s | |
- text_sensor.template.publish: | |
id: fingerprint_state | |
state: !lambda 'return "Retrying enrollment into slot " + to_string(finger_id) + " in 3 seconds...";' | |
- delay: 3s | |
- fingerprint_grow.enroll: !lambda 'return finger_id;' | |
# (Optionnel) Modèle de texte du capteur pour un retour visuel | |
text_sensor: | |
- platform: template | |
id: fingerprint_state | |
name: "${friendly_name} State" | |
- platform: version | |
name: "${friendly_name} ESPHome Version" | |
# (Optionnel) Composant (commutateur GPIO, verrou, etc.) à contrôler dans le déclencheur on_finger_scan_matched | |
switch: | |
- platform: gpio | |
pin: GPIO14 | |
id: gate | |
# redémarrage du module | |
- platform: restart | |
name: "${friendly_name} Restart" | |
# extinction du module | |
- platform: shutdown | |
name: "${friendly_name} Stop" | |
# (Optionnel) capteur | |
binary_sensor: | |
- platform: fingerprint_grow | |
id: fingerprint_enrolling | |
name: "${friendly_name} Enrolling" | |
# Status de connection | |
- platform: status | |
name: "${friendly_name} Status" | |
# Intégration des entités capteur pour Lovelace | |
sensor: | |
- platform: fingerprint_grow | |
fingerprint_count: | |
name: "${friendly_name} Count" | |
last_finger_id: | |
name: "${friendly_name} Last Finger ID" | |
last_confidence: | |
name: "${friendly_name} Last Confidence" | |
status: | |
name: "${friendly_name} Status" | |
capacity: | |
name: "${friendly_name} Capacity" | |
security_level: | |
name: "${friendly_name} Security Level" | |
- platform: wifi_signal | |
name: "${friendly_name} WiFi Signal" | |
update_interval: 60s | |
api: | |
password: !secret api_password | |
# Déclaration des services dans Home Assistant | |
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;' | |
# Mettre à jour le modèle de capteur de texte pour un retour visuel | |
- text_sensor.template.publish: | |
id: fingerprint_state | |
state: "Place a finger on the reader" | |
- 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: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment