package icon

Presence Publisher

Regularly publish to an MQTT topic
New in version 2.6.4
v2.6.4
• fixed even more issues with wifi detection in Android 10 and 11
• fixed wrongly sending messages if no condition matches

v2.6.3
• fixed further issues with wifi detection in Android 10 and 11

v2.6.2
• fixed issues with wifi detection in Android 10 and 11
This free open-source app regularly publishes to a configurable MQTT topic whenever
connected to a given Wi-Fi network or in proximity to a Bluetooth beacon.
It can be used to integrate the presence of your phone in home automation.

The app uses the AndroidX WorkManager library, so notifications are sent
even if the phone is in stand-by. In addition to regularly scheduled checks,
the app also reacts to changes in the network connection.

The MQTT client supports anonymous and username / password authentication
as well as client certificate authentication. For more details on how to
configure certificate-based authentication, please have a look at
https://github.com/ostrya/PresencePublisher/blob/main/README.md.

Note that the data you choose to publish is sent only to the server of your choice.
The app does not send any data to me or any other third party.

If you want to know more about how this app processes your location data,
please have a look at the privacy policy at https://ostrya.github.io/PresencePublisher/en/PRIVACY_POLICY.html.

Permissions

• ACCESS_BACKGROUND_LOCATION: on Android 10+, necessary to retrieve name of connected Wi-Fi while running in background
• ACCESS_FINE_LOCATION: necessary to discover beacons; on Android 9+, necessary to retrieve name of connected Wi-Fi
• ACCESS_NETWORK_STATE: necessary to register network change listener
• ACCESS_WIFI_STATE: necessary to retrieve SSID of connected Wi-Fi
• BLUETOOTH: necessary up to Android 11 to communicate with beacons
• BLUETOOTH_ADMIN: necessary up to Android 11 to discover beacons
• BLUETOOTH_CONNECT: on Android 12+, necessary to read beacon names
• BLUETOOTH_SCAN: on Android 12+, necessary to discover beacons
• FOREGROUND_SERVICE: on Android 9+, necessary to run the app reliably
• FOREGROUND_SERVICE_DATA_SYNC: on Android 14+, necessary to send MQTT messages
• INTERNET: only necessary if your MQTT server is not running locally
• POST_NOTIFICATIONS: on Android 13+, necessary to create notifications
• RECEIVE_BOOT_COMPLETED: necessary to start service on start-up
• REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: on Android 6+, necessary to request disabling battery optimization

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 2.6.4 (56) suggested Added on Oct 05, 2024

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
      (11)
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
      (11)
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth devices
    • discover and pair nearby Bluetooth devices
      Allows the app to discover and pair nearby Bluetooth devices
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "dataSync"
      Allows the app to make use of foreground services with the type "dataSync"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • org.ostrya.presencepublisher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 3.3 MiB PGP Signature | Build Log

  • Version 2.6.3 (55) - Added on Sep 16, 2024

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
      (11)
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
      (11)
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth devices
    • discover and pair nearby Bluetooth devices
      Allows the app to discover and pair nearby Bluetooth devices
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "dataSync"
      Allows the app to make use of foreground services with the type "dataSync"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • org.ostrya.presencepublisher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 3.3 MiB PGP Signature | Build Log

  • Version 2.6.2 (54) - Added on Sep 12, 2024

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
      (11)
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
      (11)
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth devices
    • discover and pair nearby Bluetooth devices
      Allows the app to discover and pair nearby Bluetooth devices
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "dataSync"
      Allows the app to make use of foreground services with the type "dataSync"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • org.ostrya.presencepublisher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 3.3 MiB PGP Signature | Build Log