Czytnik Wiegand i ESPHome

witam w klocki te wszystkie nie jestem za mocny ale udało się mi coś poskładać a mianowicie na esphome uruchomić czytnik wiegand ze strony : GitHub - avwuff/esphome-wiegand: Simple ESPHome Wiegand custom component

w homeassistant podaje numery kart. ale chciałbym zautomatyzować w samym czytniku stałe karty które mają otworzyć zamek. proszę o pomoc

jak poprawnie napisać wywołanie i żeby ta sama karta po zamknięciu zamka ponownie mogła otworzyć ( czyli musiałby się zresetować bufor aby zmiana była wykrywalna)

esphome:
  includes:
    - wiegand_device.h
  name: zamek-czytnik-test1-wiegand1


  platform: ESP8266
  board: nodemcuv2




#esp8266:
 # board: esp01_1m

# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
  password: "e2cbd59722b133ed3d5693bea037119b"
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Czytnik-Test1-Wiegand1"
    password: "R1bSQ39Hx6vO"
captive_portal:

sensor:
- platform: custom
  lambda: |-
    auto wiegand = new WiegandReader(D1, D2);
    App.register_component(wiegand);
    return {wiegand};

  sensors:
    name: "Card ID1"
    on_value:
      then:
        - homeassistant.tag_scanned: !lambda |-
            char buf[16];
            sprintf(buf, "%.0f", x);
            std::string s = buf;
            return s;        
            
    on_value_range:
      above: 10847310
      below: 10847310
      then:
        - switch.turn_on: relay_1        
        - delay: 5s
        - switch.turn_off: relay_1  

#  numer karty jako akceptowana nr 1: 247334
#  numer karty jako akceptowana nr 2: 7580334
#  numer karty jako akceptowana nr 3: 10847310
switch:  
  - platform: gpio
    name: "zamek drzwi nr1"
    pin: D5
    id: "relay_1"

próbuję uchwycić automatyzację za pomocą esp z czytnikiem wiegand. Chcę, żeby działało bez dostępu HA.
proszę o pomoc, jak powinien wyglądać kod.

w tej chwili wysyła numer karty do HA i można zrobić trochę automatyzacji w węźle-RED, ale chcę, aby działał niezależnie od dostępu HA.

# Text sensor to return code or card ID
text_sensor:
- platform: custom
  lambda: |-
    auto wiegand = new WiegandReader(D2, D1);
    App.register_component(wiegand);
    return {wiegand};
 
 
 
  text_sensors:
    name: "Card ID"
    on_value:
      then:
        - homeassistant.tag_scanned: !lambda |-
            return x;   
            

Mam tylko na myśli wpisanie warunku, który będzie porównywał się z wgranym numerem karty i aktywuje przekaźnik. następnie usunie z pamięci, aby zrobić to samo przy następnym czytaniu tej samej karty lub innej

   if wiegadd = 123234
       then:
         - output.turn_on: "relay_1"
         - delay: 1 min
         - output.turn_off: "relay_1
        Wiegand == 0

Umożliwi to wykorzystanie czytnika jako samodzielnego dostępu do nadzorowanego pomieszczenia.
Nie znam się na programowaniu, proszę o pomoc.

# Text sensor to return code or card ID
text_sensor:
- platform: custom
  lambda: |-
    auto wiegand = new WiegandReader(D2, D1);
    App.register_component(wiegand);
    return {wiegand};
 
  text_sensors:
    name: "Card ID"
    on_value:
      then:
        - homeassistant.tag_scanned: !lambda |-
            return x;

      then:
        - if:
          condition:
            
          WiegandReader.state:
          #    tag_scanned.state:
           #   id: my_text_sensor22
          state: '2800215'      
            then:
              - switch.turn_on: relay_1
              - delay: 10s
              - switch.turn_off: relay_1           

tu też podaje mi że jest niepoprawnie.

Użyłem poniższego kodu.
https://github.com/AlexandreUSA/esphome-wiegand-reader/blob/f3bc228d8eb90444ae9d14ae6d8abd198b7ca8fa/garagedoors.yaml