esphome / esphome/feature-requests
NFC: Support iso14443-4 (NFC type 4) tags
- 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