esphome / esphome/feature-requests

NFC: Support iso14443-4 (NFC type 4) tags

Open
#3,068 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
450
Forks
29
PR merge metrics
No merged PRs in 30d

Description

**Describe the problem you have/What new integration you would like**

Esphome seems to have no support or awareness of type 4 tag structures/protocols, I'd like for components to be able to register iso7816 AIDs to be probed when a type 4 tag (ISODEP) enters the field and apis to be notified with the response data to the selection and send back APDUs if select doesn't fail (select failure only means a tag doesn't implement that AID).

**Please describe your use case for this integration and alternatives you've tried:**

I am building a tag reader to interface with a GDO and need to interact with two different type 4 tag protocols: Apple Home Key and a stop gap HCE application I have developed for my android device (until the CSA Aliro spec is released and an implementation is available for AOSP devices)
A custom component already exists to interact with apple home key (which uses two AIDs of its own), but it seems to assume total control of the reader for the purposes of Type 4 tag reading, leaving me no easy way to implement reading for my custom application without potentially creating some kind of race condition or hacking my unrelated component into their codebase.

I have considered mounting a linux pc/sbc near the reader but can't quite justify this as it would be too power hungry to run off the GDO's backup battery and would be difficult to make work in the case of a network failure.

This support is also necessary for improving read of nxp desfire, vivokey apex, yubikey, and other javacard based cards.

**Additional context**

https://en.wikipedia.org/wiki/ISO/IEC_7816
https://en.wikipedia.org/wiki/ISO/IEC_14443
https://github.com/kormax/apple-home-key
https://github.com/kormax/apple-home-key-reader
https://developer.android.com/develop/connectivity/nfc/hce
https://en.wikipedia.org/wiki/Java_Card

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing apple-home-key and apple-home-key-reader custom components linked in the issue, then compare their reader control with ESPHome's current NFC support. The desired result is a shared Type 4 tag interface that can register ISO 7816 AIDs, report selection responses, and send APDUs without component race conditions; validate it against the described Home Key and custom HCE use cases.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.