NFC 532 V3 Reliability Issues

Hi All,
I would like to ask you for help.
I have a project in which I want to read a NFC tag via the ESPHome.
Hardware wise I use a NFC 532 V3 Module. I have hooked it up to the processor via I2C and get it sometime running, but then after some time it stops recognizing any NFC card. The processor is still polling the card via I2C which I see on the Oscilloscope.
I have stripped down my yaml to a minimum NFC yaml to check if there is a overload or something (because I also use rotational ecncoder, fingerprint reader and other sensors and actors). But this does not seem to be the case.
Is there a way to debug this further - or does someone has an Idea?
Afer power off → on it ususally works again for some time.
Btw. I have used in the meantime 3 cards (of which one is an older, V2 card) all have the same behavior - so it is not the card.

Many thanks
Rainer

Here is a lof after power Off->On

INFO ESPHome 2025.5.0
INFO Reading configuration /config/esphome/garagentorsteuerung.yaml...
INFO Starting log output from 192.168.1.181 using esphome API
WARNING Can't connect to ESPHome API for garagentorsteuerung @ 192.168.1.181: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.1.181', port=6053))]: [Errno 111] Connect call failed ('192.168.1.181', 6053) (SocketAPIError)
INFO Trying to connect to garagentorsteuerung @ 192.168.1.181 in the background
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.011s
INFO Successful handshake with garagentorsteuerung @ 192.168.1.181 in 0.131s
[14:47:10][I][app:115]: ESPHome version 2025.5.0 compiled on May 26 2025, 11:36:14
[14:47:10][C][wifi:600]: WiFi:
[14:47:10][C][wifi:428]:   Local MAC: A0:A3:B3:26:2E:BC
[14:47:10][C][wifi:433]:   SSID: '217x205'[redacted]
[14:47:10][C][wifi:436]:   IP Address: 192.168.1.181
[14:47:10][C][wifi:440]:   BSSID: 44:4E:6D:14:E2:24[redacted]
[14:47:10][C][wifi:441]:   Hostname: 'garagentorsteuerung'
[14:47:10][C][wifi:443]:   Signal strength: -29 dB ▂▄▆█
[14:47:10][C][wifi:447]:   Channel: 1
[14:47:10][C][wifi:448]:   Subnet: 255.255.255.0
[14:47:10][C][wifi:449]:   Gateway: 192.168.1.1
[14:47:10][C][wifi:450]:   DNS1: 192.168.1.1
[14:47:10][C][wifi:451]:   DNS2: 0.0.0.0
[14:47:10][C][logger:224]: Logger:
[14:47:10][C][logger:225]:   Max Level: DEBUG
[14:47:10][C][logger:226]:   Initial Level: DEBUG
[14:47:10][C][logger:228]:   Log Baud Rate: 115200
[14:47:10][C][logger:229]:   Hardware UART: UART0
[14:47:10][C][logger:233]:   Task Log Buffer Size: 768
[14:47:10][C][i2c.arduino:071]: I2C Bus:
[14:47:10][C][i2c.arduino:072]:   SDA Pin: GPIO21
[14:47:10][C][i2c.arduino:073]:   SCL Pin: GPIO22
[14:47:10][C][i2c.arduino:074]:   Frequency: 100000 Hz
[14:47:10][C][i2c.arduino:086]:   Recovery: bus successfully recovered
[14:47:10][I][i2c.arduino:096]: Results from i2c bus scan:
[14:47:10][I][i2c.arduino:102]: Found i2c device at address 0x24
[14:47:10][C][template.text_sensor:020]: Template Sensor 'RFID Tag'
[14:47:10][C][output.slow_pwm:055]: Slow PWM Output:
[14:47:10][C][output.slow_pwm:056]:   Pin: GPIO25
[14:47:10][C][output.slow_pwm:066]:   Period: 2000 ms
[14:47:10][C][output.slow_pwm:067]:   Restart cycle on state change: NO
[14:47:10][C][pn532:431]: PN532:
[14:47:10][C][pn532:443]:   Update Interval: 1.0s
[14:47:10][C][pn532_i2c:125]:   Address: 0x24
[14:47:10][C][captive_portal:089]: Captive Portal:
[14:47:10][C][mdns:120]: mDNS:
[14:47:10][C][mdns:121]:   Hostname: garagentorsteuerung
[14:47:10][C][esphome.ota:073]: Over-The-Air updates:
[14:47:10][C][esphome.ota:074]:   Address: garagentorsteuerung.local:3232
[14:47:10][C][esphome.ota:075]:   Version: 2
[14:47:10][C][esphome.ota:078]:   Password configured
[14:47:10][C][safe_mode:018]: Safe Mode:
[14:47:10][C][safe_mode:020]:   Boot considered successful after 60 seconds
[14:47:10][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[14:47:10][C][api:170]: API Server:
[14:47:10][C][api:171]:   Address: garagentorsteuerung.local:6053
[14:47:10][C][api:173]:   Using noise encryption: YES
[14:47:17][D][pn532:364]: Mifare classic
[14:47:17][E][pn532.mifare_classic:101]: Authentication failed - Block 0x04
[14:47:17][D][text_sensor:064]: 'RFID Tag': Sending state 'E4-36-B7-01'
[14:47:17][D][pn532:200]: Found new tag 'E4-36-B7-01'
[14:47:17][D][pn532:379]: Waiting to read next tag
[14:47:17][W][component:257]: Component pn532 took a long time for an operation (66 ms).
[14:47:17][W][component:258]: Components should block for at most 30 ms.
[14:47:18][D][text_sensor:064]: 'RFID Tag': Sending state 'removed'
[14:47:19][D][pn532:364]: Mifare classic
[14:47:19][E][pn532.mifare_classic:101]: Authentication failed - Block 0x04
[14:47:19][D][text_sensor:064]: 'RFID Tag': Sending state 'E4-36-B7-01'
[14:47:19][D][pn532:200]: Found new tag 'E4-36-B7-01'
[14:47:19][D][pn532:379]: Waiting to read next tag
[14:47:19][W][component:257]: Component pn532 took a long time for an operation (120 ms).
[14:47:19][W][component:258]: Components should block for at most 30 ms.
[14:47:20][D][text_sensor:064]: 'RFID Tag': Sending state 'removed'
[14:47:21][D][pn532:364]: Mifare classic
[14:47:21][E][pn532.mifare_classic:101]: Authentication failed - Block 0x04
[14:47:21][D][text_sensor:064]: 'RFID Tag': Sending state 'E4-36-B7-01'
[14:47:21][D][pn532:200]: Found new tag 'E4-36-B7-01'
[14:47:21][D][pn532:379]: Waiting to read next tag
[14:47:22][D][text_sensor:064]: 'RFID Tag': Sending state 'removed'

Here is where I saw some odd logs messages

INFO ESPHome 2025.5.0
INFO Reading configuration /config/esphome/garagentorsteuerung.yaml...
INFO Starting log output from 192.168.1.181 using esphome API
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.062s
INFO Successful handshake with garagentorsteuerung @ 192.168.1.181 in 0.114s
[14:32:54][I][app:115]: ESPHome version 2025.5.0 compiled on May 26 2025, 11:36:14
[14:32:55][C][wifi:600]: WiFi:
[14:32:55][C][wifi:428]:   Local MAC: A0:A3:B3:26:2E:BC
[14:32:55][C][wifi:433]:   SSID: '217x205'[redacted]
[14:32:55][C][wifi:436]:   IP Address: 192.168.1.181
[14:32:55][C][wifi:440]:   BSSID: 74:42:7F:25:60:9E[redacted]
[14:32:55][C][wifi:441]:   Hostname: 'garagentorsteuerung'
[14:32:55][C][wifi:443]:   Signal strength: -80 dB ▂▄▆█
[14:32:55][C][wifi:447]:   Channel: 6
[14:32:55][C][wifi:448]:   Subnet: 255.255.255.0
[14:32:55][C][wifi:449]:   Gateway: 192.168.1.1
[14:32:55][C][wifi:450]:   DNS1: 192.168.1.1
[14:32:55][C][wifi:451]:   DNS2: 0.0.0.0
[14:32:55][C][logger:224]: Logger:
[14:32:55][C][logger:225]:   Max Level: DEBUG
[14:32:55][C][logger:226]:   Initial Level: DEBUG
[14:32:55][C][logger:228]:   Log Baud Rate: 115200
[14:32:55][C][logger:229]:   Hardware UART: UART0
[14:32:55][C][logger:233]:   Task Log Buffer Size: 768
[14:32:55][C][i2c.arduino:071]: I2C Bus:
[14:32:55][C][i2c.arduino:072]:   SDA Pin: GPIO21
[14:32:55][C][i2c.arduino:073]:   SCL Pin: GPIO22
[14:32:55][C][i2c.arduino:074]:   Frequency: 100000 Hz
[14:32:55][C][i2c.arduino:086]:   Recovery: bus successfully recovered
[14:32:55][I][i2c.arduino:096]: Results from i2c bus scan:
[14:32:55][I][i2c.arduino:102]: Found i2c device at address 0x24
[14:32:55][C][template.text_sensor:020]: Template Sensor 'RFID Tag'
[14:32:55][C][output.slow_pwm:055]: Slow PWM Output:
[14:32:55][C][output.slow_pwm:056]:   Pin: GPIO25
[14:32:55][C][output.slow_pwm:066]:   Period: 2000 ms
[14:32:55][C][output.slow_pwm:067]:   Restart cycle on state change: NO
[14:32:55][C][pn532:431]: PN532:
[14:32:55][C][pn532:443]:   Update Interval: 1.0s
[14:32:55][C][pn532_i2c:125]:   Address: 0x24
[14:32:55][C][captive_portal:089]: Captive Portal:
[14:32:55][C][mdns:120]: mDNS:
[14:32:55][C][mdns:121]:   Hostname: garagentorsteuerung
[14:32:55][C][esphome.ota:073]: Over-The-Air updates:
[14:32:55][C][esphome.ota:074]:   Address: garagentorsteuerung.local:3232
[14:32:55][C][esphome.ota:075]:   Version: 2
[14:32:55][C][esphome.ota:078]:   Password configured
[14:32:55][C][safe_mode:018]: Safe Mode:
[14:32:55][C][safe_mode:020]:   Boot considered successful after 60 seconds
[14:32:55][C][safe_mode:021]:   Invoke after 10 boot attempts
[14:32:55][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[14:32:55][C][api:170]: API Server:
[14:32:55][C][api:171]:   Address: garagentorsteuerung.local:6053
[14:32:55][C][api:173]:   Using noise encryption: YES
[14:33:01][W][pn532:118]: Requesting tag read failed!
[14:33:01][W][component:167]: Component pn532 set Warning flag: unspecified
[14:33:01][W][component:182]: Component pn532 cleared Warning flag
[14:33:03][W][pn532:118]: Requesting tag read failed!
[14:33:03][W][component:167]: Component pn532 set Warning flag: unspecified
[14:33:03][W][component:182]: Component pn532 cleared Warning flag
[14:33:54][W][pn532:118]: Requesting tag read failed!
[14:33:54][W][component:167]: Component pn532 set Warning flag: unspecified
[14:33:54][W][component:182]: Component pn532 cleared Warning flag
[14:35:17][W][pn532:118]: Requesting tag read failed!
[14:35:17][W][component:167]: Component pn532 set Warning flag: unspecified
[14:35:17][W][component:182]: Component pn532 cleared Warning flag
[14:35:19][W][pn532:118]: Requesting tag read failed!
[14:35:19][W][component:167]: Component pn532 set Warning flag: unspecified
[14:35:19][W][component:182]: Component pn532 cleared Warning flag

Here is my YAML configuration

#ESPHOME Garagentorsteuerung
#Stand Test
# Konfiguration:

# GPIO
#  BUSSES (Input & Output)
#    21 I2C SDA
#    22 I2C SCL

# NFC Reader (I2C)
#	  - devices
#     NFC Reader PN532-Mod #adresse 0x24
 


esphome:
  name: garagentorsteuerung
  friendly_name: Garagentorsteuerung
  on_boot:
    priority: -100
    then:
      - output.turn_on: StatusLED_slow_blink
      - output.set_level:
          id: StatusLED_slow_blink
          level: "50%"

esp32:
  # https://registry.platformio.org/platforms/platformio/espressif32/boards?version=5.3.0
  board: az-delivery-devkit-v4
  framework:
    type: arduino

# Enable logging
logger: 
    level: DEBUG # keep empty otherwise
api:
  encryption:
    key: !secret GS_api_key
    
# Enable Home Assistant API
ota:
  - platform: esphome
    password: !secret GS_ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "GSFallbackHotspot"
    password: !secret GS_ap_password

captive_portal:

i2c:
  - id: i2c0
    sda: GPIO21
    scl: GPIO22
    scan: true  
    frequency: 100kHz # 10 kHz Minimale Frequenz möglich-------------------------------


# -------------------------------
# https://esphome.io/components/binary_sensor/pn532.html

pn532_i2c: # NFC Reader
  #update_interval: 1s
  on_tag: 
    then: #this is where you would code your actions
      - text_sensor.template.publish:
          id: rfid_tag
          state: !lambda 'return x;'
      - homeassistant.tag_scanned: !lambda |-
          return x;
        # https://community.home-assistant.io/t/esphome-fingerprint-reader-and-nfc-tag-reader-issues/872034/2
  on_tag_removed:
    then:
      - text_sensor.template.publish:
          id: rfid_tag
          state: 'removed' # !lambda 'return x;'


text_sensor:
  - platform: template
    name: "RFID Tag"
    id: rfid_tag
# -------------------------------
output:
  - platform: slow_pwm
    pin: GPIO25
    id: StatusLED_slow_blink
    period: 2s

How’s your supply voltage?
Did you try SPI or UART?

VCC is 5V
Just set up SPI. Works currently. Now I’m let it run for some time.

I don’t know how level shifters are on your specific module, but 3.3V would be my choice in the first place.

I used for for SDA and SCL direct output of the GPIO pins with PUP 2.2K to 5V.
The module has a level shifter built in down to 3.3V

Sounds bad to me
Gpios are not 5V tolerant.
Try with 3v3 supply and 4k7 pullups to 3v3.

Many Thanks.
I wasn’t aware that the GPIOs work on “system on chip voltage level”, i.e. on 3.3V.
Will give it a try.

Btw. SPI works reliably since a day.

i’ve been having exactly the same problems since yesterday, would you be willing to share your current yaml with spi for us?
i have now gone back to the esphome 2025.4.2 version - i suspect this has something to do with the 2025.5.X version. i will keep an eye on it

Yes, of course:

# ----------------------- NFC vis I2C Test ------------------------

#ESPHOME Garagentorsteuerung
#Stand Test
# Konfiguration:

# GPIO
#  BUSSES (Input & Output)
#    21 I2C SDA
#    22 I2C SCL

# NFC Reader (I2C)
#	  - devices
#     NFC Reader PN532-Mod #adresse 0x24
 


esphome:
  name: garagentorsteuerung
  friendly_name: Garagentorsteuerung
  on_boot:
    priority: -100
    then:
      - output.turn_on: StatusLED_slow_blink
      - output.set_level:
          id: StatusLED_slow_blink
          level: "50%"

esp32:
  # https://registry.platformio.org/platforms/platformio/espressif32/boards?version=5.3.0
  board: az-delivery-devkit-v4
  framework:
    type: arduino

# Enable logging
logger: 
    level: DEBUG # keep empty otherwise
api:
  encryption:
    key: !secret GS_api_key
    
# Enable Home Assistant API
ota:
  - platform: esphome
    password: !secret GS_ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "GSFallbackHotspot"
    password: !secret GS_ap_password

captive_portal:

i2c:
  - id: i2c0
    sda: GPIO21
    scl: GPIO22
    scan: true  
    frequency: 100kHz # 10 kHz Minimale Frequenz möglich-------------------------------


# -------------------------------
# https://esphome.io/components/binary_sensor/pn532.html

pn532_i2c: # NFC Reader
  update_interval: 1s
  on_tag: 
    then: #this is where you would code your actions
      - text_sensor.template.publish:
          id: rfid_tag
          state: !lambda 'return x;'
      - homeassistant.tag_scanned: !lambda |-
          return x;
        # https://community.home-assistant.io/t/esphome-fingerprint-reader-and-nfc-tag-reader-issues/872034/2
  on_tag_removed:
    then:
      - text_sensor.template.publish:
          id: rfid_tag
          state: 'removed' # !lambda 'return x;'


text_sensor:
  - platform: template
    name: "RFID Tag"
    id: rfid_tag
# -------------------------------
output:
  - platform: slow_pwm
    pin: GPIO25
    id: StatusLED_slow_blink
    period: 2s


So here is my other question:
A Stand Alone I2C Bus NFC card worked 24 hours.

Now I have installed my full application and after a while I get no response from the NFC card again - but other sensors (rotational encoder) do still work for some time as the log output shows it.

The NFC log stopped outputting NFC logs after the line:

[09:50:06][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[09:50:06][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:50:06][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed

Then eventually I see the error:

WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: [Errno 104] Connection reset by peer
INFO Processing unexpected disconnect from ESPHome API for garagentorsteuerung @ 192.168.1.181
WARNING Disconnected from API
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.008s
WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1)
WARNING Can't connect to ESPHome API for garagentorsteuerung @ 192.168.1.181: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1) (EncryptionHelloAPIError)
INFO Trying to connect to garagentorsteuerung @ 192.168.1.181 in the background
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.031s
WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1)
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.039s
WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1)
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.041s
WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1)
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 2.110s
INFO Successful handshake with garagentorsteuerung @ 192.168.1.181 in 0.203s

