NFC 二进制传感器
nfc 二进制传感器平台提供了一种简便的方式来判断 NFC 标签是否被呈现在读卡器上。
标签可以通过以下三种方式之一进行识别:
- 通过给定的唯一 ID(
uid)——例如74-10-37-94 - 通过给定的 NDEF 标签“名称”,或者……
- 通过标签的 NDEF 消息/数据中包含的给定字符串
请注意,当前此平台仅支持 PN7150 和 PN716x; 在你的设备配置中必须存在这些组件之一,才能使用它。
# 示例配置条目binary_sensor: - platform: nfc ndef_contains: pulse name: "NFC 1 Tag" - platform: nfc tag_id: pulsed name: "NFC 2 Tag" - platform: nfc uid: 74-10-37-94 name: "MFC Tag"-
ndef_contains(可选,string):必须出现在标签 NDEF 消息中的(子)字符串。不能与
tag_id和/或uid(下文)一起使用。 -
tag_id(可选,string):标识标签的字符串;实际上是它的名称。具体来说,它 查找编码到标签的某个 NDEF 记录中的 Home Assistant URI,然后查找此特定字符串。不能 与
ndef_contains和/或uid一起使用。 -
uid(可选,string):NFC 标签的唯一 ID。这是一个以连字符分隔的十六进制值列表。 例如:
74-10-37-94。不能与ndef_contains和/或tag_id(上文)一起使用。 -
来自 Binary Sensor 的所有其他选项。
要为给定的 NFC 标签设置二进制传感器,你必须首先知道它的唯一 ID(uid )、标签 ID(如果它
是使用 Home Assistant Companion 应用准备的),或者其 NDEF 消息中包含的(部分)字符串。
要获取标签的 UID:
-
将 NFC 标签接近 NFC 读卡器。当标签足够接近读卡器时,你会在 ESPHome 设备的日志中看到类似这样的消息:
Read tag type Mifare Classic with UID 1C-E5-E7-A6 -
或者:
-
复制此 ID 并使用它像上面的配置示例中那样创建一个
binary_sensor条目,或者…… -
使用标签 ID(如用 Home Assistant Companion 应用准备时所确定的)来定义上述
binary_sensor的tag_id参数,或者…… -
选择标签 NDEF 消息中包含的子字符串,并使用它来定义上面的
ndef_contains参数 。如果存在,标签的 NDEF 记录将显示在上述消息下方几行的日志中。
-
对每个标签重复此过程。
请注意,由于你能够定义 NDEF 消息,因此这种方法更灵活,甚至允许多个 卡/标签共享同一条消息。