Diese freie Open-Source-App sendet regelmäßig Nachrichten an ein konfigurierbares
MQTT-Topic, wann immer dein Handy mit einem vorgegebenen WLAN-Netzwerk verbunden
oder in der Nähe eines Bluetooth-Beacons ist.
Dies kann zur Integration der Anwesenheit deines Handys in der Heimautomatisierung
eingesetzt werden.

Die App benutzt die AndroidX WorkManager Bibliothek, sodass Nachrichten auch dann
gesendet werden, wenn sich dein Gerät im Standby befindet. Neben Prüfungen in
regelmäßigen Abständen reagiert die App auch auf Veränderungen in der Netzwerkverbindung.

Der MQTT-Client unterstützt anonyme Kommunikation und Authentifikation über Benutzername
und Passwort sowie über Client-Zertifikate. Mehr Details zum Einrichten von
zertifikatsbasierter Authentifizierung findest du unter
<a href="https://github.com/ostrya/PresencePublisher/blob/main/README.md">https://github.com/ostrya/PresencePublisher/blob/main/README.md</a>
(auf Englisch).

Jegliche Daten, die du zum Versenden auswählst, werden ausschließlich auf den von
dir vorgegebenen Server verschickt. Die App versendet keinerlei Daten an mich oder Dritte.

Mehr Informationen dazu, wie diese App deine Daten verarbeitet, findest du in der
Datenschutzerklärung unter <a href="https://ostrya.github.io/PresencePublisher/de/PRIVACY_POLICY.html">https://ostrya.github.io/PresencePublisher/de/PRIVACY_POLICY.html</a>

<b>Berechtigungen</b>

• ACCESS_BACKGROUND_LOCATION: notwendig ab Android 10, um den Namen des verbundenen WLANs im Hintergrund zu erfassen
• ACCESS_FINE_LOCATION: notwendig für das Finden von Bluetooth-Beacons; notwendig ab Android 9, um den Namen des verbundenen WLANs zu erfassen
• ACCESS_NETWORK_STATE: notwendig für das Reagieren auf Netzwerk-Änderungen
• ACCESS_WIFI_STATE: notwendig, um den Namen des verbundenen WLANs zu erfassen
• BLUETOOTH: notwendig bis Android 11, um mit Bluetooth-Beacons zu kommunizieren
• BLUETOOTH_ADMIN: notwendig bis Android 11, um unbekannte Bluetooth-Beacons zu finden
• BLUETOOTH_CONNECT: notwendig ab Android 12, um Namen von unbekannten Bluetooth-Beacons zu lesen
• BLUETOOTH_SCAN: notwendig ab Android 12, um unbekannte Bluetooth-Beacons zu finden
• FOREGROUND_SERVICE: notwendig ab Android 9, damit die App zuverlässig laufen kann
• FOREGROUND_SERVICE_DATA_SYNC: notwendig ab Android 14, um MQTT-Nachrichten zu senden
• INTERNET: nur notwendig, wenn dein MQTT-Broker nicht im lokalen Netzwerk läuft
• POST_NOTIFICATIONS: notwendig ab Android 13, um Benachrichtigungen zu erzeugen
• RECEIVE_BOOT_COMPLETED: notwendig, damit die App nach dem Neustart des Geräts automatisch starten kann
• REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: notwendig ab Android 6, um Batterieoptimierung zu deaktivieren