I would really be glad if someone help me and direct me how to narrow down the issue

Many thanks,
Rainer

Here is the full log

INFO ESPHome 2025.5.1
INFO Reading configuration /config/esphome/garagentorsteuerung.yaml...
WARNING GPIO5 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING Pin 10 (9-10) might already be used by the flash interface in QUAD IO flash mode.
INFO Generating C++ source...
INFO Compiling app...
Processing garagentorsteuerung (board: az-delivery-devkit-v4; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
Library Manager: Installing SPI
INFO Installing SPI
HARDWARE: ESP32 240MHz, 520KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.3.0
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- Wire @ 2.0.0
|-- NeoPixelBus @ 2.7.3
|-- noise-c @ 0.1.6
Compiling .pioenvs/garagentorsteuerung/src/main.cpp.o
Linking .pioenvs/garagentorsteuerung/firmware.elf
RAM:   [=         ]   7.8% (used 41788 bytes from 532480 bytes)
Flash: [======    ]  57.8% (used 1061493 bytes from 1835008 bytes)
Building .pioenvs/garagentorsteuerung/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/garagentorsteuerung/firmware.bin"], [".pioenvs/garagentorsteuerung/firmware.elf"])
SHA digest in image updated
Wrote 0x114900 bytes to file /data/build/garagentorsteuerung/.pioenvs/garagentorsteuerung/firmware.factory.bin, ready to flash to offset 0x0
esp32_copy_ota_bin([".pioenvs/garagentorsteuerung/firmware.bin"], [".pioenvs/garagentorsteuerung/firmware.elf"])
========================= [SUCCESS] Took 17.11 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.1.181 port 3232...
INFO Connected to 192.168.1.181
INFO Uploading /data/build/garagentorsteuerung/.pioenvs/garagentorsteuerung/firmware.bin (1067264 bytes)
Uploading: [============================================================] 100% Done...

INFO Upload took 7.56 seconds, waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 192.168.1.181 using esphome API
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 11.241s
INFO Successful handshake with garagentorsteuerung @ 192.168.1.181 in 0.176s
[09:49:18][I][app:115]: ESPHome version 2025.5.1 compiled on May 28 2025, 09:48:42
[09:49:18][C][wifi:600]: WiFi:
[09:49:18][C][wifi:428]:   Local MAC: A0:A3:B3:26:2E:BC
[09:49:18][C][wifi:433]:   SSID: '217x205'[redacted]
[09:49:18][C][wifi:436]:   IP Address: 192.168.1.181
[09:49:18][C][wifi:440]:   BSSID: 44:4E:6D:14:E2:24[redacted]
[09:49:18][C][wifi:441]:   Hostname: 'garagentorsteuerung'
[09:49:18][C][wifi:443]:   Signal strength: -31 dB ▂▄▆█
[09:49:18][C][wifi:447]:   Channel: 6
[09:49:18][C][wifi:448]:   Subnet: 255.255.255.0
[09:49:18][C][wifi:449]:   Gateway: 192.168.1.1
[09:49:18][C][wifi:450]:   DNS1: 192.168.1.1
[09:49:18][C][wifi:451]:   DNS2: 0.0.0.0
[09:49:18][C][logger:224]: Logger:
[09:49:18][C][logger:225]:   Max Level: DEBUG
[09:49:18][C][logger:226]:   Initial Level: DEBUG
[09:49:18][C][logger:228]:   Log Baud Rate: 115200
[09:49:18][C][logger:229]:   Hardware UART: UART0
[09:49:18][C][logger:233]:   Task Log Buffer Size: 768
[09:49:18][C][i2c.arduino:071]: I2C Bus:
[09:49:18][C][i2c.arduino:072]:   SDA Pin: GPIO21
[09:49:18][C][i2c.arduino:073]:   SCL Pin: GPIO22
[09:49:18][C][i2c.arduino:074]:   Frequency: 100000 Hz
[09:49:18][C][i2c.arduino:086]:   Recovery: bus successfully recovered
[09:49:18][I][i2c.arduino:096]: Results from i2c bus scan:
[09:49:18][I][i2c.arduino:102]: Found i2c device at address 0x24
[09:49:18][C][uart.arduino_esp32:151]: UART Bus 1:
[09:49:18][C][uart.arduino_esp32:152]:   TX Pin: GPIO17
[09:49:18][C][uart.arduino_esp32:153]:   RX Pin: GPIO16
[09:49:18][C][uart.arduino_esp32:155]:   RX Buffer Size: 256
[09:49:18][C][uart.arduino_esp32:157]:   Baud Rate: 57600 baud
[09:49:18][C][uart.arduino_esp32:158]:   Data Bits: 8
[09:49:18][C][uart.arduino_esp32:159]:   Parity: NONE
[09:49:18][C][uart.arduino_esp32:160]:   Stop bits: 1
[09:49:18][C][template.text_sensor:020]: Template Sensor 'Garage Fingerprint State'
[09:49:18][C][template.text_sensor:020]: Template Sensor 'RFID Tag'
[09:49:18][C][gpio.output:010]: GPIO Binary Output:
[09:49:18][C][gpio.output:011]:   Pin: GPIO27
[09:49:18][C][gpio.output:010]: GPIO Binary Output:
[09:49:18][C][gpio.output:011]:   Pin: GPIO26
[09:49:18][C][output.slow_pwm:055]: Slow PWM Output:
[09:49:18][C][output.slow_pwm:056]:   Pin: GPIO25
[09:49:18][C][output.slow_pwm:066]:   Period: 2000 ms
[09:49:18][C][output.slow_pwm:067]:   Restart cycle on state change: NO
[09:49:18][C][ledc.output:180]: LEDC Output:
[09:49:18][C][ledc.output:181]:   Pin GPIO10
[09:49:18][C][ledc.output:182]:   LEDC Channel: 0
[09:49:18][C][ledc.output:183]:   PWM Frequency: 1000.0 Hz
[09:49:18][C][ledc.output:184]:   Phase angle: 0.0°
[09:49:18][C][ledc.output:185]:   Bit depth: 16
[09:49:18][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'GS Input DPIO35'
[09:49:18][C][gpio.binary_sensor:015]:   Device Class: 'door'
[09:49:18][C][gpio.binary_sensor:016]:   Pin: GPIO35
[09:49:18][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'GS Input DPIO34'
[09:49:18][C][gpio.binary_sensor:015]:   Device Class: 'door'
[09:49:18][C][gpio.binary_sensor:016]:   Pin: GPIO34
[09:49:18][C][output.switch:068]: Output Switch 'GS Ouput GPIO27'
[09:49:18][C][output.switch:091]:   Restore Mode: always OFF
[09:49:18][C][output.switch:068]: Output Switch 'GS Output GPIO26'
[09:49:18][C][output.switch:091]:   Restore Mode: always OFF
[09:49:18][C][light:092]: Light 'NFC LED'
[09:49:18][C][light:094]:   Default Transition Length: 1.0s
[09:49:18][C][light:095]:   Gamma Correct: 2.80
[09:49:18][C][pn532:431]: PN532:
[09:49:18][C][pn532:443]:   Update Interval: 1.0s
[09:49:18][C][pn532:446]:   Tag 'tag0'
[09:49:18][C][pn532:446]:   Tag 'tag1'
[09:49:18][C][pn532:446]:   Tag 'tag2'
[09:49:18][C][pn532:446]:   Tag 'tag3'
[09:49:18][C][pn532:446]:   Tag 'tag4'
[09:49:18][C][pn532_i2c:125]:   Address: 0x24
[09:49:18][C][fingerprint_grow:537]: GROW_FINGERPRINT_READER:
[09:49:18][C][fingerprint_grow:538]:   System Identifier Code: 0x0000
[09:49:18][C][fingerprint_grow:540]:   Touch Sensing Pin: GPIO5
[09:49:18][C][fingerprint_grow:542]:   Sensor Power Pin: GPIO18
[09:49:18][C][fingerprint_grow:544]:   Idle Period to Sleep: 5000 ms
[09:49:18][C][fingerprint_grow:548]:   Update Interval: 0.5s
[09:49:18][C][fingerprint_grow:550]:   Fingerprint Count 'Garage Fingerprint Count'
[09:49:18][C][fingerprint_grow:550]:     State Class: ''
[09:49:18][C][fingerprint_grow:550]:     Unit of Measurement: ''
[09:49:18][C][fingerprint_grow:550]:     Accuracy Decimals: 0
[09:49:18][C][fingerprint_grow:550]:     Icon: 'mdi:fingerprint'
[09:49:18][C][fingerprint_grow:551]:     Current Value: 65535
[09:49:18][C][fingerprint_grow:554]:   Status 'Garage Fingerprint Status'
[09:49:18][C][fingerprint_grow:554]:     State Class: ''
[09:49:18][C][fingerprint_grow:554]:     Unit of Measurement: ''
[09:49:18][C][fingerprint_grow:554]:     Accuracy Decimals: 0
[09:49:18][C][fingerprint_grow:555]:     Current Value: 255
[09:49:18][C][fingerprint_grow:558]:   Capacity 'Garage Fingerprint Capacity'
[09:49:18][C][fingerprint_grow:558]:     State Class: ''
[09:49:18][C][fingerprint_grow:558]:     Unit of Measurement: ''
[09:49:18][C][fingerprint_grow:558]:     Accuracy Decimals: 0
[09:49:18][C][fingerprint_grow:558]:     Icon: 'mdi:database'
[09:49:18][C][fingerprint_grow:559]:     Current Value: 65535
[09:49:18][C][fingerprint_grow:562]:   Security Level 'Garage Fingerprint Security Level'
[09:49:18][C][fingerprint_grow:562]:     State Class: ''
[09:49:18][C][fingerprint_grow:562]:     Unit of Measurement: ''
[09:49:18][C][fingerprint_grow:562]:     Accuracy Decimals: 0
[09:49:18][C][fingerprint_grow:562]:     Icon: 'mdi:security'
[09:49:18][C][fingerprint_grow:563]:     Current Value: 255
[09:49:18][C][fingerprint_grow:566]:   Last Finger ID 'Garage Fingerprint Last Finger ID'
[09:49:18][C][fingerprint_grow:566]:     State Class: ''
[09:49:18][C][fingerprint_grow:566]:     Unit of Measurement: ''
[09:49:18][C][fingerprint_grow:566]:     Accuracy Decimals: 0
[09:49:18][C][fingerprint_grow:566]:     Icon: 'mdi:account'
[09:49:18][C][fingerprint_grow:567]:     Current Value: 4294967295
[09:49:18][C][fingerprint_grow:570]:   Last Confidence 'Garage Fingerprint Last Confidence'
[09:49:18][C][fingerprint_grow:570]:     State Class: ''
[09:49:18][C][fingerprint_grow:570]:     Unit of Measurement: ''
[09:49:18][C][fingerprint_grow:570]:     Accuracy Decimals: 0
[09:49:18][C][fingerprint_grow:570]:     Icon: 'mdi:account-check'
[09:49:18][C][fingerprint_grow:571]:     Current Value: 4294967295
[09:49:18][E][component:085]:   Component fingerprint_grow is marked FAILED: 
[09:49:18][C][rtttl:030]: Rtttl:
[09:49:18][C][rtttl:031]:   Gain: 1.000000
[09:49:18][C][rotary_encoder:164]: Rotary Encoder 'GS Rotary Encoder'
[09:49:18][C][rotary_encoder:164]:   State Class: ''
[09:49:18][C][rotary_encoder:164]:   Unit of Measurement: 'steps'
[09:49:18][C][rotary_encoder:164]:   Accuracy Decimals: 0
[09:49:18][C][rotary_encoder:164]:   Icon: 'mdi:rotate-right'
[09:49:18][C][rotary_encoder:165]:   Pin A: GPIO13
[09:49:18][C][rotary_encoder:166]:   Pin B: GPIO14
[09:49:18][C][rotary_encoder:180]:   Restore Mode: Restore (Defaults to zero)
[09:49:18][C][rotary_encoder:184]:   Resolution: 1 Pulse Per Cycle
[09:49:18][C][bh1750.sensor:118]: BH1750 'BH1750 Illuminance'
[09:49:18][C][bh1750.sensor:118]:   Device Class: 'illuminance'
[09:49:18][C][bh1750.sensor:118]:   State Class: 'measurement'
[09:49:18][C][bh1750.sensor:118]:   Unit of Measurement: 'lx'
[09:49:18][C][bh1750.sensor:118]:   Accuracy Decimals: 1
[09:49:18][C][bh1750.sensor:119]:   Address: 0x23
[09:49:18][E][bh1750.sensor:121]: Communication with BH1750 failed!
[09:49:18][C][bh1750.sensor:124]:   Update Interval: 60.0s
[09:49:18][E][component:085]:   Component bh1750.sensor is marked FAILED: 
[09:49:18][C][captive_portal:089]: Captive Portal:
[09:49:18][C][mdns:120]: mDNS:
[09:49:18][C][mdns:121]:   Hostname: garagentorsteuerung
[09:49:18][C][esphome.ota:073]: Over-The-Air updates:
[09:49:18][C][esphome.ota:074]:   Address: garagentorsteuerung.local:3232
[09:49:18][C][esphome.ota:075]:   Version: 2
[09:49:19][C][esphome.ota:078]:   Password configured
[09:49:19][C][safe_mode:018]: Safe Mode:
[09:49:19][C][safe_mode:020]:   Boot considered successful after 60 seconds
[09:49:19][C][safe_mode:021]:   Invoke after 10 boot attempts
[09:49:19][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[09:49:19][C][api:170]: API Server:
[09:49:19][C][api:171]:   Address: garagentorsteuerung.local:6053
[09:49:19][C][api:173]:   Using noise encryption: YES
[09:49:21][D][binary_sensor:036]: 'tag4': Sending state ON
[09:49:21][D][pn532:364]: Mifare classic
[09:49:21][E][pn532.mifare_classic:101]: Authentication failed - Block 0x04
[09:49:21][D][main:506]: Tag erkannt
[09:49:21][D][main:117]: Valid NFC tag detected
[09:49:21][D][switch:012]: 'GS Ouput GPIO27' Turning ON.
[09:49:21][D][switch:055]: 'GS Ouput GPIO27': Sending state ON
[09:49:21][D][rtttl:061]: Playing song s
[09:49:21][D][rtttl:391]: State changed from STATE_STOPPED to STATE_RUNNING
[09:49:21][D][light:036]: 'NFC LED' Setting:
[09:49:21][D][light:047]:   State: ON
[09:49:21][D][light:051]:   Brightness: 100%
[09:49:21][D][light:059]:   Red: 0%, Green: 100%, Blue: 0%
[09:49:21][D][light:078]:   Flash length: 0.5s
[09:49:21][D][pn532:379]: Waiting to read next tag
[09:49:21][W][component:257]: Component pn532 took a long time for an operation (176 ms).
[09:49:21][W][component:258]: Components should block for at most 30 ms.
[09:49:21][D][rtttl:391]: State changed from STATE_RUNNING to STATE_STOPPED
[09:49:21][D][rtttl:367]: Playback finished
[09:49:22][D][text_sensor:064]: 'RFID Tag': Sending state 'removed'
[09:49:22][D][switch:016]: 'GS Ouput GPIO27' Turning OFF.
[09:49:22][D][switch:055]: 'GS Ouput GPIO27': Sending state OFF
[09:49:22][D][text_sensor:064]: 'RFID Tag': Sending state '52-48-4D-05'
[09:49:23][D][binary_sensor:036]: 'tag4': Sending state OFF
[09:49:43][D][binary_sensor:036]: 'tag3': Sending state ON
[09:49:43][D][pn532:364]: Mifare classic
[09:49:43][E][pn532.mifare_classic:101]: Authentication failed - Block 0x04
[09:49:43][D][main:506]: Tag erkannt
[09:49:43][D][main:117]: Valid NFC tag detected
[09:49:43][D][switch:012]: 'GS Ouput GPIO27' Turning ON.
[09:49:43][D][switch:055]: 'GS Ouput GPIO27': Sending state ON
[09:49:43][D][rtttl:061]: Playing song s
[09:49:43][D][rtttl:391]: State changed from STATE_STOPPED to STATE_RUNNING
[09:49:43][D][light:036]: 'NFC LED' Setting:
[09:49:43][D][light:047]:   State: ON
[09:49:43][D][light:051]:   Brightness: 100%
[09:49:43][D][light:059]:   Red: 0%, Green: 100%, Blue: 0%
[09:49:43][D][light:078]:   Flash length: 0.5s
[09:49:43][D][pn532:379]: Waiting to read next tag
[09:49:43][D][rtttl:391]: State changed from STATE_RUNNING to STATE_STOPPED
[09:49:43][D][rtttl:367]: Playback finished
[09:49:44][D][text_sensor:064]: 'RFID Tag': Sending state 'removed'
[09:49:44][D][switch:016]: 'GS Ouput GPIO27' Turning OFF.
[09:49:44][D][switch:055]: 'GS Ouput GPIO27': Sending state OFF
[09:49:44][D][text_sensor:064]: 'RFID Tag': Sending state 'E4-36-B7-01'
[09:49:45][D][binary_sensor:036]: 'tag3': Sending state OFF
[09:49:48][D][binary_sensor:036]: 'tag0': Sending state ON
[09:49:48][D][pn532:364]: Mifare classic
[09:49:48][E][nfc:058]: Error, Can't decode message length.
[09:49:48][D][main:506]: Tag erkannt
[09:49:48][D][main:117]: Valid NFC tag detected
[09:49:48][D][switch:012]: 'GS Ouput GPIO27' Turning ON.
[09:49:48][D][switch:055]: 'GS Ouput GPIO27': Sending state ON
[09:49:48][D][rtttl:061]: Playing song s
[09:49:48][D][rtttl:391]: State changed from STATE_STOPPED to STATE_RUNNING
[09:49:48][D][light:036]: 'NFC LED' Setting:
[09:49:48][D][light:047]:   State: ON
[09:49:48][D][light:051]:   Brightness: 100%
[09:49:48][D][light:059]:   Red: 0%, Green: 100%, Blue: 0%
[09:49:48][D][light:078]:   Flash length: 0.5s
[09:49:48][D][pn532:379]: Waiting to read next tag
[09:49:48][D][rtttl:391]: State changed from STATE_RUNNING to STATE_STOPPED
[09:49:48][D][rtttl:367]: Playback finished
[09:49:49][D][text_sensor:064]: 'RFID Tag': Sending state 'removed'
[09:49:49][D][switch:016]: 'GS Ouput GPIO27' Turning OFF.
[09:49:49][D][switch:055]: 'GS Ouput GPIO27': Sending state OFF
[09:49:49][D][text_sensor:064]: 'RFID Tag': Sending state '01-02-03-04'
[09:49:50][D][binary_sensor:036]: 'tag0': Sending state OFF
[09:50:06][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[09:50:06][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:50:06][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:52:07][D][main:1137]: Turned Clockwise
[09:52:07][D][main:1143]: Turned Anticlockwise
[09:52:07][D][main:1137]: Turned Clockwise
[09:52:07][D][main:1143]: Turned Anticlockwise
[09:52:07][D][sensor:094]: 'GS Rotary Encoder': Sending state 1620.00000 steps with 0 decimals of accuracy
[09:52:07][D][main:1137]: Turned Clockwise
[09:52:08][D][main:1137]: Turned Clockwise
[09:52:08][D][main:1137]: Turned Clockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][sensor:094]: 'GS Rotary Encoder': Sending state 1607.00000 steps with 0 decimals of accuracy
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][sensor:094]: 'GS Rotary Encoder': Sending state 1597.00000 steps with 0 decimals of accuracy
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:22][D][main:1143]: Turned Anticlockwise
[09:52:23][D][main:1143]: Turned Anticlockwise
[09:52:23][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:52:23][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][sensor:094]: 'GS Rotary Encoder': Sending state 1593.00000 steps with 0 decimals of accuracy
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][sensor:094]: 'GS Rotary Encoder': Sending state 1587.00000 steps with 0 decimals of accuracy
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][main:1143]: Turned Anticlockwise
[09:52:45][D][main:1143]: Turned Anticlockwise
WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: [Errno 104] Connection reset by peer
INFO Processing unexpected disconnect from ESPHome API for garagentorsteuerung @ 192.168.1.181
WARNING Disconnected from API
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.008s
WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1)
WARNING Can't connect to ESPHome API for garagentorsteuerung @ 192.168.1.181: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1) (EncryptionHelloAPIError)
INFO Trying to connect to garagentorsteuerung @ 192.168.1.181 in the background
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.031s
WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1)
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.039s
WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1)
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 0.041s
WARNING garagentorsteuerung @ 192.168.1.181: Connection error occurred: garagentorsteuerung @ 192.168.1.181: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2025.5.1)
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 2.110s
INFO Successful handshake with garagentorsteuerung @ 192.168.1.181 in 0.203s

