Powiadomienia
Wyczyść wszystko

Home Assistant Wiegand

11 Wpisów
2 Użytkownicy
1 Likes
220 Wyświetleń
pawell32
(@pawell32)
Wpisów: 1200
Guru
Autor tematu
 

cześć,

pytanie następujące: czy ktoś podłączał czytnik z magistralą wiegand do esphome i HA? Przerobiłem już wiele konfiguracji i nie potrafię zaczytać ID karty do HA. Pojawia mi się tylko w logach:

:37:36	[I]	[RAW:026]	
received raw 26 bits, value 3ae116f
16:37:36	[D]	[wiegand:073]	
received 26-bit tag: 14092471
16:37:36	[W]	[wiegand:075]	
invalid parity
16:37:38	[I]	[RAW:026]	
received raw 26 bits, value 19b882c
16:37:38	[D]	[wiegand:073]	
received 26-bit tag: 13485078
16:37:38	[W]	[wiegand:075]	
invalid parity

jednak nie potrafię przerzucić tego np. to sensor_text lub bezpośrednio do systemu.

esp8266.

 
Dodane : 22/01/2024 5:40 pm
Mariusz
(@mariusz-2)
Wpisów: 228
Weteran Donator 2K23
 

Gdybyś podał z jakiej integracji skorzystałeś i jaki jest kod w EspHome, byłoby łatwiej ..

spróbuj tak..

text_sensor:
- platform: custom
  lambda: |-
    auto wiegand = new WiegandReader(D2, D1);
    App.register_component(wiegand);
    return {wiegand};
 
 
 
  text_sensors:
    name: "Karta ID"
    on_value:
      then:
        - homeassistant.tag_scanned: !lambda |-
            return x;
 
Dodane : 22/01/2024 6:15 pm
pawell32
(@pawell32)
Wpisów: 1200
Guru
Autor tematu
 

@mariusz-2 korzystam z tego co oferuje esphome. Znalazłem projekty korzystające z zewnętrznych jednak przy kompilacji wywala się.

Tu mi czyta, tyle że tylko w logach to wiedzę.

esphome:
  name: rfid
  friendly_name: rfid

esp8266:
  board: d1_mini

# Enable logging
logger:

wiegand:
  - id: frontdoor
    d0: D1
    d1: D2
    on_key:
      - lambda: ESP_LOGI("KEY", "received key %d", x);
    on_tag:
      - lambda: ESP_LOGI("TAG", "received tag %s", x.c_str());
      - homeassistant.tag_scanned: !lambda 'return x;'
      - text_sensor.template.publish:
          id: tag
          state: !lambda "return parse_number<float>(x).value();"  
      - homeassistant.tag_scanned: !lambda 'return x.c_str();'
    on_raw:
      - lambda: ESP_LOGI("RAW", "received raw %d bits, value %llx", bits, value);
    
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;
switch:
  - platform: gpio
    name: "relay"
    id: relay
    pin: D4
    restore_mode: ALWAYS_ON

sensor:
  - platform: template
    name: Keypad Code
    id: keyCode    

# Enable Home Assistant API
api:
  encryption:
    key: "BJQ7fSVhzgKzWqNfXRHmZjT75ml6OVaxiVOpVArBvSs="

ota:
  password: "a67dca19c3aa10ca0ab81944dc191556"

wifi:
  ssid: xxxxxx
  password: xxxxxxx

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Rfid Fallback Hotspot"
    password: "GKiuM4ccGnaz"

captive_portal:

web_server:
  local: true    

 
Dodane : 22/01/2024 6:22 pm
Mariusz
(@mariusz-2)
Wpisów: 228
Weteran Donator 2K23
 

Dodane przez: @pawell32

Tu mi czyta, tyle że tylko w logach to wiedzę.

A w interfejsie WEB widzisz ten sensor text ?

 
Dodane : 22/01/2024 6:32 pm
pawell32
(@pawell32)
Wpisów: 1200
Guru
Autor tematu
 

@mariusz-2 tylko tak:

image
 
Dodane : 22/01/2024 6:33 pm
pawell32
(@pawell32)
Wpisów: 1200
Guru
Autor tematu
 

