camera.android.ipcam#

Description#

Plugin to control remote Android cameras over IPCam.

Configuration#

camera.android.ipcam:
  # [Optional]
  # Custom name for the default camera (default: IP/hostname)
  # name:   # type=Optional[str]

  # [Optional]
  # Camera host name or address
  # host:   # type=Optional[str]

  # [Optional]
  # Camera port
  # port: 8080  # type=int

  # [Optional]
  # Camera username, if set
  # username:   # type=Optional[str]

  # [Optional]
  # Camera password, if set
  # password:   # type=Optional[str]

  # [Optional]
  # Connection timeout
  # timeout: 10  # type=int

  # [Optional]
  # Use HTTPS instead of HTTP
  # ssl: True  # type=bool

  # [Optional]
  # Alternatively, you can specify a list of IPCam cameras as a
  # list of objects with ``name``, ``host``, ``port``, ``username``,
  # ``password``, ``timeout`` and ``ssl`` attributes.
  # cameras:   # type=Optional[Sequence[dict]]

Actions#

Module reference#

class platypush.plugins.camera.android.ipcam.AndroidIpcam(name: str, host: str, port: int = 8080, username: str | None = None, password: str | None = None, timeout: int = 10, ssl: bool = True)[source]#

Bases: object

IPCam camera configuration.

__init__(name: str, host: str, port: int = 8080, username: str | None = None, password: str | None = None, timeout: int = 10, ssl: bool = True)[source]#
class platypush.plugins.camera.android.ipcam.CameraAndroidIpcamPlugin(name: str | None = None, host: str | None = None, port: int = 8080, username: str | None = None, password: str | None = None, timeout: int = 10, ssl: bool = True, cameras: Sequence[dict] | None = None, **kwargs)[source]#

Bases: Plugin

Plugin to control remote Android cameras over IPCam.

__init__(name: str | None = None, host: str | None = None, port: int = 8080, username: str | None = None, password: str | None = None, timeout: int = 10, ssl: bool = True, cameras: Sequence[dict] | None = None, **kwargs)[source]#
Parameters:
  • name – Custom name for the default camera (default: IP/hostname)

  • host – Camera host name or address

  • port – Camera port

  • username – Camera username, if set

  • password – Camera password, if set

  • timeout – Connection timeout

  • ssl – Use HTTPS instead of HTTP

  • cameras – Alternatively, you can specify a list of IPCam cameras as a list of objects with name, host, port, username, password, timeout and ssl attributes.

change_setting(key: str, value: str | int | bool, camera: int | str | None = None) bool[source]#

Change a setting.

Parameters:
  • key – Setting name

  • value – Setting value

  • camera – Camera index or configured name

Returns:

True on success, False otherwise

set_focus(activate: bool = True, camera: int | str | None = None) bool[source]#

Enable/disable the focus.

set_front_facing_camera(activate: bool = True, camera: int | str | None = None) bool[source]#

Enable/disable the front-facing camera.

set_gps(activate: bool = True, camera: int | str | None = None) bool[source]#

Enable/disable GPS.

set_motion_detect(activate: bool = True, camera: int | str | None = None) bool[source]#

Enable/disable motion detect.

set_night_vision(activate: bool = True, camera: int | str | None = None) bool[source]#

Enable/disable night vision.

set_orientation(orientation: str = 'landscape', camera: int | str | None = None) bool[source]#

Set video orientation.

set_overlay(activate: bool = True, camera: int | str | None = None) bool[source]#

Enable/disable video overlay.

set_quality(quality: int = 100, camera: int | str | None = None) bool[source]#

Set video quality.

set_scenemode(scenemode: str = 'auto', camera: int | str | None = None) bool[source]#

Set video orientation.

set_torch(activate: bool = True, camera: int | str | None = None) bool[source]#

Enable/disable the torch.

set_zoom(zoom: float, camera: int | str | None = None) bool[source]#

Set the zoom level.

start_recording(tag: str | None = None, camera: int | str | None = None) bool[source]#

Start recording.

status(camera: int | str | None = None) List[dict][source]#
Parameters:

camera – Camera index or name (default: status of all the cameras)

Returns:

[
  {
    "aperture": 1.7,
    "audio_connections": "Number of active audio connections",
    "audio_only": "Whether the camera is in audio-only mode",
    "audio_url": "http://192.168.1.10:8080/audio.wav",
    "coloreffect": "none",
    "crop_x": 50,
    "crop_y": 50,
    "exposure_ns": 9384,
    "filter_density": "Filter density",
    "flashmode": "off",
    "focal_length": 4.25,
    "focus_distance": "Focus distance",
    "focusmode": "continuous-video",
    "gps_active": "Whether GPS is active",
    "idle": "Idle status of the camera",
    "image_url": "http://192.168.1.10:8080/photo.jpg",
    "ip_address": "192.168.1.10",
    "iso": 100,
    "manual_sensor": "Whether the sensor is in manual mode",
    "mirror_flip": "none",
    "motion_detect": "Whether motion detection is enabled",
    "motion_display": "Whether motion display is enabled",
    "motion_limit": 250,
    "name": "Front Door",
    "night_vision": "Whether night vision is enabled",
    "night_vision_average": 2,
    "night_vision_gain": 1.0,
    "orientation": "landscape",
    "overlay": "Whether the camera is in overlay mode",
    "photo_size": "1920x1080",
    "quality": 49,
    "scenemode": "auto",
    "stream_url": "http://192.168.1.10:8080/video",
    "torch": "Whether the torch is enabled",
    "video_connections": "Number of active video connections",
    "video_size": "1920x1080",
    "whitebalance": "auto",
    "zoom": 100
  }
]

stop_recording(camera: int | str | None = None) bool[source]#

Stop recording.

take_picture(image_file: str, camera: int | str | None = None) dict[source]#

Take a picture and save it on the local device.

Returns:

dict

{
  "image_file": "/path/to/image.jpg"
}