To add - here is my full YAML

#ESPHOME Garagentorsteuerung
#Stand 28.05.2025
# Konfiguration:

# GPIO
#  Output
#    10 Buzzer
#    25 Heartbeat LED
#    26 Relay # Garagentormotor
#    27 Relay # Light
#    32 NFC Activity LED
#  Input
#    05 Fingerprint Touch Activate
#    18 Fingerprint Touch Power  <- Ändere auf GPIO12+++
#    13 Rotary Encode # cable white
#    14 Rotary Encode # cable green
#    34 Reed Relay # Open Endstop
#    35 Reed Relay # Closed Endstop
#  BUSSES (Input & Output)
#    21 I2C SDA
#    22 I2C SCL
#    16 UART rx # cable yellow 
#    17 UART tx # cable green 

# UART 
#   -device
#     Fingerprint Reader R503 (R307)

# NFC Reader (I2C)
#	  - devices
#     Luminescent sensor bh1750 0x23
#     Temp/Feutigkeit SHT45 # demnÀchst
#     NFC Reader PN532-Mod #adresse 0x24
#       Tags
#           HausschlĂŒssel Gelb: FE-4C-FD-EC
#           Rainer Uhr: 01-02-03-04
#           Blauer Tag #1: E4-36-B7-01
#           Rainer Pixel:  08-72-45-89 
#			Tag Karte weiss: 52-48-4D-05
#     

