platypush.plugins.mobile.join

class platypush.plugins.mobile.join.InterruptionFilterPolicy[source]

An enumeration.

class platypush.plugins.mobile.join.MobileJoinPlugin(api_key: str, **kwargs)[source]

Control mobile devices and other devices linked to Join (https://joaoapps.com/join/api/). It requires you to have either the Join app installed on an Android device or the Join browser extension installed.

The device parameter in the actions can be:

  • A device ID or name
  • A list or comma-separated list of device IDs/names
  • A group name or a list of group names

Supported groups:

  • group.all
  • group.android
  • group.windows10
  • group.phone
  • group.tablet
  • group.pc
__init__(api_key: str, **kwargs)[source]
Parameters:api_key – Join API key. Get your at https://joinjoaomgcd.appspot.com/.
call_number(device, number: str)[source]

Call a phone number through a mobile device connected to Join

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • number – Phone number
find(device)[source]

Make a device ring loudly :param device: Device ID or name, or list of device IDs/names, or group name(s)

get_devices()[source]
Returns:List of connected devices, each containing ‘id’, ‘name’, ‘user’ and ‘has_tasker’ attributes
launch_app(device, name: str = None, package: str = None)[source]

Launch an app on a device

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • name – Application name
  • package – Alternatively to the application name, you can also specify the application package name. You can check the package name for an app by going to its Google Play page and checking the end of the URL. Example: for YouTube this is the URL (https://play.google.com/store/apps/details?id=com.google.android.youtube) and this is the package name (com.google.android.youtube)
push(device, text=None, url=None, file=None)[source]

Push a URL or file to one or more devices

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • text – Optional description text for the URL or file
  • url – URL to be pushed
  • file – A publicly accessible URL of a file. You can also send the url of a file on your personal Google Drive
say(device, text: str, language: str = None)[source]

Say some text through a device’s TTS engine

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • text – Text to say
  • language – Language code
send_mms(device, file: str = None, text: str = None, subject: str = '', number: str = None, contact_name: str = None, urgent: bool = False)[source]

Send an MMS through a mobile device connected to Join

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • text – Text to be sent
  • number – Phone number
  • contact_name – Alternatively to the phone number, you can specify a contact name
  • file – File attached to the message. Must be a local (to the phone) file or a publicly accessible URL
  • subject – MMS subject
  • urgent – Set to True if this is an urgent MMS. This will make the sent message be an MMS instead of an SMS
send_notification(device, title: str = None, text: str = None, url: str = None, file: str = None, icon: str = None, small_icon: str = None, priority: int = 2, vibration_pattern=None, dismiss_on_touch: bool = False, image: str = None, group: str = None, sound: str = None, actions=None)[source]

Send a notification to a device

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • title – Notification title
  • text – Notification text
  • url – URL to be opened on touch
  • file – A publicly accessible URL of a file that will be opened or downloaded on touch. You can also send the url of a file on your personal Google Drive.
  • icon – If a notification is created on the receiving device and this is set, then it’ll be used as the notification’s icon. If this image has transparency, it’ll also be used as the status bar icon is smallicon is not set. It’ll also be used to tint the notification with its dominating color
  • small_icon – If a notification is created on the receiving device and this is set, then it’ll be used as the notification’s status bar icon
  • priority – Control how your notification is displayed: lower priority notifications are usually displayed lower in the notification list. Values from -2 (lowest priority) to 2 (highest priority). Default is 2.
  • vibration_pattern (str (comma-separated float values) or list[float]) – If the notification is received on an Android device, the vibration pattern in this field will change the way the device vibrates with it. You can easily create a pattern by going to the AutoRemote notification page and generate the pattern in the Vibration Pattern field
  • dismiss_on_touch – If set the notification will be dismissed when touched (default: False)
  • image – Publicly available URL for an image to show up in the notification
  • group – Unique ID to group your notifications with
  • sound – Publicly available URL for a sound to play with the notification
  • actions – Set notification buttons with customized behaviour. This parameter is a list of Join actions configured on the target device that will be mapped to notification input elements. More info on the Joaoapps notifications page
send_sms(device, text: str, number: str = None, contact_name: str = None)[source]

Send an sms through a mobile device connected to Join

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • text – Text to be sent
  • number – Phone number
  • contact_name – Alternatively to the phone number, you can specify a contact name
set_alarm_volume(device, volume: float)[source]

Set alarm volume

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • volume – Volume
set_clipboard(device, text)[source]

Write to the clipboard of a device

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • text – Text to be set
set_interruption_filter(device, policy: str)[source]

Set interruption filter on one or more devices

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • policy

    Possible values:

    • ’allow_all’: Allow all notifications
    • ’priority_only’: Allow only priority notifications and calls
    • ’alarm_only’: Allow only alarm-related interruptions
    • ’block_all’: Do not allow any interruptions
set_lock_wallpaper(device, wallpaper: str)[source]

Set the lock wallpaper on a device connected to Join

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • wallpaper – A publicly accessible URL of an image file. Will set the lockscreen wallpaper on the receiving device if the device has Android 7 or above
set_media_volume(device, volume: float)[source]

Set media volume

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • volume – Volume
set_ring_volume(device, volume: float)[source]

Set ring volume

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • volume – Volume
set_wallpaper(device, wallpaper: str)[source]

Set the wallpaper on a device connected to Join

Parameters:
  • device – Device ID or name, or list of device IDs/names, or group name(s)
  • wallpaper – A publicly accessible URL of an image file. Will set the wallpaper on the receiving device