package icon

Presence Publisher

Regularly publish to an MQTT topic
New in version 2.5.2
v2.5.2
• added another missing bluetooth permission

v2.5.1
• bright and dark mode
• new permissions for bluetooth detection on Android 12+

v2.5.0
• support for wildcards when selecting WiFi networks
• improved validation of input values
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 SSID of connected Wi-Fi while running in background
• ACCESS_FINE_LOCATION: necessary to discover beacons; on Android 9+, necessary to retrieve SSID 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: necessary on Android 9+ to run the app reliably
• INTERNET: only necessary if your MQTT server is not running locally
• POST_NOTIFICATIONS: necessary in Android 13+ 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.5.2 (50) suggested Added on 2023-04-25

    This version requires Android 4.4 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 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.
    • 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.
    • 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.
    • 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.0 MiB PGP Signature | Build Log

  • Version 2.5.1 (49) - Added on 2023-04-20

    This version requires Android 4.4 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 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)
    • 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.
    • 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.
    • 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.
    • 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.0 MiB PGP Signature | Build Log

  • Version 2.5.0 (48) - Added on 2023-04-01

    This version requires Android 4.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 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.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • run foreground service
      Allows the app to make use of foreground services.
    • 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.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (4.3)
    • 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.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • org.ostrya.presencepublisher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (4.3)

    Download APK 3 MiB PGP Signature | Build Log