# # ----- VSPI = SP3  Alternative fĂŒr I2C NFC Reader
# # GPIO
# #  23 MOSI
# #  19 MISO
# #  18 SCLK = CLK
# #  5  CS = SS


esphome:
  name: garagentorsteuerung
  friendly_name: Garagentorsteuerung
  on_boot:
    priority: -100
    then:
      - output.turn_on: StatusLED_slow_blink
      - output.set_level:
          id: StatusLED_slow_blink
          level: "50%"

esp32:
  # https://registry.platformio.org/platforms/platformio/espressif32/boards?version=5.3.0
  board: az-delivery-devkit-v4
  framework:
    type: arduino

# Enable logging
logger: 
    level: debug # keep empty otherwise

# Enable Home Assistant API
api:
  encryption:
    key: !secret GS_api_key
  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: enroll_next # Idea by Ralf KlĂŒber (thanks!)
    variables:
      num_scans: int
    then:
      - fingerprint_grow.enroll:
          finger_id: !lambda 'return id(fingerprint_count).state;'
          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:

ota:
  - platform: esphome
    password: !secret GS_ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "GSFallbackHotspot"
    password: !secret GS_ap_password

captive_portal:

# https://esphome.io/components/i2c
# https://lastminuteengineers.com/esp32-pinout-reference/
i2c:
  - id: i2c0
    sda: GPIO21
    scl: GPIO22
    scan: true  
    frequency: 100kHz # 10 kHz Minimale Frequenz möglich-------------------------------