to co podajesz to jest zewnętrzny komponent? (wiegand)

 

 
Dodane : 22/01/2024 6:37 pm
Mariusz
(@mariusz-2)
Wpisów: 228
Weteran Donator 2K23
 

spróbuj i pokaż co masz w logach, zobacz czy po zeskanowaniu w HA w Urządzenia -- Tagi pojawia się zeskanowany tag na liście.

esphome:
  name: rfid
  platform: ESP8266
  board: d1_mini

# Enable logging
logger:

wiegand:
  - id: frontdoor
    d0: D1
    d1: D2
    on_key:
      - lambda: |-
          ESP_LOGI("KEY", "received key %d", x);
    on_tag:
      - lambda: |-
          ESP_LOGI("TAG", "received tag %s", x.c_str());
          homeassistant.tag_scanned: !lambda 'return x.c_str();'
          text_sensor.template.publish:
            id: tag
            state: !lambda "return parse_number<float>(x).value();"
    on_raw:
      - lambda: |-
          ESP_LOGI("RAW", "received raw %d bits, value %llx", bits, value);
    
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;

switch:
  - platform: gpio
    name: "relay"
    id: relay
    pin: D4
    restore_mode: ALWAYS_ON

sensor:
  - platform: template
    name: Keypad Code
    id: keyCode    

# Enable Home Assistant API
api:
  encryption:
    key: "BJQ7fSVhzgKzWqNfXRHmZjT75ml6OVaxiVOpVArBvSs="

ota:
  password: "a67dca19c3aa10ca0ab81944dc191556"

wifi:
  ssid: xxxxxx
  password: xxxxxxx

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Rfid Fallback Hotspot"
    password: "GKiuM4ccGnaz"

captive_portal:

web_server:
  local: true

PS. Czy tego sprzętu używasz ?

https://github.com/towerclimber87/Wiegand-Keypad-V4/tree/main

 

 
Dodane : 22/01/2024 7:08 pm
pawell32
(@pawell32)
Wpisów: 1200
Guru
Autor tematu
 

@mariusz-2 też nie działa

<unicode string>:30:26: error: expected type-specifier before 'WiegandReader'
<unicode string>:32:22: error: could not convert '{wiegand}' from '<brace-enclosed initializer list>' to 'std::vector<esphome::text_sensor::TextSensor*>'
*** [.pioenvs\rfid\src\main.cpp.o] Error 1
 
Dodane : 23/01/2024 8:32 am
pawell32
(@pawell32)
Wpisów: 1200
Guru
Autor tematu
 

Dodane przez: @mariusz-2

https://github.com/towerclimber87/Wiegand-Keypad-V4/tree/main

 

nie, uzywam typowego czytnika z magistralą Wiegand i Wemos D1.

 

 
Dodane : 23/01/2024 8:45 am
Mariusz
(@mariusz-2)
Wpisów: 228
Weteran Donator 2K23
 

Dodane przez: @pawell32

uzywam typowego czytnika z magistralą Wiegand

Nie wiem co jest nie tak, kiedyś bawiłem się krótko, "typowym czytnikiem" Netronixa MW-R8B a może to był CTU-R5RL albo Lectus ARD-SER10-WI, nie pamiętam już, poszukaj w necie może coś na temat Twojego "typowego".

Może ten wątek będzie interesujący .. są przykłady działającej konfiguracji..

https://community.home-assistant.io/t/wiegand-protocol-rfid-readers-known-to-work-with-esphome/356765/60

 
Dodane : 23/01/2024 2:36 pm
pawell32
(@pawell32)
Wpisów: 1200
Guru
Autor tematu
 

@mariusz-2 rozwiązane, przynajmniej częściowo. To co podałeś u mnie nie działa, tnie się na etapie kompilacji. Odnosisz się do komponentu, którego nie zna.

Żadna konfiguracja nie działała i nr karty nie przechodził dalej. Okazało się, że zamieniłem szynę, pomyliłem D0 z D1. Nie zorientowałem się, gdyż w logach prawidłowo czytało karty. Teraz na start mam tagi w Ha.

 
Dodane : 23/01/2024 2:45 pm
Mariusz reacted
Udostępnij: