跳转到内容

NFC 二进制传感器

nfc 二进制传感器平台为您提供一种简单的方法来确定 NFC 标签是否呈现给读取器。标签可以通过以下三种方式之一识别:

  • 通过给定的唯一 ID (uid) — 例如 74-10-37-94
  • 通过给定的 NDEF 标签”名称”,或…
  • 通过标签 NDEF 消息/数据中包含的给定字符串

请注意,此平台目前仅受 PN7150PN716x 支持;您的设备配置中必须存在这些组件之一才能使用它。

# 示例配置条目
binary_sensor:
- platform: nfc
ndef_contains: pulse
name: "NFC 1 标签"
- platform: nfc
tag_id: pulsed
name: "NFC 2 标签"
- platform: nfc
uid: 74-10-37-94
name: "MFC 标签"
  • ndef_contains (可选, 字符串): 必须出现在标签 NDEF 消息中的(子)字符串。不能与 tag_id 和/或 uid 一起使用(下方)。

  • tag_id (可选, 字符串): 标识标签的字符串;实际上是其名称。具体来说,这查找编码到标签 NDEF 记录之一的 Home Assistant URI,然后查找此特定字符串。不能与 ndef_contains 和/或 uid 一起使用。

  • uid (可选, 字符串): NFC 标签的唯一 ID。这是以连字符分隔的十六进制值列表。例如:74-10-37-94。不能与 ndef_contains 和/或 tag_id 一起使用(上方)。

  • 所有其他选项来自 二进制传感器

要为给定的 NFC 标签设置二进制传感器,您必须首先知道其唯一 ID (uid)、标签 ID(如果使用 Home Assistant Companion 应用准备)或其 NDEF 消息中包含的(部分)字符串。

要获取标签的 UID:

  • 设置一个简单的 NFC 组件(如 PN532PN7150PN716x)配置,不带任何二进制传感器。

  • 将 NFC 标签靠近 NFC 读取器。当标签足够接近读取器时,您将在 ESPHome 设备的日志中看到类似以下的消息:

    Read tag type Mifare Classic with UID 1C-E5-E7-A6
  • 然后:

    • 复制此 ID 并使用它创建一个 binary_sensor 条目,如上方配置示例所示,或…

    • 使用标签 ID(在使用 Home Assistant Companion 应用准备时确定)来定义 binary_sensortag_id 参数,如上方所示,或…

    • 选择标签 NDEF 消息中包含的子字符串,并使用它定义 ndef_contains 参数,如上方示例所示。如果存在,标签的 NDEF 记录将出现在日志中上方显示消息的正下方几行。

对每个标签重复此过程。

请注意,由于可以定义 NDEF 消息,此方法更灵活,甚至允许多个卡/标签共享相同的消息。