The Hardware Ledger · Practical guide · Sources checked 21 October 2026
An NFC sticker can put the right instruction, list, timer, or home control exactly where you need it. Tap the laundry label to set a reminder, tap a storage box to see its contents, or tap a story card to open a recording from a grandparent.
The sticker itself needs no battery. Your phone reads it at close range; the phone or a connected service does the work. A plain tag does not detect whether the washing machine has finished, whether somebody fed the dog, or whether a child has arrived home. Those are actions people record, unless you separately integrate a real sensor.
This guide contains 28 distinct projects, reusable programming instructions, a supplier comparison, and a tag planner. Begin with three: a grocery list, a storage box, and a family calendar. They need no home-automation server.
Review scope: The workflows have been checked against documentation but have not been tested on THL phones or tags. Results below are acceptance checks for your own setup, not measured THL performance.
Find your project
| No. | Household aid | Programming route |
|---|---|---|
| 01 | Shared grocery list | W: web link |
| 02 | Recipe station | W: web link |
| 03 | Freezer contents and leftovers | W: form and inventory |
| 04 | Tea or coffee timer | P: iPhone; D: Android clock launcher |
| 05 | Laundry reminder on your phone | P: iPhone; D: Android clock launcher |
| 06 | Appliance manual and troubleshooting | W: web link |
| 07 | Recycling and collection instructions | W: web link |
| 08 | Home maintenance log | W: form and history |
| 09 | Searchable storage boxes | W: web link |
| 10 | TV, remote, and cable help | W: web link |
| 11 | Plant-care log | W: form and history |
| 12 | Pet-feeding handover | W: status page and form |
| 13 | Family chore board | W: shared checklist |
| 14 | Spoken out-the-door checklist | P: iPhone; D: Android speech |
| 15 | Homework focus station | P: iPhone; D: Android launcher |
| 16 | Bedtime routine | W: picture checklist |
| 17 | Family calendar | W: private calendar link |
| 18 | Caregiver handover | W: private document |
| 19 | Easy contact card | W: contact page |
| 20 | Spoken request cards | P: iPhone; D: Android speech |
| 21 | Family audio-story tokens | W: recording link |
| 22 | NFC scavenger hunt | W: clue pages |
| 23 | Board-game helper | W: rules and score sheet |
| 24 | Repair and lending history | W: document and form |
| 25 | Family science notebook | W: experiment form |
| 26 | Reading-light scene | H: Home Assistant |
| 27 | Laundry timer that lives in the house | H: Home Assistant |
| 28 | Shared dishwasher clean/dirty status | H: Home Assistant |
What to use
Reuse an NFC-capable smartphone. On Android, confirm the model actually has NFC and enable it in Settings. On iPhone, confirm your device can read/write with the chosen app; for personal automations, also check that NFC appears as an available trigger. Payment support alone is not a complete compatibility test for these workflows.
For these projects, start with rewritable, NDEF-compatible NFC Forum Type 2 NTAG213 stickers, as compared in the supplier sheet. NTAG213 has 144 bytes of user memory, before allowing for the record format. For context, the related NTAG215 and NTAG216 chips provide 504 and 888 bytes; they are not required purchases for this guide. Check the writer’s actual byte count: a long prefilled form link may not fit. NXP NTAG21x specifications
The equipment and supplier comparison has direct product links, dated prices, stock caveats, and the Micro Center check. You do not need a Flipper Zero, USB NFC reader, or a new smart-home hub for the ordinary link projects. Home Assistant projects assume you already have a working installation and compatible devices.
Use a single loose tag for the first test. Stick ordinary labels on plastic, wood, or card, beside a metal appliance rather than directly on it. A purpose-made on-metal tag is an optional alternative. Reuse a marker and household card to label each tag with its function. Keep loose tags away from small children; place them where an adult can supervise the activity.
Choose the right kind of programming
| Route | What is stored on the tag? | Who can use it? | What happens after tapping? |
|---|---|---|---|
| W: shared web link | One NDEF URL record | Compatible iPhone/Android; destination permissions still apply | Open the notification/link, then view the page or submit a form. |
| P: iPhone personal automation | No action needs to be written; Shortcuts recognizes the enrolled tag’s identifier | Each iPhone must be configured separately | Its own shortcut runs, subject to lock state and action permissions. |
| D: Android NFC Tasks | App-specific task records | Android phones with NFC Tasks installed and the necessary permissions | The installed app handles the recorded task. This is not an iPhone shortcut. |
| H: Home Assistant tag | A Home Assistant tag URL/identifier | Configured Companion-app phones connected to your home | The app reports a scan; the server runs your configured automation. |
“Tap” does not always mean “silently run.” Follow the notification or confirmation on the phone. A shared link does not grant access to a private document. A personal iPhone automation does not install itself on somebody else’s phone. For mixed-phone families and visitors, start with W.
W: write a link that the family can use
Install NFC Tools from the developer’s iPhone page or Android page. The standard URL-writing workflow is:
- Prepare the destination: a document, list, recording, calendar, or form. Open its share link in a browser while signed in as an intended reader. Give that person the required access.
- Open NFC Tools → Write → Add a record → URL/URI. Paste the complete HTTPS link. If the app separates the scheme from the address, select
https://and avoid entering it twice. - Keep just that one URL record for the beginner workflow. Check the displayed size against the tag’s writable capacity.
- Select Write, hold the phone’s NFC antenna near the tag, and keep it still until writing succeeds. On iPhone, start near the top edge; on Android, the antenna position varies by model.
- Use Read to check the saved destination. Then leave the writer app, move the phone away, and scan again normally. Open the notification and confirm the intended page loads.
- Repeat on a second intended user’s phone. Apply the label only after testing its final position.
The developer’s URL-writing walkthrough illustrates this sequence; some versions say Add a recording, Validate, or Write / X Bytes.
On iPhone XS/XR and later, background reading of a suitable URL presents a notification; the user opens it, and must unlock if prompted. The screen must be in use, and scanning can be unavailable while the camera or Apple Pay is active. Older supported iPhones may need an app’s explicit scan function. Plain-text and Wi-Fi records do not have the same background behavior. Android normally scans when unlocked; its current documentation specifies an “open link” notification beginning with Android 17. Design instructions around that extra tap. Apple background tag reading · Android NFC behavior
To update it: rewrite the URL, or edit the linked page while keeping its address. Leave tags rewritable while learning. A permanent read-only lock cannot be undone; it also does not stop somebody replacing the entire sticker.
W plus a form: record an event, not just open a page
Use this for feeding, watering, maintenance, and household logs. A form does not need custom code.
- Create a Google Form with a few relevant fields, such as
Item,Action,Person, andNotes. - Set responder access for the intended household accounts and publish the form. For recurring logs, leave Limit to 1 response off. Leave View results summary off for private records.
- In Responses, choose a destination spreadsheet. Google Forms records submissions there; household members need separate access to that sheet if they will read the history.
- Copy the responder link, not the editor URL, and write it with W. For a tag tied to one item, use More → Pre-fill form, enter the item, and get its link. Prefilling does not submit it or make those values uneditable.
- Test by submitting a clearly named test entry. Confirm one new response appears, then remove that test response from the form and its corresponding row from the linked sheet. Check both places; the form and spreadsheet keep separate copies.
These are Google’s current publishing and prefilling controls and response-sheet instructions; its response-deletion reference confirms that the sheet keeps a separate copy. A URL-only tag opens the form; the person must complete and submit it. If the link exceeds tag memory, use the service’s short responder link without prefilling and choose the item in the form.
For projects that need both current history and a new entry, make a small private landing document with two links: View history and Record an update. Put its URL on the tag. The extra choice makes it possible to check before acting.
P: enroll a tag in iPhone Shortcuts
Create and test the shortcut first; then attach the NFC trigger. The action recipes below specify what to put inside it. A shortcut containing Open URLs needs your real destination; a timer needs an explicit duration.
- Open Shortcuts, create a shortcut, name it for the label, and add the listed actions in order.
- Run it manually. Resolve permissions and check that the timer, speech, or app behaves as intended.
- If your app has an Automation tab, choose Automation → + → Create Personal Automation (where shown) → NFC → Scan. Scan and name the tag, continue, and select your existing shortcut; alternatively add Run Shortcut and select it. Save with Done. Apple documents this layout in its iOS 26 guide.
- Choose the automatic-run option exposed by your version if desired; older versions call this disabling Ask Before Running. An action can still require interaction or unlocking. Start testing with the screen awake and the phone unlocked.
- Close Shortcuts, scan again, and inspect the outcome. Repeat enrollment on each family iPhone that should respond.
If automation is inside the shortcut’s Edit menu: Apple’s versioned iOS 27 instructions instead use open the shortcut → Edit → Automation → NFC. Scan and name the tag there. That layout places the optional locked-device permission under Edit → Info → Privacy → Allow Running When Locked. Follow the branch matching your installed app, then enable and test it on each phone; synced shortcuts do not establish that their triggers are enabled everywhere. Apple iOS 27 automation instructions
The tag’s identifier is the trigger; the sequence lives on the phone. Copying a URL to a second sticker does not enroll that second sticker in the automation. Changing the written URL does not remove the original phone’s NFC trigger. Delete or disable that automation when retiring the tag. Apple NFC triggers · Apple automation setup
D: write a simple Android task
Install NFC Tools to create the task and NFC Tasks by wakdev to execute it. Use the developer’s NFC Tasks page or its Google Play listing. Open both apps once before testing.
- In NFC Tools, open Tasks → Add a task. Choose the required task, such as launching an application or speaking text, and enter its parameters.
- Add only the tasks needed for this label. Check the encoded size; a long speech task may not fit a small tag. Shorten the phrase if necessary, then write the task list to a blank tag using the Tasks section’s write command.
- Read it with the phone unlocked and NFC enabled. Allow the permissions required by that task; choose NFC Tasks if asked which app should handle it.
- Test again outside NFC Tools. A different Android phone needs NFC Tasks, the target app, and suitable permissions too.
Task names and availability vary by app and Android release. For a timer recipe, this guide’s Android baseline opens the Clock app so the user can start a preset manually; it does not promise a universal silent timer action. If a task is missing or restricted, write a W link to the checklist or instructions and carry out the action manually. Never assume that a phone-settings task available on one version works on another. NFC Tools for Android · Developer FAQ
H: connect a tag to Home Assistant
This route assumes a working Home Assistant server, the Companion app on each participating phone, and any controlled devices already working in Home Assistant. Update the Companion apps before testing; the tag-approval fixes require Android 2026.5.3 or later and iOS 2026.5.0 or later. Verify the desired action directly in the dashboard first.
- Open Settings → Tags from the mobile app. Add a tag, name it, and choose the write-to-tag operation. Follow the phone’s scan prompt.
- Create an automation from the tag, or create one under Settings → Automations & scenes and add a Tag trigger. Select that tag.
- Add the action specified in project 26, 27, or 28. Use your real entity names, not the example names below.
- Save, scan, and follow the Companion app’s confirmation. Inspect the automation’s trace and the resulting entity state.
- Test on the other household phones, including any remote-access or local-network conditions they will actually use.
An iPhone scan normally presents a notification to open. In the patched Companion apps, unfamiliar tags require in-app approval; review the tag and choose one-time approval or allow future scans only for a tag you trust. Previously allowed tags can be reviewed and revoked in the app. These controls supersede the older Companion guide’s suggestion that Android scans always run immediately. A readable tag identifier is not a secret access credential. Tag integration · Companion NFC guide · Android approval change · iOS approval change
Kitchen and utility room
01. Shared grocery list
Put it: inside the pantry door. Route: W. Prepare: one shared document or list with a working web link and edit access for the shoppers.
Program it: copy that list’s share URL into a single URL/URI record. Label the tag Add to groceries. Use one permanent list rather than a new link each week.
Try it: one person adds “oats”; another opens the tag and checks that it appears. Tapping opens the list—it does not know which item ran out or add an item automatically. Keep a printed list nearby for anyone without a compatible phone.
02. Recipe station
Put it: on a kitchen shelf or recipe card. Route: W. Prepare: a saved recipe or your own index containing quantities, method, and serving sizes.
Program it: write the recipe’s HTTPS URL, or the index URL for a single family cooking station. Use a destination the cook can read without the author’s account.
Try it: scan from the cooking position and check that the ingredients and method remain readable on a phone. The tag stores the link, not the recipe; retain a printed or downloaded copy if you want to cook without internet access.
03. Freezer contents and leftovers
Put it: on a plastic clipboard beside the freezer. Route: W plus a form. Prepare: fields for item, compartment, action (Added/Removed), quantity, and date label.
Program it: make a private landing document linking the response sheet and the entry form. Write that landing URL; label it Freezer: check / update.
Try it: add a test item, log its removal, and verify both events. This basic log is not an automatically calculated stock balance; use a maintained summary if the family needs one. Enter the actual food label dates yourself—the tag does not measure freshness or temperature.
04. Tea or coffee timer
Put it: beside the kettle on a dry non-metal surface. Route: P, or D with one manual step.
Program it on iPhone: create Tea timer, add Start Timer, set it to your chosen brew time (for example, 3 minutes), and enroll the tag using P. On Android, use D to launch the installed Clock app. Select a saved tea timer if your Clock supports presets; otherwise enter the duration, then press Start.
Try it: verify that the countdown has started and that its alert is audible. A second tap may start another timer; move the phone away after scanning. This does not switch on a kettle.
05. Laundry reminder on your phone
Put it: next to the washer’s controls, avoiding the metal panel. Route: P or D.
Program it on iPhone: add Start Timer with the approximate length of your usual wash, such as 60 minutes, to Check laundry; enroll the tag. On Android, write a D task opening Clock. Choose a laundry preset if supported, or enter the duration, then start it manually after tapping.
Try it: first use a one-minute trial and check the alert. Restore your chosen duration afterward. Scan when starting the machine. The reminder estimates elapsed time; it does not read the appliance’s actual end-of-cycle state. Project 27 moves the timer to an existing home server.
06. Appliance manual and troubleshooting
Put it: on the adjacent cupboard, labelled with the exact appliance model. Route: W.
Program it: find the manufacturer’s manual for your exact model and write its HTTPS link. For several documents, link a household index with the manual, warranty location, and your own operating notes. Keep receipts or personal details behind account access.
Try it: compare the model printed on the appliance with the document title and open the troubleshooting section. A broadly similar model can have different controls or service requirements; test the destination before labelling it as the correct manual.
07. Recycling and collection instructions
Put it: inside the bin cupboard. Route: W.
Program it: write your local authority’s address-specific collection page or a household page linking its accepted-materials guidance. If the official site does not preserve the address in its URL, put the steps for entering it on your own page rather than claiming the link is preconfigured.
Try it: find the next collection and one confusing material. Use the current local guidance; this recipe does not supply a universal recycling rule. Keep the essential collection day on the physical label too.
Keeping the home running
08. Home maintenance log
Put it: near a filter cupboard or household maintenance folder. Route: W plus a form.
Program it: create fields for equipment name, work completed, person, date, and next planned check. Write a landing-page URL with Previous work and Add entry links. Prefill the equipment name if the resulting URL fits.
Try it: record a clearly labelled trial inspection, check the response sheet, and delete it. A “next check” field is a record only; it does not schedule a notification. Add an actual calendar reminder separately if needed, following the equipment maker’s maintenance guidance.
09. Searchable storage boxes
Put it: on the outside of each box. Route: W.
Program it: create a document for Box B03 listing its contents and shelf location. Write its share link and print the same B03 identifier on the box. Add each box link to a master index that the family can search without being beside the boxes.
Try it: locate an item through the index, then scan the box to verify it. Update the document after moving contents. NFC does not locate missing objects; the useful part is the maintained inventory and matching physical identifier.
10. TV, remote, and cable help
Put it: on the side table or media cabinet. Route: W.
Program it: make a short phone-friendly page with a photo of the remotes, input names, and the steps for watching TV or using the game console. Write the page URL to a tag labelled How to use this TV.
Try it: ask a family member unfamiliar with the setup to follow the page. Correct any ambiguous instruction. The tag opens instructions; it does not operate infrared remotes by itself. Keep frequently needed button names printed on the card.
11. Plant-care log
Put it: on a dry plant label or adjacent shelf. Route: W plus a form.
Program it: create a plant page with its name, care notes, and links to a log and entry form. Give the form Plant, Observation, and Action fields; put the page URL on the tag.
Try it: record “soil checked; no water added” and verify it in the history. Encourage checking the plant before acting. A scan does not measure soil moisture, and a fixed watering schedule is not a moisture sensor. Plain paper stickers may fail when repeatedly wet.
12. Pet-feeding handover
Put it: beside the food container. Route: W plus a form.
Program it: create a page with Check latest entries first and Record feeding second. Use fields for pet, meal, time, and person. Write the page URL and label it Check before feeding.
Try it: submit a fictional test meal and have another carer find it before deleting it. Multiple people can act at once, and a log entry is only a person’s report. Keep the household’s usual care instructions visible and agree on who feeds each meal; a tap alone must not mark feeding complete.
13. Family chore board
Put it: on the noticeboard. Route: W.
Program it: share one checklist with columns for task, owner, due day, and done. Write its link to the tag. Explain who resets recurring items each week so an old checkmark is not mistaken for this week’s work.
Try it: have two members update different tasks and confirm both changes persist. Scan once without editing to check that merely opening the board does not mark anything done. For children who do not use a phone, keep the same tasks on a physical chart.
Family routines, access, and play
14. Spoken out-the-door checklist
Put it: beside the coat hook. Route: P or D.
Program it on iPhone: add Text containing “Keys, phone, lunch, water bottle. Check today’s calendar,” then Speak Text using that text; enroll the tag. On Android, use the D speech/text-to-speech task and enter the same message. Choose and test an installed voice.
Try it: scan at your usual phone volume and listen to the complete checklist. Edit it for the person using the phone. The voice is a prompt, not a check that each object is actually present. Print the list beside the tag as a silent alternative.
15. Homework focus station
Put it: on a desk card. Route: P, or D with manual Focus/Do Not Disturb setup.
Program it on iPhone: create a Study Focus in Settings first. In the shortcut, calculate 25 minutes after the current date with Adjust Date, use that result as the end time for Set Focus, then Start Timer for 25 minutes. Enroll the tag with P. If your version does not expose the timed Focus option, omit that action and use the timer alone.
Android version: write a D task opening Clock, start the study timer, and enable the phone’s timed Do Not Disturb mode manually if wanted.
Try it: run a one-minute test, confirming both the timer and the end of Focus. Preserve any contacts the family needs to reach the phone. NFC does not prevent app use or enforce parental controls.
16. Bedtime routine
Put it: on a family routine card. Route: W.
Program it: create a simple page with four or five large pictures and captions, such as tidy, wash, choose a book, and settle down. Write its URL. Keep any child-specific details restricted to the household.
Try it: have the intended user follow the order with an adult and revise the wording or pictures together. A web page needs connectivity and suitable sharing permissions. A printed version works when the phone is put away; the tag is an optional way to retrieve the same routine.
17. Family calendar
Put it: beside the family noticeboard. Route: W.
Program it: create or reuse a shared family calendar, invite the household accounts, and copy a browser link that opens it. Write that URL. Test with an invited account rather than relying on the owner’s view; some links depend on the currently signed-in account.
Try it: add a harmless test event and check that another member can see it. Delete the event afterward. Keep the calendar private unless its contents are intentionally public; publishing it is not required merely because its link is on an NFC sticker.
18. Caregiver handover
Put it: inside the household information folder. Route: W.
Program it: create a restricted document containing the agreed routine, useful contacts, where supplies are kept, and a dated handover note. Invite the specific caregiver account and write the document URL. Add Updated on at the top.
Try it: verify access from that person’s account and keep a printed copy of essential information. Revoke access when the arrangement ends. Do not put alarm codes, passwords, or sensitive personal records directly on the tag; possessing the sticker should not be sufficient to read private material.
19. Easy contact card
Put it: beside an armchair or family phone station. Route: W.
Program it: make a simple accessible page listing the person’s agreed contacts, with large tap-to-call links and visible numbers. Write the page URL, and print the main number on the card. Obtain the contact’s agreement before making their details public.
Try it: open the page and check that selecting the intended contact brings up the correct calling interface; cancel the test before placing a call. The tag does not promise an automatic call, emergency dispatch, or operation on a locked phone. Retain ordinary phone and printed-contact access.
20. Spoken request cards
Put it: on labelled cards chosen with the person using them. Route: P or D.
Program it: for a card labelled Please lower the volume, make an iPhone shortcut with Text → Speak Text, or an Android D speech task containing that phrase. Give each card its own enrolled iPhone trigger or written Android task. Test the voice and volume with the intended user.
Try it: distinguish two cards by their large text or tactile labels, then confirm each speaks the right phrase. This is an optional communication aid; keep the person’s established communication methods available. An unconfigured visitor’s phone will not automatically gain these personal actions.
21. Family audio-story tokens
Put it: on a large illustrated story card. Route: W.
Program it: with the speaker’s agreement, save a short story recording in a service the family already uses. Share it with the intended listeners and write its playable HTTPS link to the card. Name the story visibly.
Try it: use a listener’s account to open the recording and press Play. Browser or app rules may prevent automatic playback. The sound file is stored online, not inside the tag. For offline listening, download it in the playback app and test that separate offline workflow.
22. NFC scavenger hunt
Put it: at three or more agreed indoor locations. Route: W.
Program it: make one page per clue. Write the URL for clue 2 on the first location’s tag, clue 3 on the second, and the finish page on the last. Number the backs of the cards so you can reset the game. Use existing toys or drawings as the prize.
Try it: walk the complete sequence on the player’s phone, checking every link and permission. Provide the same clues on paper for a phone-free version. These are ordinary shareable links, so they do not enforce puzzle order or prevent players looking ahead.
23. Board-game helper
Put it: inside a game box. Route: W.
Program it: create a small landing page linking the publisher’s rules, your agreed house rules, and a shared score sheet. Write the landing URL; give the score sheet edit access only to the players who need it.
Try it: find a disputed rule and enter a test score. Confirm that a new game starts with a fresh sheet or an intentional reset. The tag retrieves your game aids; it does not infer turns or calculate scores unless the sheet has separately configured formulas.
24. Repair and lending history
Put it: on the case of a shared tool or appliance. Route: W plus a form.
Program it: create a record with the model, repair notes, and a lending form containing Borrowed/Returned, person, and agreed return date. Put the record’s private URL on the tag. Use a printed equipment ID to match the record to the object.
Try it: log and reverse a fictional loan. Confirm that the history is readable to the household but does not expose private borrower details to the public. A scan is not proof of return; the person must select the right action and submit it.
25. Family science notebook
Put it: beside a seed tray, weather notebook, or other supervised family experiment. Route: W plus a form.
Program it: make fields for experiment ID, observation, measurement, unit, and notes. Prefill the experiment ID if it fits; otherwise choose it from the form. Link the entry form and results sheet from a project page, then write that page URL.
Try it: enter two fictional measurements and plot them in the sheet if desired, clearly labelling and then deleting the test data. The NFC tag only opens the notebook. It does not measure temperature, moisture, growth, or any other quantity.
Three projects for an existing Home Assistant home
Use the H setup above. These examples do not require buying a dedicated NFC reader. Family phones report scans to the existing server; server availability, app permissions, and network access determine whether an action arrives.
26. Reading-light scene
Put it: beside the reading chair. Route: H. Prepare: an existing controllable lamp and a scene called Reading with your chosen light settings.
Program it: enroll Reading chair; add its Tag trigger to an automation. Add Scene: Activate, selecting your actual Reading scene. In YAML, the action is scene.turn_on with a target such as scene.reading—replace that example with the real entity ID.
Try it: activate the scene directly, then by tag. Scan twice: the same scene should be applied both times. Explicit settings are easier to understand than a toggle that might undo a previous tap. Retain the ordinary light switch. Scene integration
27. Laundry timer that lives in the house
Put it: beside the washer. Route: H. Prepare: a Timer helper named Laundry, initially set to one minute for testing, and an existing household dashboard.
Program it: use Settings → Devices & services → Helpers → Create helper → Timer. Make the tag automation call Timer: Start timer (timer.start) on that helper and add it to the dashboard. For a second automation, choose Add trigger → By target → Laundry timer → Timer finished; leave “For at least” at zero. Add Persistent notification: Create, with “Check the laundry” as its message. Start timer action · Timer-finished trigger
If your release uses the older Event trigger, set Event type to timer.finished and Event data to entity_id: timer.laundry, replacing timer.laundry with the actual helper’s entity ID.
Try it: scan, watch the countdown, and check the Home Assistant notification when it finishes. This notification lives in Home Assistant; it is not automatically a phone push. For a push alert, separately select and test a registered mobile device’s notification action. Set the real wash duration after the trial.
Starting an already active timer restarts it, so repeated scans postpone the reminder. Even with restore enabled, a timer that expires while Home Assistant is stopped does not later emit the missed finish event. This remains an elapsed-time reminder, not a washer sensor. Timer helper · Persistent notifications
28. Shared dishwasher clean/dirty status
Put it: two clearly labelled tags beside the dishwasher: Set CLEAN and Set DIRTY. Route: H. Prepare: a Dropdown helper with options exactly Clean and Dirty, plus a dashboard card showing it.
Program it: create the helper under Settings → Devices & services → Helpers → Create helper → Dropdown, entering Clean and Dirty as its two options. Enroll each tag separately. The CLEAN automation calls Input select: Select option (input_select.select_option) on the helper with option: Clean; the DIRTY automation uses option: Dirty. Use two explicit assignments so an accidental second tap cannot flip the state back.
Try it: scan CLEAN twice and confirm the dashboard still reads Clean, then scan DIRTY and check the change on another phone. Agree that CLEAN means someone has checked the completed wash and DIRTY means the household has started loading again. The tags do not sense the contents or cycle. Keep a physical clean/dirty sign for anyone without dashboard access. Dropdown helper
What about a guest Wi-Fi tag?
It is a useful extra experiment, but do not promise one universal tap-to-join sticker. NFC Tools can write a Wi-Fi record, yet handling depends on the phone and operating system; iPhone background reading of an ordinary Wi-Fi record is not equivalent to opening a supported URL.
For an Android-only trial, use Write → Add a record → Wi-Fi network, enter the guest SSID, supported authentication type, and guest password, then write and test on the actual visiting phone. A successful write is not proof that joining will work. The record exposes the saved credentials to a reader.
For a mixed-phone household, display a guest-network QR code generated by your phone/router and print the guest SSID and password as a fallback. An NFC tag may open a guest-information page over the visitor’s existing connection, but it cannot guarantee the visitor has internet before joining. Keep your main network’s credentials out of general household labels. NFC Tools record types · Apple background-reading requirements
Fix the usual problems
| Symptom | Check and remedy |
|---|---|
| Nothing reads | Confirm NFC hardware/support; enable NFC on Android; wake/unlock; move the antenna slowly over one tag. Remove a metal-backed case or wallet for the test. |
| Works loose, fails on the appliance | Ordinary tags can be affected by metal. Move to a nearby non-metal surface, or use a verified on-metal tag. |
| NFC Tools reads it but normal scanning does not open a page | Check that the record is a URL/URI with HTTPS, not a text record containing a URL. Test outside the writer app and look for the OS notification. |
| It opens for the author but not the family | Test destination permissions with the other person’s account. Replace a document editor URL with the intended share/responder link where appropriate. |
| The writer says the record is too large | Use the provider’s shorter stable link or an owned landing-page URL. Remove extra records. Avoid a third-party shortener for private access-bearing links. |
| A form opens but no entry appears | Opening is not submitting. Complete the form, press Submit, and check the response destination. |
| An iPhone tag works only for one person | Enroll it on each participating iPhone, or change the project to a shared W link. |
| An Android task does nothing | Open NFC Tasks, check its permissions and the target app, and test a simple supported task. OS restrictions may block particular actions. |
| The old iPhone action still runs after rewriting | Disable its existing NFC automation; rewriting the tag data does not remove the phone’s identifier-based trigger. |
| Home Assistant receives nothing | Check the Companion app’s confirmation/allowlist, server connectivity, selected tag, and automation trace. |
| A timer runs twice or a state changes unexpectedly | Move the phone away after scanning. Prefer explicit state-setting to toggles and verify whether a repeat scan starts or restarts the timer. |
| A replacement sticker does not trigger Shortcuts | Enroll the replacement tag. Its identifier differs even if its written link is identical. |
Keep the system usable
Treat readable tag content as something another person can copy. Put private information behind authenticated pages, and keep passwords, API tokens, and home-automation webhook secrets off the stickers. Locking a tag prevents some edits; it does not encrypt its contents or prevent physical replacement.
Give every label a plain-language description, a visible identifier, and a non-NFC fallback where the task matters. Print important instructions, keep ordinary switches, and retain access to the original apps. For family logs, make check → act → record the routine; scanning alone is not proof that a chore was completed.
Use the 28-row tag planner to record each destination or action, responsible person, installation surface, and actual test result. The testing worksheet covers a first phone, a second user, final placement, repeat scans, offline behavior, and removal. Recheck links and account access when phones, caregivers, or household routines change.
Sources and review scope
The programming instructions cite Apple, Android, NFC Tools’ developer, Google, NXP, and Home Assistant directly. The household projects are editorial applications of those capabilities. A documentation claim is not a THL hardware test, and app menus may change after the review date.
The supplier sheet distinguishes advertised catalogue stock from delivery confirmed for a particular address. No delivery destination was supplied for this guide, so delivery eligibility and final landed prices remain unverified.
Setup and testing worksheet
Back to the 28-project guide · Tag planner
Copy this sheet for each installed tag. Empty fields and planned outcomes are not completed tests.
Set up the tag
| Field | Your record |
|---|---|
| Project number and plain-language label | |
| Tag identifier used on the physical label | |
| Programming route: W, P, D, or H | |
| Tag manufacturer, chip, size, and material | |
| Installation surface; ordinary or on-metal tag | |
| Phone model, OS, and relevant app versions | |
| Responsible household member | |
| Destination URL or shortcut/task/automation name | Do not put passwords or private access tokens in this worksheet. |
| Who needs access; who should not have it | |
| Expected action and required confirmation | |
| Internet/server dependency | |
| Printed or manual fallback |
Test and record what actually happens
| Check | Actual result / date / phone |
|---|---|
| Destination or action works manually before NFC setup | |
| Written record reads back correctly, or trigger enrollment succeeds | |
| Scan outside the writer app with phone awake and unlocked | |
| Follow any notification/approval and check the final outcome | |
| Repeat with phone in its normal case, at the final mounting position | |
| Repeat with another intended user’s phone and account | |
| Try locked-screen behavior without assuming it will work | |
| For a form: Submit creates exactly one test entry; opening creates none | |
| For a timer: one-minute trial reaches an audible or visible alert | |
| For a state setter: repeated scan leaves the intended state | |
| Check repeat-scan effects: extra timer, timer restart, or duplicate log | |
| Try with internet unavailable; document the fallback | |
| For Home Assistant: inspect the trace and server/entity state | |
| Private destination refuses access to an uninvited account | |
| Remove fictional test entries; restore real timer durations |
For timer testing, distinguish the NFC trigger firing from the countdown ending and the intended person receiving an alert. For logs, distinguish opening a page, submitting a record, and performing the real-world task. Only record what you observed.
Update or retire it
| Route | Cleanup |
|---|---|
| W | Rewrite/erase the tag, remove the physical label, or redirect the owned destination. Revoke old document access where appropriate. |
| P | Disable/delete the personal NFC automation on every enrolled phone. Erasing the tag’s URL does not remove that identifier-based trigger. |
| D | Rewrite/erase its task records and remove unused app permissions or profiles. |
| H | Disable/delete the associated automation and review the tag’s saved approvals. Remove or rewrite the physical tag. |
Record the last review date and the next reason to revisit the setup, such as a phone replacement, moved appliance, changed caregiver, or expired sharing link.
