HOW-TO: VERWENDEN VON NFC-TAGS ZUM AUSLÖSEN VON GERÄTE- ODER HEIMAUTOMATISIERUNGEN
In diesem Beitrag wird beschrieben, wie ich NFC-Tags mit Home Assistant verwende , um Automatisierungen auszulösen. Im Folgenden habe ich alle Informationen darüber zusammengestellt, wie Sie mit NFC-Tags auch andere Apps und Geräte automatisieren können!
Ich verwende Near Field Communication (NFC) sehr gerne für Heim- oder gerätebasierte Automatisierungen, weil es wirklich billig ist und die Möglichkeiten endlos sind, da Sie sie in jeder Umgebung und auf fast jedem physischen Objekt platzieren können.
Hier sind einige der Möglichkeiten, wie Sie NFC-Tags verwenden können, um Heimautomatisierungen auszulösen:
- Platzieren Sie ein Etikett neben Ihrem Bett, um die Guten-Morgen-/Nacht-Routine zu aktivieren.
- Platzieren Sie ein Etikett neben einer Tür, um eine Tür automatisch zu entriegeln (Anwesenheitserkennung ist schwierig).
- Bringen Sie ein Etikett am Rasenmäher an und lassen Sie das Garagentor automatisch öffnen.
- Platzieren Sie ein Etikett unter einem Bett, um eine Notfallaktion auszulösen, z. B. einen Alarm auszulösen.
- Platzieren Sie ein Etikett draußen neben den Gartenmöbeln, um Licht oder Musik einzuschalten.
- Platzieren Sie ein Etikett neben einer Lampe mit einer intelligenten Glühbirne, um sie ein- oder auszuschalten.
- Platzieren Sie ein Etikett neben der Katzentoilette, um eine zukünftige Erinnerung zum Wechseln auszulösen.
Hier sind einige der Möglichkeiten, wie Sie NFC-Tags verwenden können, um Geräteautomatisierungen auszulösen:
- Teilen von Gast-Wifi-Informationen!
- Unter ein Bett legen, um eine Notfallaktion auszulösen, z. B. einen SMS-Notruf.
- Platzieren Sie ein Tag neben Ihrem Entspannungsort und spielen Sie automatisch entspannende Musik ab.
- Legen Sie einen auf Ihre Tasche und tippen Sie darauf, um den Flugmodus zu aktivieren oder Ihr Telefon stumm zu schalten.
Ein großes Lob an Ryan Hoffman , der mich inspiriert hat, NFC zu verwenden, nachdem er seine Erfahrungen damit geteilt hatte. Ich bin mir nicht sicher, ob ich sonst über NFC-Tags gestolpert wäre.
WELCHES ETIKETT SOLL ICH BEKOMMEN?
Es gibt viele verschiedene Arten von NFC-Tags mit unterschiedlichen Formfaktoren und Funktionen (Schreibsperre, Passwortschutz, Anzahl der Schreibvorgänge usw.).
Ich mag diese robusten Typ-2-NFC-Tags sehr, da sie wasserdicht sind, sicher für den Einsatz im Freien sind und alle NFC-Funktionen unterstützen, die Sie erwarten (Sperren, Multi-Write, Passwortschutz). Darüber hinaus werden sie mit einer 3M-Klebefolie geliefert, sodass Sie sie buchstäblich überall kleben können!
Ich hätte mehr recherchieren können und ein Etikett gefunden, das besser zu meiner Tür passt. Bitte denken Sie daran, wenn Sie auswählen, wo Sie diese platzieren möchten.
Sie können NFC-Tags auch in Aufkleberform erhalten . Stellen Sie nur sicher, dass es alle Ihre Anforderungen unterstützt. Hier sind einige Faktoren, die Sie berücksichtigen sollten:
- Ort: Einige Tags sind nicht wasserdicht und einige funktionieren nicht auf Metalloberflächen.
- Geräteunterstützung: Funktioniert dies mit den Geräten, mit denen ich es verwenden möchte (zB iPhone).
- Aktualisierbar: Müssen Sie dieses Tag nach der Installation aktualisieren (z. B. kann ich es sperren oder mehrmals darauf schreiben)?
- Formfaktor: Muss das ein Aufkleber sein ?
- Farbe: Passt das in die Umgebung?
TIPPS ZU NFC-TAGS
Es ist wichtig zu beachten, dass Sie einem Tag oder dem von Ihnen ausgelösten Ereignisnamen einen Namen oder eine Kennung zuordnen sollten. Ich würde dringend empfehlen , Tags mit sequenziellen oder zufälligen Zeichen wie nfc_tag_1und nicht mit einem bestimmten Namen wie zu erstellen office_lights_tag. Der Grund dafür ist, dass Sie:
- Potenziell Informationen öffentlich preisgeben, da sie von jedem mit einem NFC-Gerät gelesen werden können.
- Verhindert, dass Sie Tags zu einem späteren Zeitpunkt wiederverwenden.
Speichern Sie schließlich nichts, was nicht öffentlich zugänglich gemacht werden soll (zB API-Schlüssel, IP-Adressen, …). Tags können mit genügend Arbeit kopiert / geklont werden. Ich muss noch herausfinden, wie man die Nutzlast eines Tags verschlüsselt, aber ich habe in meinen verschiedenen Suchen verschlüsselte Tags erwähnt. Trotzdem würde ich nichts Sensibles auf ein Etikett setzen!
AUSLÖSEN VON EREIGNISSEN, WENN NFC ERKANNT WIRD.
Ich bin ziemlich neu bei NFC, aber bei meinen Abenteuern bin ich nur auf zwei Möglichkeiten gestoßen, Home Assistant-Ereignisse auszulösen, wenn ein NFC-Tag erkannt wird. Sie können dies über die Shortcuts-App oder über tiefe / universelle Verlinkung tun .
Dieser Artikel konzentriert sich hauptsächlich auf die iOS-Unterstützung, da ich keine Android-Geräte zum Anprobieren habe. Die folgenden Links müssen möglicherweise leicht angepasst werden. Bitte hinterlassen Sie unten einen Kommentar, was für Sie funktioniert hat, und ich werde diesen Artikel aktualisieren.
Bitte beachten Sie, dass es Deeplinks für eine Vielzahl von Anwendungen gibt , für die Sie NFC-Tags verwenden können.
Springen Sie zum Abschluss, wenn Sie nach meinen Empfehlungen für die zu verwendende Lösung suchen.
STICHWORTE
Seit dem Schreiben dieses Artikels hat Home Assistant die Unterstützung für Tags hinzugefügt . Home Assistant verwaltet das Lesen und Schreiben von Tags für Sie, was wirklich schön ist. Sie müssen jedoch immer noch auf ein Banner klicken, um ein Ereignis auszulösen, wenn Sie ein Tag scannen.
DEEP/UNIVERSAL-LINKS
Der Einfachheit halber öffnet ein tiefer/universeller Link eine Anwendung mit einigen im Link enthaltenen Argumenten, die eine Aktion auslösen können. Mehr zu den Unterschieden können Sie hier lesen .
Sie können eine Vielzahl von Aktionen mit Links wie Call Services, Fire Events oder Send a Location ausführen .
Der Vorteil der Verwendung von Deep/Universal-Links besteht darin, dass jeder autorisierte Benutzer eine Home Assistant-Aktion ausführen kann, ohne dass auf dem Gerät eine Konfiguration definiert ist.
DEEP-LINK
Der folgende Deep-Link homeassistant://fire_event/nfc_tag_1 startet die Home Assistant-Anwendung, wenn sie installiert ist, löst ein aufgerufenes Ereignis aus nfc_tag_1und zeigt einen Warndialog an, der besagt, dass das nfc_tag_1Ereignis aufgerufen wurde.
Dies ist nicht ideal, da Sie nicht wirklich möchten, dass eine Benachrichtigung Sie unterbricht. Die Bewerbungseröffnung ist erschütternd genug.
DEEPLINK OHNE BENACHRICHTIGUNG
Glücklicherweise können wir eine Funktion namens x-callback-url. Dadurch können wir Anwendungsaktionen ohne Benachrichtigung auslösen. Wir müssen nur die URL ändern in homeassistant://x-callback-url/fire_event?eventName=nfc_tag_1
UNIVERSELLE VERBINDUNG
Deeplinks funktionieren hervorragend, solange die Anwendung, auf die Sie verlinken, installiert ist. Wenn dies nicht der Fall ist, wird der Link nichts tun. Dies ist eines der Probleme, die Universal Links lösen, indem Sie zum App Store weitergeleitet werden, wenn die Anwendung derzeit nicht installiert ist.
HINWEIS: Universelle Links wie https://www.home-assistant.io/ios/nfc/ werden bei der Installation der Anwendung registriert und funktionieren offline!
Hier ist der universelle Link, den Sie registrieren müssen https://www.home-assistant.io/ios/nfc/?url=homeassistant://x-callback-url/fire_event?eventName=nfc_tag_1 , um die Aktion ohne Benachrichtigung auszulösen.
SCHREIBEN VON LINKS ZU NFC-TAGS
Ich habe die kostenlose Anwendung namens NFC Tools verwendet, die auch im Google Play Store erhältlich ist .
Öffnen Sie die Anwendung und führen Sie die folgenden Schritte aus:
- Wählen Sie die WriteSchaltfläche aus.
- Wählen Sie die Add a recordSchaltfläche aus.
- Wählen Sie die URL / URIOption aus.
- Geben Sie Ihren Deep/Universal-Link ein und wählen Sie OK.
- Wählen Sie die Write / xx BytesSchaltfläche aus, um den Link zum NFC-Tag zu schreiben.
Wenn sich Ihr Telefon dem NFC-Tag nähert, wird ein Banner gestartet, in dem Sie aufgefordert werden, darauf zu klicken, um das Ereignis zu aktivieren.
Dies ist nicht ideal, aber es ist aus Sicherheitsgründen vorhanden, damit Ihr Telefon Aufgaben nicht automatisch ausführt.
VERKNÜPFUNGEN
Shortcuts ist eine iOS-Anwendung von Apple, mit der Sie gerätebasierte Aufgaben oder Automatisierungen ähnlich wie Tasker auf Android ausführen können .
Verknüpfungen definieren Aufgaben und Automatisierungen in der App, die auf verschiedene Weise ausgelöst werden können. Verknüpfungsaufgaben können problemlos geräteübergreifend geteilt werden. Shortcuts Automations können jedoch nicht geteilt werden und sind derzeit die einzige Möglichkeit, eine Aktion auszulösen, wenn ein NFC-Tag ohne Aufforderung erkannt wird.
Das Schöne an Shortcuts ist, dass Sie alles automatisieren können (zB SMS, Anwendungsaktionen, Videoanrufe und mehr).
ABKÜRZUNG
Es gibt zwei Arten von Verknüpfungen, die Sie erstellen können. Die erste wird als Verknüpfung bezeichnet und kann von Automatisierungen oder von NFC-Tags geteilt oder ausgelöst werden. Die zweite heißt Shortcut-Automatisierungen und diese werden automatisch ausgelöst, basierend auf einer Art von Aktion oder Zustand, wie zum Beispiel der Nähe zu einem NFC-Tag. Verknüpfungsautomatisierungen können derzeit ab iOS 13 nicht geteilt werden.
ERSTELLEN EINER NEUEN VERKNÜPFUNG
Wir müssen zuerst eine neue Verknüpfung erstellen, damit ein NFC-Tag sie auslöst.
Öffnen Sie die Shortcuts-Anwendung und führen Sie die folgenden Schritte aus:
- Wählen Sie die Create ShortcutSchaltfläche aus.
- Wählen Sie die Add ActionSchaltfläche aus.
- Wählen Sie die AppsSchaltfläche und wählen Sie Home Assistant.
- Wählen Sie die Fire EventOption aus.
- Geben Sie den Ereignisnamen ein, den Sie auslösen möchten (zB nfc_tag_1).
- Wählen Sie aus Show Moreund geben Sie ein {}für die Event Data.
- Wählen Sie die NextSchaltfläche aus.
- Geben Sie den Ereignisnamen als Shortcut-Namen ein (zB nfc_tag_1).
- Wählen Sie die DoneSchaltfläche aus, um die Verknüpfung zu speichern.
Sie können jetzt auf der Verknüpfungsschaltfläche, die Sie gerade hinzugefügt haben, auswählen, um ein Ereignis auszulösen! Wir können jetzt in ein NFC-Tag schreiben, um es anzuweisen, die soeben hinzugefügte Verknüpfung auszuführen, wenn das Tag von unserem Gerät gelesen wird.
VERKNÜPFUNG ZUM NFC-TAG SCHREIBEN
Ich habe die kostenlose Anwendung namens NFC Tools verwendet , um die Verknüpfung zum NFC-Tag zu schreiben.
Öffnen Sie die Anwendung und führen Sie die folgenden Schritte aus:
- Wählen Sie die WriteSchaltfläche aus.
- Wählen Sie die Add a recordSchaltfläche aus.
- Wählen Sie die ShortcutOption aus.
- Geben Sie den Namen der Verknüpfung ein und wählen Sie OK.
- Wählen Sie die Write / xx BytesSchaltfläche aus, um den Link zum NFC-Tag zu schreiben.
Wenn sich Ihr Telefon dem NFC-Tag nähert, wird ein Banner gestartet, in dem Sie aufgefordert werden, darauf zu klicken, um das Ereignis zu aktivieren.
Dies ist nicht ideal, aber es ist aus Sicherheitsgründen vorhanden, damit Ihr Telefon Aufgaben nicht automatisch ausführt.
VERKNÜPFUNGEN AUTOMATISIERUNGEN
Wie bereits erwähnt, werden Automatisierungen in den Shortcut-Apps eingerichtet und können nicht geräteübergreifend geteilt werden. Dies bedeutet, dass dies viel Arbeit erfordert, wenn Sie mehr als einen Benutzer haben, der NFC-Tag für Automatisierungen verwendet. Der Vorteil ist, dass Sie nichts in das NFC-Tag schreiben müssen, um diese Automatisierungen zu verwenden, und sie laufen ohne Benutzerinteraktion. Ich denke, das ist der größte Gewinn dieses Ansatzes.
Öffnen Sie die Shortcuts-Anwendung und führen Sie die folgenden Schritte aus:
- Wählen Sie die Registerkarte Automatisierung.
- Wählen Sie die AddSymbolschaltfläche aus.
- Wählen Sie die Create Personal AutomationSchaltfläche aus.
- Wählen Sie die NFCOption unter der Settings Category.
- Wählen Sie die ScanSchaltfläche aus und scannen Sie Ihr NFC-Tag.
- Geben Sie den Ereignisnamen als Shortcut-Namen ein (zB nfc_tag_1).
- Wählen Sie die NextSchaltfläche aus.
- Wählen Sie die AppsSchaltfläche und wählen Sie Home Assistant.
- Wählen Sie die Fire EventOption aus.
- Geben Sie den Ereignisnamen ein, den Sie auslösen möchten (zB nfc_tag_1).
- Wählen Sie aus Show Moreund geben Sie ein {}für die Event Data.
- Wählen Sie die NextSchaltfläche aus.
- Deaktivieren Sie Ask Before Running, es sei denn, Sie möchten dazu aufgefordert werden.
- Wählen Sie die DoneSchaltfläche aus, um die Automation zu speichern.
Wenn sich Ihr Telefon dem NFC-Tag nähert, wird das Ereignis automatisch ausgelöst.
HOME ASSISTANT-AUTOMATISIERUNG
Hier ist eine schnelle kleine Home Assistant-Automatisierung, die Sie verwenden können, die ausgelöst wird, wenn Ihr NFC-Tag gelesen und das Ereignis ausgelöst wird (z nfc_tag_1. B. ).
- alias: Toggle light when event is nfc_tag_1 event is triggered
trigger:
- event_data: {}
event_type: nfc_tag_1
platform: event
action:
- service: light.turn_on
data:
entity_id:
- light.office
Hinweis: Diese Automatisierung kann sehr einfach in der Benutzeroberfläche (UI) von Home Assistant Automations erstellt werden.
ZUKUNFTSPLÄNE
Hier sind einige der Dinge, die ich in Zukunft ausprobieren möchte und die wir meiner Meinung nach in Home Assistant ansprechen müssen, wenn er noch nicht verfügbar ist.
Ich möchte einen Weg finden, um sicherzustellen, dass mein Tag von jedem Gerät ausgeführt werden kann, ohne dass Implementierungsdetails zur Ausführung preisgegeben werden. Ich denke, dies hängt damit zusammen, dass möglicherweise ein gemeinsamer universeller Deep-Link hinzugefügt wird, der auf verschiedenen Plattformen funktioniert.
Um einen Schritt weiter zu gehen, wäre es wirklich schön, ein benanntes Zugriffstoken zu haben, auf das jeder Benutzer zugreifen kann, um eine Aktion auszuführen. Ich sehe dies als einen benannten kurzen Link, von dem ich die Aktion definiere, die er serverseitig ausführen kann (zB dieses Licht einschalten oder diese Aktion auslösen). Diese könnten sogar verwendet werden, um den Status anonym zu teilen! Dies würde jedoch Ihre Home Assistance-Instanz in irgendeiner Weise entlarven.
Es sind weitere Untersuchungen erforderlich, um zu sehen, ob ich NFC-Tag-Aktionen stapeln kann, um mehrere gleichzeitig auszuführen, oder ob nur unterstützte von einem bestimmten Gerät ausgeführt werden (z. . Dies könnte verwendet werden, um Ereignisse zu stapeln, die ausgelöst oder Dienste aufgerufen werden.
Schließlich wäre es schön herauszufinden, wie ich meine Tags verschlüsseln kann, damit ich mehr erfahren kann!
ABSCHLUSS
UPDATE: Seit dem Schreiben dieses Artikels hat Home Assistant die Unterstützung für Tags hinzugefügt . Ich würde die Verwendung von Tags empfehlen, aber Sie müssen trotzdem auf ein Benachrichtigungsbanner klicken, um ein Ereignis auszulösen. Möglicherweise möchten Sie sowohl Tags als auch Verknüpfungsautomatisierungen zusammen verwenden, indem Sie zuerst Tags konfigurieren und dann die Verknüpfungsautomatisierung einrichten.
Ich werde die Universal Link- Route mit allen meinen Tags verwenden, da ich die Konfiguration einmal definiere, was das Tag tun soll und jeder, der sich mit der Home Assistant-App authentifiziert hat, Ereignisse auslösen kann.
Ich denke, dass Shortcut Automations die beste Benutzererfahrung bietet, indem automatisch Aktionen ausgelöst werden, wenn NFC-Tags erkannt werden. Aber sie können nicht über Geräte oder Konten geteilt / synchronisiert werden, was dies zu einem Nichtstarter macht, es sei denn, Sie besitzen immer ein einzelnes Apple-Gerät oder Sie lieben es einfach, Automatisierungen langfristig zu pflegen. Ich denke, ich kann Shortcut-Automatisierungen für einige Automatisierungen verwenden, bei denen zusätzliche Interaktion nicht ideal ist, wie das Aktivieren von Gute-Nacht-Routinen, ohne daran zu denken, auf das Banner zu drücken.
NFC-Tags können für die Hausautomation oder sogar für gerätespezifische Aufgaben verwendet werden.
ZUSÄTZLICHE LEKTÜRE
Hier sind einige nützliche Links, auf die ich bei meinen NFC-Abenteuern gestoßen bin:
- Hinzufügen von Unterstützung für das Lesen von Tags im Hintergrund
- Wie verhindern NFC-Tags das Kopieren?
- Apple Shortcuts Home Assistant iOS Tutorial
- Multifunktions-NFC-Tags mit Home Assistant und Tasker