# https://github.com/esphome/esphome-docs/blob/34bd06ca7c4362a41791c2a6070a4a48d09cb5ad/components/sensor/sht4x.rst  
# Address 0x70
# https://esphome.io/components/sensor/bh1750
# Address 0x23
# https://esphome.io/components/sensor/tof10120.html
# Address: 0x52
# Outputs
# https://esphome.io/components/switch/gpio.html
# Inputs
# https://esphome.io/components/binary_sensor/gpio.html#


# -------------------------------
# https://esphome.io/components/binary_sensor/pn532.html

pn532_i2c: # NFC Reader
  update_interval: 1s
  on_tag: 
    - logger.log: "Tag erkannt"
    - if:
        condition:
          or:
          - binary_sensor.is_on: tag0
          - binary_sensor.is_on: tag1
          - binary_sensor.is_on: tag2
          - binary_sensor.is_on: tag3
          - binary_sensor.is_on: tag4
        then: #this is where you would code your actions
          - logger.log: "Valid NFC tag detected" 
          - switch.turn_on: GS_Ouput_GPIO27
          - rtttl.play: s:d=8,o=4,b=200:c #https://corax89.github.io/esp8266Game/soundEditor.html
          - light.turn_on:
              id: activity_led
              brightness: 100%
              red: 0%
              green: 100%
              blue: 0%
              flash_length: 500ms
          - delay: 1s
          - switch.turn_off: GS_Ouput_GPIO27  
        else:
          - logger.log: "Invalid NFC tag detected" 
          - rtttl.play: s:d=8,o=4,b=400:16c,p,16c #https://corax89.github.io/esp8266Game/soundEditor.html
          - light.turn_on:
              id: activity_led
              brightness: 100%
              red: 100%
              green: 0%
              blue: 0%
              flash_length: 500ms
    - text_sensor.template.publish:
        id: rfid_tag
        state: !lambda 'return x;'
    - homeassistant.tag_scanned: !lambda |-
        return x;
  on_tag_removed:
      then:
      - text_sensor.template.publish:
          id: rfid_tag
          state: 'removed' # !lambda 'return x;'

# -------------------------------

#--------------------------------
# https://community.home-assistant.io/t/garage-fingerprint-sensor/312977
# https://esphome.io/components/fingerprint_grow.html
uart:
  tx_pin: GPIO17 #green
  rx_pin: GPIO16 # yellow
  baud_rate: 57600 #115200 does not work!

fingerprint_grow: # fingerprint reader
  sensing_pin: GPIO5 # blue
  update_interval: 0.5s #https://github.com/esphome/issues/issues/5608
  sensor_power_pin:
    number: GPIO18 # white 
    inverted: true
  idle_period_to_sleep: 5s
  on_finger_scan_matched:
    - switch.turn_on: GS_Ouput_GPIO27
    - fingerprint_grow.aura_led_control:
        state: BREATHING
        speed: 200
        color: GREEN
        count: 1
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Authorized finger"
    - rtttl.play: s:d=8,o=4,b=200:c #https://corax89.github.io/esp8266Game/soundEditor.html
    - delay: 1s
    - switch.turn_off: GS_Ouput_GPIO27
  on_finger_scan_unmatched:
    - fingerprint_grow.aura_led_control:
        state: FLASHING
        speed: 25
        color: RED #BLUE for R307
        count: 2
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Unauthorized finger"
    - rtttl.play: s:d=8,o=4,b=400:16c,p,16c #https://corax89.github.io/esp8266Game/soundEditor.html
  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"
  - platform: template
    name: "RFID Tag"
    id: rfid_tag



#--------------------------------------------------
# Output
# https://lastminuteengineers.com/esp32-pinout-reference/

output:
  - platform: gpio
    pin: GPIO27
    id: 'GPIO027'
  - platform: gpio
    pin: GPIO26
    id: 'GPIO026'
  - platform: slow_pwm
    pin: GPIO25
    id: StatusLED_slow_blink
    period: 2s
  - platform: ledc
    pin: GPIO10
    id: rtttl_out
