From b84eb160383d01e15facc1eba923b22a0244fe1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=2E=20=C3=81rkosi=20R=C3=B3bert?= Date: Wed, 18 Jan 2023 02:37:57 +0100 Subject: [PATCH] Documentation for `wiegand` component (#2424) Co-authored-by: Samuel Sieb --- components/wiegand.rst | 77 +++++++++++++++++++++++++++++++++++++++++ images/wiegand.jpg | Bin 0 -> 6947 bytes index.rst | 1 + 3 files changed, 78 insertions(+) create mode 100644 components/wiegand.rst create mode 100644 images/wiegand.jpg diff --git a/components/wiegand.rst b/components/wiegand.rst new file mode 100644 index 000000000..c59c92951 --- /dev/null +++ b/components/wiegand.rst @@ -0,0 +1,77 @@ +Wiegand keypad and tag reader +============================= + +.. seo:: + :description: Wiegand-standard key input and card/tag reader panel + :image: wiegand.jpg + +The ``wiegand`` component allows you to integrate Wiegand-standard key +input and card or tag reader panels in Home Assistant. + +.. figure:: ../images/wiegand.jpg + :align: center + + S20-ID keypad and tag reader + + +.. note:: + + Some keypads are preconfigured by the factory to act as Wiegand input + devices. In order to work with this component, they may need to + be reconfigured to act as *Wiegand 26 output* or *Wiegand 34 output* + devices. + + +Component +--------- + +.. code-block:: yaml + + # Example configuration entry + wiegand: + - id: mykeypad + d0: GPIO5 + d1: GPIO4 + on_key: + - lambda: ESP_LOGI("KEY", "received key %d", x); + on_tag: + - lambda: ESP_LOGI("TAG", "received tag %s", x.c_str()); + on_raw: + - lambda: ESP_LOGI("RAW", "received raw %d bits, value %llx", bits, value); + + + +Configuration variables: + +- **id** (*Optional*, :ref:`config-id`): Set the ID of this device for use in lambdas. +- **d0** (**Required**, :ref:`Pin Schema `): The pin where the ``D0`` output + of the Wiegand's interface connects. +- **d1** (**Required**, :ref:`Pin Schema `): The pin where the ``D1`` output + of the Wiegand's interface connects. + + +Automations: +------------ + +- **on_key** (*Optional*, :ref:`Automation `): An automation to perform + when a key has been pressed on the pad. The key is in a variable called ``x``. +- **on_tag** (*Optional*, :ref:`Automation `): An automation to perform + when a Wiegand-compatible card or a tag has been read by the device. The tag code is + in a variable called ``x``. +- **on_raw** (*Optional*, :ref:`Automation `): An automation to perform + for any data sent by the device. The value is in a variable called ``value``, the number of + bits is in a variable called ``bits``. Note that this will include parity bits as well and + no parity checking is done. + + +.. note:: + + Automatic handling of multiple keys (e.g. PIN code entry) is possible with the + the :ref:`Key Collector ` component. + + +See Also +-------- + +- :doc:`/components/key_collector` +- :ghedit:`Edit` diff --git a/images/wiegand.jpg b/images/wiegand.jpg new file mode 100644 index 0000000000000000000000000000000000000000..481c69123fef39910d7c630dc6af789ff0a65669 GIT binary patch literal 6947 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 P9MHr1HJ)RXu4n%X?2r%x literal 0 HcmV?d00001 diff --git a/index.rst b/index.rst index a8a2ecf8d..23613f934 100644 --- a/index.rst +++ b/index.rst @@ -677,6 +677,7 @@ Misc Components Display Menu Core, components/display_menu/index, folder-open.svg LCD Menu, components/display_menu/lcd_menu, lcd_menu.png Matrix Keypad, components/matrix_keypad, matrix_keypad.jpg + Wiegand Reader, components/wiegand, wiegand.jpg HTTP Request, components/http_request, connection.svg mDNS, components/mdns, radio-tower.svg