In diesem Beitrag geht es um die Integration von Apple Airtag in Home Assistant. Aber nicht nur original Airtags, alle Tracker, die sich in das Wo Ist? Netzwerk integrieren lassen können über diesen Weg ausgelesen und die Daten an Home Assistant versendet werden.
Dieser Beitrag bezieht auf den original Beitrag des Entwicklers der Methode
Das Video zu diesem Beitrag ist am Ende des Beitrags verlinkt.
Airtag Kurzbefehl importieren
Öffne diese Webseite auf deinem iPhone um den Kurzbefehl in die Kurzbefehle Ap zu importieren:
Airtag Template Sensor erstellen
Achtung: Ich verwende eine sensors.yaml. Dies ist eine extra Konfiguration in Home Assistant. Die Nutzung einer sensors.yaml muss in der configuration.yaml referenziert werden.
- platform: template
sensors:
airtag_geldboerse:
friendly_name: "Geldbörse"
value_template: >
{% set address = states('input_text.airtag').split('Geldbörse')[1].split('*')[0] %}
{% if "Privat" in address %} Zuhause
{% else %} {{ address }}
{% endif %}
attribute_templates:
address: "{{ states('input_text.airtag').split('Geldbörse')[1].split('*')[0] }}"
icon_template: mdi:bag-personal
Google App Skript zur automatischen Löschung von Home Assistant E-Mails
Schritt 1: Anlegen des Projektes und ggf. Anpassung von Subject
function removeOldAirtagEmails(){
// Define the search string to identify emails
var searchString = "subject:'Airtag auslesen' older_than:1h ";
// Get all threads matching search string
var threads = getThreadsMatchingSearch(searchString);
// Check whether thread search returned some results
if (typeof threads !== 'undefined' && threads.length > 0) {
// Mark as read and remove threads
moveThreadsToTrash(threads);
}
}
function getThreadsMatchingSearch(searchString){
// Get all threads matching search string
try{
var threads = GmailApp.search(searchString);
Logger.log("Found " + threads.length + " threads (conversations of emails) matching search string (" + searchString + "). Note that size limited to 500.");
}
catch(error){
Logger.log("Warning! Unable to complete email search: " + error.message);
}
return(threads);
}
function moveThreadsToTrash(threads, batchSize=100){
// Work through the threads in batches (100 is the limit that batch operations can work on)
for (j = 0; j < threads.length; j += batchSize) {
// Select the current batch of threads
var batch = threads.slice(j, j+batchSize);
// Move the threads to the trash
try{
GmailApp.moveThreadsToTrash(batch);
Logger.log("Moved " + batch.length + " threads to trash.");
}
catch(error){
Logger.log("Warning! Unable to move threads to trash: " + error.message);
}
}
}
Schritt 2: Trigger erstellen zur Automation des Skriptes