switch:
  - platform: output
    name: "GS Ouput GPIO27"
    id: GS_Ouput_GPIO27
    output: 'GPIO027'
  - platform: output
    name: "GS Output GPIO26"
    id: GS_Ouput_GPIO26
    output: 'GPIO026'


# Inputs
binary_sensor:
  - platform: gpio
    pin: GPIO34
    name: "GS Input DPIO34"
    id: GS_Input_GPIO34
    device_class: door
    on_release:  # change from  logic 1 to 0, "on_press" is 0 to 1
      then: 
        - sensor.rotary_encoder.set_value: 
            id: GS_Rotary_Encoder
            value: 0
      # - below: 0.5 # or reset below bottom end stop
      #   then:
      #     - sensor.rotary_encoder.set_value: 
      #         id: GS_Rotary_Encoder
      #         value: 0
  - platform: gpio
    pin: GPIO35
    name: "GS Input DPIO35"
    id: GS_Input_GPIO35
    device_class: door
  - platform: pn532
    uid: 01-02-03-04 # Uhr Rainer
    id: tag0
  - platform: pn532
    uid: 08-72-45-89 # Rainer Pixel
    id: tag1
  - platform: pn532
    uid: FE-4C-FD-EC # HausschlĂŒssel gelb
    id: tag2
  - platform: pn532
    uid: E4-36-B7-01 # Blauer Tag
    id: tag3
  - platform: pn532
    uid: 52-48-4D-05 # Tag Karte weiss
    id: tag4


# PIEZO buzzer


rtttl:
  output: rtttl_out
  id: NFC_rtttl
  gain: 100%

sensor:
  - platform: rotary_encoder
    name: "GS Rotary Encoder"
    id: GS_Rotary_Encoder
#    pin_a: GPIO13 # white
#    pin_b: GPIO14 # green
    pin_a: 
      number: GPIO13 # white
      mode:
        input: true
        pullup: true
    pin_b: 
      number: GPIO14 # green
      mode:
        input: true
        pullup: true
    on_clockwise:
      - logger.log: "Turned Clockwise"
    on_anticlockwise:
      - logger.log: "Turned Anticlockwise"
    filters:
    - or:
      - throttle: 30s
      - delta: 10
  - platform: bh1750
    name: "BH1750 Illuminance"
    id: GS_I2C_BH1750_Illuminance
    address: 0x23
    update_interval: 60s
#sensor:
  - platform: fingerprint_grow
    fingerprint_count:
      name: "Garage Fingerprint Count"
      id: 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"

# Configure LED
light:
- platform: neopixelbus
  variant: WS2812
  pin: GPIO32
  num_leds: 1
  flash_transition_length: 500ms
  type: GRB
  id: activity_led
  name: "NFC LED"
  restore_mode: ALWAYS_OFF

It’s related to the 2025.5.X update. With the 2025.04.02 version, the I2C interface has been running without issues so far. I haven’t yet checked whether esphome has changed anything on the I2C interface with the 2025.05.X update.

@ kallejoken

I’m running: 2025.5.3

Have you seen also Issues with the 2025.05.x update wrt. I2C?

I’m seeing now the error. “Component pn532 took a long time for an operation (2016 ms).” and “Requesting tag read failed”

Full Log

INFO ESPHome 2025.5.1
INFO Reading configuration /config/esphome/garagentorsteuerung.yaml...
WARNING GPIO5 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING Pin 10 (9-10) might already be used by the flash interface in QUAD IO flash mode.
INFO Generating C++ source...
INFO Compiling app...
Processing garagentorsteuerung (board: az-delivery-devkit-v4; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
Library Manager: Installing SPI
INFO Installing SPI
HARDWARE: ESP32 240MHz, 520KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.3.0
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- Wire @ 2.0.0
|-- NeoPixelBus @ 2.7.3
|-- noise-c @ 0.1.6
Compiling .pioenvs/garagentorsteuerung/src/main.cpp.o
Linking .pioenvs/garagentorsteuerung/firmware.elf
RAM:   [=         ]   7.8% (used 41788 bytes from 532480 bytes)
Flash: [======    ]  57.8% (used 1061493 bytes from 1835008 bytes)
Building .pioenvs/garagentorsteuerung/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/garagentorsteuerung/firmware.bin"], [".pioenvs/garagentorsteuerung/firmware.elf"])
SHA digest in image updated
Wrote 0x114900 bytes to file /data/build/garagentorsteuerung/.pioenvs/garagentorsteuerung/firmware.factory.bin, ready to flash to offset 0x0
esp32_copy_ota_bin([".pioenvs/garagentorsteuerung/firmware.bin"], [".pioenvs/garagentorsteuerung/firmware.elf"])
========================= [SUCCESS] Took 16.78 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.1.181 port 3232...
INFO Connected to 192.168.1.181
INFO Uploading /data/build/garagentorsteuerung/.pioenvs/garagentorsteuerung/firmware.bin (1067264 bytes)
Uploading: [============================================================] 100% Done...

INFO Upload took 7.37 seconds, waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 192.168.1.181 using esphome API
INFO Successfully connected to garagentorsteuerung @ 192.168.1.181 in 11.292s
INFO Successful handshake with garagentorsteuerung @ 192.168.1.181 in 0.105s
[10:28:58][I][app:115]: ESPHome version 2025.5.1 compiled on May 28 2025, 10:28:23
[10:28:58][C][wifi:600]: WiFi:
[10:28:58][C][wifi:428]:   Local MAC: A0:A3:B3:26:2E:BC
[10:28:58][C][wifi:433]:   SSID: '217x205'[redacted]
[10:28:58][C][wifi:436]:   IP Address: 192.168.1.181
[10:28:58][C][wifi:440]:   BSSID: 44:4E:6D:14:E2:24[redacted]
[10:28:58][C][wifi:441]:   Hostname: 'garagentorsteuerung'
[10:28:58][C][wifi:443]:   Signal strength: -27 dB ▂▄▆█
[10:28:58][C][wifi:447]:   Channel: 1
[10:28:58][C][wifi:448]:   Subnet: 255.255.255.0
[10:28:58][C][wifi:449]:   Gateway: 192.168.1.1
[10:28:58][C][wifi:450]:   DNS1: 192.168.1.1
[10:28:58][C][wifi:451]:   DNS2: 0.0.0.0
[10:28:58][C][logger:224]: Logger:
[10:28:58][C][logger:225]:   Max Level: DEBUG
[10:28:58][C][logger:226]:   Initial Level: DEBUG
[10:28:58][C][logger:228]:   Log Baud Rate: 115200
[10:28:58][C][logger:229]:   Hardware UART: UART0
[10:28:58][C][logger:233]:   Task Log Buffer Size: 768
[10:28:58][C][i2c.arduino:071]: I2C Bus:
[10:28:58][C][i2c.arduino:072]:   SDA Pin: GPIO21
[10:28:58][C][i2c.arduino:073]:   SCL Pin: GPIO22
[10:28:58][C][i2c.arduino:074]:   Frequency: 100000 Hz
[10:28:58][C][i2c.arduino:086]:   Recovery: bus successfully recovered
[10:28:58][I][i2c.arduino:096]: Results from i2c bus scan:
[10:28:58][I][i2c.arduino:102]: Found i2c device at address 0x24
[10:28:58][C][uart.arduino_esp32:151]: UART Bus 1:
[10:28:58][C][uart.arduino_esp32:152]:   TX Pin: GPIO17
[10:28:58][C][uart.arduino_esp32:153]:   RX Pin: GPIO16
[10:28:58][C][uart.arduino_esp32:155]:   RX Buffer Size: 256
[10:28:58][C][uart.arduino_esp32:157]:   Baud Rate: 57600 baud
[10:28:58][C][uart.arduino_esp32:158]:   Data Bits: 8
[10:28:58][C][uart.arduino_esp32:159]:   Parity: NONE
[10:28:58][C][uart.arduino_esp32:160]:   Stop bits: 1
[10:28:58][C][template.text_sensor:020]: Template Sensor 'Garage Fingerprint State'
[10:28:58][C][template.text_sensor:020]: Template Sensor 'RFID Tag'
[10:28:58][C][gpio.output:010]: GPIO Binary Output:
[10:28:58][C][gpio.output:011]:   Pin: GPIO27
[10:28:58][C][gpio.output:010]: GPIO Binary Output:
[10:28:58][C][gpio.output:011]:   Pin: GPIO26
[10:28:58][C][output.slow_pwm:055]: Slow PWM Output:
[10:28:58][C][output.slow_pwm:056]:   Pin: GPIO25
[10:28:58][C][output.slow_pwm:066]:   Period: 2000 ms
[10:28:58][C][output.slow_pwm:067]:   Restart cycle on state change: NO
[10:28:58][C][ledc.output:180]: LEDC Output:
[10:28:58][C][ledc.output:181]:   Pin GPIO10
[10:28:58][C][ledc.output:182]:   LEDC Channel: 0
[10:28:58][C][ledc.output:183]:   PWM Frequency: 1000.0 Hz
[10:28:58][C][ledc.output:184]:   Phase angle: 0.0°
[10:28:58][C][ledc.output:185]:   Bit depth: 16
[10:28:58][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'GS Input DPIO35'
[10:28:58][C][gpio.binary_sensor:015]:   Device Class: 'door'
[10:28:58][C][gpio.binary_sensor:016]:   Pin: GPIO35
[10:28:58][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'GS Input DPIO34'
[10:28:58][C][gpio.binary_sensor:015]:   Device Class: 'door'
[10:28:58][C][gpio.binary_sensor:016]:   Pin: GPIO34
[10:28:58][C][output.switch:068]: Output Switch 'GS Ouput GPIO27'
[10:28:58][C][output.switch:091]:   Restore Mode: always OFF
[10:28:58][C][output.switch:068]: Output Switch 'GS Output GPIO26'
[10:28:58][C][output.switch:091]:   Restore Mode: always OFF
[10:28:58][C][light:092]: Light 'NFC LED'
[10:28:58][C][light:094]:   Default Transition Length: 1.0s
[10:28:58][C][light:095]:   Gamma Correct: 2.80
[10:28:58][C][pn532:431]: PN532:
[10:28:58][C][pn532:443]:   Update Interval: 1.0s
[10:28:58][C][pn532:446]:   Tag 'tag0'
[10:28:58][C][pn532:446]:   Tag 'tag1'
[10:28:58][C][pn532:446]:   Tag 'tag2'
[10:28:58][C][pn532:446]:   Tag 'tag3'
[10:28:58][C][pn532:446]:   Tag 'tag4'
[10:28:58][C][pn532_i2c:125]:   Address: 0x24
[10:28:58][C][fingerprint_grow:537]: GROW_FINGERPRINT_READER:
[10:28:58][C][fingerprint_grow:538]:   System Identifier Code: 0x0000
[10:28:58][C][fingerprint_grow:540]:   Touch Sensing Pin: GPIO5
[10:28:58][C][fingerprint_grow:542]:   Sensor Power Pin: GPIO18
[10:28:58][C][fingerprint_grow:544]:   Idle Period to Sleep: 5000 ms
[10:28:58][C][fingerprint_grow:548]:   Update Interval: 0.5s
[10:28:58][C][fingerprint_grow:550]:   Fingerprint Count 'Garage Fingerprint Count'
[10:28:58][C][fingerprint_grow:550]:     State Class: ''
[10:28:58][C][fingerprint_grow:550]:     Unit of Measurement: ''
[10:28:58][C][fingerprint_grow:550]:     Accuracy Decimals: 0
[10:28:58][C][fingerprint_grow:550]:     Icon: 'mdi:fingerprint'
[10:28:58][C][fingerprint_grow:551]:     Current Value: 2
[10:28:58][C][fingerprint_grow:554]:   Status 'Garage Fingerprint Status'
[10:28:58][C][fingerprint_grow:554]:     State Class: ''
[10:28:58][C][fingerprint_grow:554]:     Unit of Measurement: ''
[10:28:58][C][fingerprint_grow:554]:     Accuracy Decimals: 0
[10:28:58][C][fingerprint_grow:555]:     Current Value: 4
[10:28:58][C][fingerprint_grow:558]:   Capacity 'Garage Fingerprint Capacity'
[10:28:58][C][fingerprint_grow:558]:     State Class: ''
[10:28:58][C][fingerprint_grow:558]:     Unit of Measurement: ''
[10:28:58][C][fingerprint_grow:558]:     Accuracy Decimals: 0
[10:28:58][C][fingerprint_grow:558]:     Icon: 'mdi:database'
[10:28:58][C][fingerprint_grow:559]:     Current Value: 200
[10:28:58][C][fingerprint_grow:562]:   Security Level 'Garage Fingerprint Security Level'
[10:28:58][C][fingerprint_grow:562]:     State Class: ''
[10:28:58][C][fingerprint_grow:562]:     Unit of Measurement: ''
[10:28:58][C][fingerprint_grow:562]:     Accuracy Decimals: 0
[10:28:58][C][fingerprint_grow:562]:     Icon: 'mdi:security'
[10:28:58][C][fingerprint_grow:563]:     Current Value: 3
[10:28:58][C][fingerprint_grow:566]:   Last Finger ID 'Garage Fingerprint Last Finger ID'
[10:28:58][C][fingerprint_grow:566]:     State Class: ''
[10:28:58][C][fingerprint_grow:566]:     Unit of Measurement: ''
[10:28:58][C][fingerprint_grow:566]:     Accuracy Decimals: 0
[10:28:58][C][fingerprint_grow:566]:     Icon: 'mdi:account'
[10:28:58][C][fingerprint_grow:567]:     Current Value: 4294967295
[10:28:58][C][fingerprint_grow:570]:   Last Confidence 'Garage Fingerprint Last Confidence'
[10:28:58][C][fingerprint_grow:570]:     State Class: ''
[10:28:58][C][fingerprint_grow:570]:     Unit of Measurement: ''
[10:28:58][C][fingerprint_grow:570]:     Accuracy Decimals: 0
[10:28:58][C][fingerprint_grow:570]:     Icon: 'mdi:account-check'
[10:28:59][C][fingerprint_grow:571]:     Current Value: 4294967295
[10:28:59][C][rtttl:030]: Rtttl:
[10:28:59][C][rtttl:031]:   Gain: 1.000000
[10:28:59][C][rotary_encoder:164]: Rotary Encoder 'GS Rotary Encoder'
[10:28:59][C][rotary_encoder:164]:   State Class: ''
[10:28:59][C][rotary_encoder:164]:   Unit of Measurement: 'steps'
[10:28:59][C][rotary_encoder:164]:   Accuracy Decimals: 0
[10:28:59][C][rotary_encoder:164]:   Icon: 'mdi:rotate-right'
[10:28:59][C][rotary_encoder:165]:   Pin A: GPIO13
[10:28:59][C][rotary_encoder:166]:   Pin B: GPIO14
[10:28:59][C][rotary_encoder:180]:   Restore Mode: Restore (Defaults to zero)
[10:28:59][C][rotary_encoder:184]:   Resolution: 1 Pulse Per Cycle
[10:28:59][C][bh1750.sensor:118]: BH1750 'BH1750 Illuminance'
[10:28:59][C][bh1750.sensor:118]:   Device Class: 'illuminance'
[10:28:59][C][bh1750.sensor:118]:   State Class: 'measurement'
[10:28:59][C][bh1750.sensor:118]:   Unit of Measurement: 'lx'
[10:28:59][C][bh1750.sensor:118]:   Accuracy Decimals: 1
[10:28:59][C][bh1750.sensor:119]:   Address: 0x23
[10:28:59][E][bh1750.sensor:121]: Communication with BH1750 failed!
[10:28:59][C][bh1750.sensor:124]:   Update Interval: 60.0s
[10:28:59][E][component:085]:   Component bh1750.sensor is marked FAILED: 
[10:28:59][C][captive_portal:089]: Captive Portal:
[10:28:59][C][mdns:120]: mDNS:
[10:28:59][C][mdns:121]:   Hostname: garagentorsteuerung
[10:28:59][C][esphome.ota:073]: Over-The-Air updates:
[10:28:59][C][esphome.ota:074]:   Address: garagentorsteuerung.local:3232
[10:28:59][C][esphome.ota:075]:   Version: 2
[10:28:59][C][esphome.ota:078]:   Password configured
[10:28:59][C][safe_mode:018]: Safe Mode:
[10:28:59][C][safe_mode:020]:   Boot considered successful after 60 seconds
[10:28:59][C][safe_mode:021]:   Invoke after 10 boot attempts
[10:28:59][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[10:28:59][C][api:170]: API Server:
[10:28:59][C][api:171]:   Address: garagentorsteuerung.local:6053
[10:28:59][C][api:173]:   Using noise encryption: YES
[10:29:05][D][fingerprint_grow:125]: Scan and match
[10:29:05][D][fingerprint_grow:156]: Getting image 1
[10:29:05][E][fingerprint_grow:509]: Timed out waiting for sensor wake-up
[10:29:05][D][fingerprint_grow:183]: Processing image 1
[10:29:06][I][fingerprint_grow:188]: Processed image 1
[10:29:06][D][fingerprint_grow:134]: Fingerprint matched
[10:29:06][D][sensor:094]: 'Garage Fingerprint Last Finger ID': Sending state 0.00000  with 0 decimals of accuracy
[10:29:06][D][sensor:094]: 'Garage Fingerprint Last Confidence': Sending state 74.00000  with 0 decimals of accuracy
[10:29:06][D][switch:012]: 'GS Ouput GPIO27' Turning ON.
[10:29:06][D][switch:055]: 'GS Ouput GPIO27': Sending state ON
[10:29:06][D][fingerprint_grow:348]: Setting Aura LED
[10:29:06][D][fingerprint_grow:352]: Aura LED set
[10:29:06][D][text_sensor:064]: 'Garage Fingerprint State': Sending state 'Authorized finger'
[10:29:06][D][rtttl:061]: Playing song s
[10:29:06][D][rtttl:391]: State changed from STATE_STOPPED to STATE_RUNNING
[10:29:06][W][component:257]: Component fingerprint_grow took a long time for an operation (1171 ms).
[10:29:06][W][component:258]: Components should block for at most 30 ms.
[10:29:06][D][rtttl:391]: State changed from STATE_RUNNING to STATE_STOPPED
[10:29:06][D][rtttl:367]: Playback finished
[10:29:07][D][switch:016]: 'GS Ouput GPIO27' Turning OFF.
[10:29:07][D][switch:055]: 'GS Ouput GPIO27': Sending state OFF
[10:29:09][D][binary_sensor:036]: 'tag4': Sending state ON
[10:29:09][D][pn532:364]: Mifare classic
[10:29:09][E][pn532.mifare_classic:101]: Authentication failed - Block 0x04
[10:29:09][D][main:506]: Tag erkannt
[10:29:09][D][main:117]: Valid NFC tag detected
[10:29:09][D][switch:012]: 'GS Ouput GPIO27' Turning ON.
[10:29:09][D][switch:055]: 'GS Ouput GPIO27': Sending state ON
[10:29:09][D][rtttl:061]: Playing song s
[10:29:09][D][rtttl:391]: State changed from STATE_STOPPED to STATE_RUNNING
[10:29:09][D][light:036]: 'NFC LED' Setting:
[10:29:09][D][light:047]:   State: ON
[10:29:09][D][light:051]:   Brightness: 100%
[10:29:09][D][light:059]:   Red: 0%, Green: 100%, Blue: 0%
[10:29:09][D][light:078]:   Flash length: 0.5s
[10:29:09][D][pn532:379]: Waiting to read next tag
[10:29:09][W][component:257]: Component pn532 took a long time for an operation (187 ms).
[10:29:09][W][component:258]: Components should block for at most 30 ms.
[10:29:10][D][rtttl:391]: State changed from STATE_RUNNING to STATE_STOPPED
[10:29:10][D][rtttl:367]: Playback finished
[10:29:10][D][text_sensor:064]: 'RFID Tag': Sending state 'removed'
[10:29:10][D][switch:016]: 'GS Ouput GPIO27' Turning OFF.
[10:29:10][D][switch:055]: 'GS Ouput GPIO27': Sending state OFF
[10:29:10][D][text_sensor:064]: 'RFID Tag': Sending state '52-48-4D-05'
[10:29:11][D][binary_sensor:036]: 'tag4': Sending state OFF
[10:29:11][D][fingerprint_grow:533]: Fingerprint sensor is now in sleep mode.
[10:29:12][D][binary_sensor:036]: 'tag4': Sending state ON
[10:29:12][D][pn532:364]: Mifare classic
[10:29:12][E][pn532.mifare_classic:101]: Authentication failed - Block 0x04
[10:29:12][D][main:506]: Tag erkannt
[10:29:12][D][main:117]: Valid NFC tag detected
[10:29:12][D][switch:012]: 'GS Ouput GPIO27' Turning ON.
[10:29:12][D][switch:055]: 'GS Ouput GPIO27': Sending state ON
[10:29:12][D][rtttl:061]: Playing song s
[10:29:12][D][rtttl:391]: State changed from STATE_STOPPED to STATE_RUNNING
[10:29:12][D][light:036]: 'NFC LED' Setting:
[10:29:12][D][light:047]:   State: ON
[10:29:12][D][light:051]:   Brightness: 100%
[10:29:12][D][light:059]:   Red: 0%, Green: 100%, Blue: 0%
[10:29:12][D][light:078]:   Flash length: 0.5s
[10:29:12][D][pn532:379]: Waiting to read next tag
[10:29:13][D][rtttl:391]: State changed from STATE_RUNNING to STATE_STOPPED
[10:29:13][D][rtttl:367]: Playback finished
[10:29:13][D][text_sensor:064]: 'RFID Tag': Sending state 'removed'
[10:29:13][D][switch:016]: 'GS Ouput GPIO27' Turning OFF.
[10:29:13][D][switch:055]: 'GS Ouput GPIO27': Sending state OFF
[10:29:13][D][text_sensor:064]: 'RFID Tag': Sending state '52-48-4D-05'
[10:29:14][D][binary_sensor:036]: 'tag4': Sending state OFF
[10:29:16][D][binary_sensor:036]: 'tag3': Sending state ON
[10:29:16][D][pn532:364]: Mifare classic
[10:29:16][E][pn532.mifare_classic:101]: Authentication failed - Block 0x04
[10:29:16][D][main:506]: Tag erkannt
[10:29:16][D][main:117]: Valid NFC tag detected
[10:29:16][D][switch:012]: 'GS Ouput GPIO27' Turning ON.
[10:29:16][D][switch:055]: 'GS Ouput GPIO27': Sending state ON
[10:29:16][D][rtttl:061]: Playing song s
[10:29:16][D][rtttl:391]: State changed from STATE_STOPPED to STATE_RUNNING
[10:29:16][D][light:036]: 'NFC LED' Setting:
[10:29:16][D][light:047]:   State: ON
[10:29:16][D][light:051]:   Brightness: 100%
[10:29:16][D][light:059]:   Red: 0%, Green: 100%, Blue: 0%
[10:29:16][D][light:078]:   Flash length: 0.5s
[10:29:16][D][pn532:379]: Waiting to read next tag
[10:29:17][D][rtttl:391]: State changed from STATE_RUNNING to STATE_STOPPED
[10:29:17][D][rtttl:367]: Playback finished
[10:29:17][D][text_sensor:064]: 'RFID Tag': Sending state 'removed'
[10:29:17][D][switch:016]: 'GS Ouput GPIO27' Turning OFF.
[10:29:17][D][switch:055]: 'GS Ouput GPIO27': Sending state OFF
[10:29:17][D][text_sensor:064]: 'RFID Tag': Sending state 'E4-36-B7-01'
[10:29:18][D][binary_sensor:036]: 'tag3': Sending state OFF
[10:29:25][W][component:257]: Component pn532 took a long time for an operation (2016 ms).
[10:29:25][W][component:258]: Components should block for at most 30 ms.
[10:29:38][W][pn532:118]: Requesting tag read failed!
[10:29:38][W][component:167]: Component pn532 set Warning flag: unspecified
[10:29:38][W][component:182]: Component pn532 cleared Warning flag
[10:29:40][W][pn532:118]: Requesting tag read failed!
[10:29:40][W][component:167]: Component pn532 set Warning flag: unspecified
[10:29:40][W][component:182]: Component pn532 cleared Warning flag
[10:29:45][W][pn532:118]: Requesting tag read failed!
[10:29:45][W][component:167]: Component pn532 set Warning flag: unspecified
[10:29:46][W][pn532:118]: Requesting tag read failed!
[10:29:46][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[10:29:47][D][esp32.preferences:114]: Saving 1 preferences to flash...
[10:29:47][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[10:29:48][W][pn532:118]: Requesting tag read failed!
[10:29:49][W][pn532:118]: Requesting tag read failed!
[10:29:50][W][pn532:118]: Requesting tag read failed!
[10:29:51][W][pn532:118]: Requesting tag read failed!
[10:29:52][W][pn532:118]: Requesting tag read failed!
[10:29:53][W][pn532:118]: Requesting tag read failed!
[10:29:54][W][pn532:118]: Requesting tag read failed!
[10:29:55][W][pn532:118]: Requesting tag read failed!
[10:29:56][W][pn532:118]: Requesting tag read failed!
[10:29:57][W][pn532:118]: Requesting tag read failed!
[10:29:58][W][pn532:118]: Requesting tag read failed!
[10:29:59][W][pn532:118]: Requesting tag read failed!
[10:30:00][W][pn532:118]: Requesting tag read failed!
[10:30:01][W][pn532:118]: Requesting tag read failed!

Yes, I have the same symptoms with the pn532 and esphome version 2025.5.X - for this reason I have gone back to esphome 2025.4.2 version - the i2c interface works without problems.

I also received the message with the latest esphome version “Component pn532 took a long time for an operation (2016 ms).” and “Requesting tag read failed”

As I don’t have a core backup 25.04.02 - ist there a way to install this somehow?

I mean the esphome addon on 2025.4.2 h, not Home Assistant. I use proxmox and used the recovery method there.

Ah, right - I was just on dog walk and thought - How should HA Core impact the I2C bus - that cannot be !

Now you have clarified that for me - many thanks.

@kallejoken
I’m struggeling to downgrade the ESPHOME version.

I’ve followed this tutorial :
https://www.youtube.com/watch?v=yxbZAv0oYcE&t=2s

and tested out all other steps mentioned in this thread:
https://community.home-assistant.io/t/local-add-on-not-showing-up-in-addon-store/352406/5

I don’t get the local add-on directory show up in the add-on store to install from there.

Do you have an idea?

Many thanks,
Rainer

Didn’t you create a partial backup before updating the addon?

Alternatively, restore only the esphome addon from your full backup - all at your own risk, so make a current backup of your system

Do you have Discord?

Yes, I have Discord. Would you suggest to check on Discord?

Yes I have full backups - but the issue will be the same as I would like to keep my other add-ons and changes since then - I just want to install the ESPHOME add-on and I need a way to install that.