Protobuf Documentation
Enums​
EnumCOHNNetworkState​
| Name | Value | Description |
|---|---|---|
| COHN_STATE_Init | 0 | |
| COHN_STATE_Error | 1 | |
| COHN_STATE_Exit | 2 | |
| COHN_STATE_Idle | 5 | |
| COHN_STATE_NetworkConnected | 27 | |
| COHN_STATE_NetworkDisconnected | 28 | |
| COHN_STATE_ConnectingToNetwork | 29 | |
| COHN_STATE_Invalid | 30 |
EnumCOHNStatus​
| Name | Value | Description |
|---|---|---|
| COHN_UNPROVISIONED | 0 | |
| COHN_PROVISIONED | 1 |
EnumCameraControlStatus​
| Name | Value | Description |
|---|---|---|
| CAMERA_IDLE | 0 | |
| CAMERA_CONTROL | 1 | Can only be set by camera, not by app or third party |
| CAMERA_EXTERNAL_CONTROL | 2 | |
| CAMERA_COF_SETUP | 3 | Set by the camera when it is on the CAH (Camera As a Hub) / COF (Cloud Offload) setup screen |
EnumFlatMode​
| Name | Value | Description |
|---|---|---|
| FLAT_MODE_UNKNOWN | -1 | |
| FLAT_MODE_PLAYBACK | 4 | |
| FLAT_MODE_SETUP | 5 | |
| FLAT_MODE_VIDEO | 12 | |
| FLAT_MODE_TIME_LAPSE_VIDEO | 13 | |
| FLAT_MODE_LOOPING | 15 | |
| FLAT_MODE_PHOTO_SINGLE | 16 | |
| FLAT_MODE_PHOTO | 17 | |
| FLAT_MODE_PHOTO_NIGHT | 18 | |
| FLAT_MODE_PHOTO_BURST | 19 | |
| FLAT_MODE_TIME_LAPSE_PHOTO | 20 | |
| FLAT_MODE_NIGHT_LAPSE_PHOTO | 21 | |
| FLAT_MODE_BROADCAST_RECORD | 22 | |
| FLAT_MODE_BROADCAST_BROADCAST | 23 | |
| FLAT_MODE_TIME_WARP_VIDEO | 24 | |
| FLAT_MODE_LIVE_BURST | 25 | |
| FLAT_MODE_NIGHT_LAPSE_VIDEO | 26 | |
| FLAT_MODE_SLOMO | 27 | |
| FLAT_MODE_IDLE | 28 | |
| FLAT_MODE_VIDEO_STAR_TRAIL | 29 | |
| FLAT_MODE_VIDEO_LIGHT_PAINTING | 30 | |
| FLAT_MODE_VIDEO_LIGHT_TRAIL | 31 | |
| FLAT_MODE_VIDEO_BURST_SLOMO | 32 |
EnumLens​
| Name | Value | Description |
|---|---|---|
| LENS_WIDE | 0 | |
| LENS_SUPERVIEW | 3 | |
| LENS_LINEAR | 4 |
EnumLiveStreamError​
| Name | Value | Description |
|---|---|---|
| LIVE_STREAM_ERROR_NONE | 0 | No error (success) |
| LIVE_STREAM_ERROR_NETWORK | 1 | General network error during the stream |
| LIVE_STREAM_ERROR_CREATESTREAM | 2 | Startup error: bad URL or valid with live stream server |
| LIVE_STREAM_ERROR_OUTOFMEMORY | 3 | Not enough memory on camera to complete task |
| LIVE_STREAM_ERROR_INPUTSTREAM | 4 | Failed to get stream from low level camera system |
| LIVE_STREAM_ERROR_INTERNET | 5 | No internet access detected on startup of streamer |
| LIVE_STREAM_ERROR_OSNETWORK | 6 | Error occured in linux networking stack. Usually means the server closed the connection |
| LIVE_STREAM_ERROR_SELECTEDNETWORKTIMEOUT | 7 | Timed out attemping to connect to the wifi network when attemping live stream |
| LIVE_STREAM_ERROR_SSL_HANDSHAKE | 8 | SSL handshake failed (commonly caused due to incorrect time / time zone) |
| LIVE_STREAM_ERROR_CAMERA_BLOCKED | 9 | Low level camera system rejected attempt to start live stream |
| LIVE_STREAM_ERROR_UNKNOWN | 10 | Unknown |
| LIVE_STREAM_ERROR_SD_CARD_FULL | 40 | Can not perform livestream because sd card is full |
| LIVE_STREAM_ERROR_SD_CARD_REMOVED | 41 | Livestream stopped because sd card was removed |
EnumLiveStreamStatus​
| Name | Value | Description |
|---|---|---|
| LIVE_STREAM_STATE_IDLE | 0 | Initial status. Livestream has not yet been configured |
| LIVE_STREAM_STATE_CONFIG | 1 | Livestream is being configured |
| LIVE_STREAM_STATE_READY | 2 | Livestream has finished configuration and is ready to start streaming |
| LIVE_STREAM_STATE_STREAMING | 3 | Livestream is actively streaming |
| LIVE_STREAM_STATE_COMPLETE_STAY_ON | 4 | Live stream is exiting. No errors occured. |
| LIVE_STREAM_STATE_FAILED_STAY_ON | 5 | Live stream is exiting. An error occurred. |
| LIVE_STREAM_STATE_RECONNECTING | 6 | An error occurred during livestream and stream is attempting to reconnect. |
| LIVE_STREAM_STATE_UNAVAILABLE | 7 | Live stream setup is unavailable due to camera lens configuration |
EnumPairingFinishState​
| Name | Value | Description |
|---|---|---|
| SUCCESS | 0 | |
| FAILED | 1 |
EnumPresetGroup​
| Name | Value | Description |
|---|---|---|
| PRESET_GROUP_ID_VIDEO | 1000 | |
| PRESET_GROUP_ID_PHOTO | 1001 | |
| PRESET_GROUP_ID_TIMELAPSE | 1002 | |
| PRESET_GROUP_ID_GENERAL | 2000 |
EnumPresetGroupIcon​
| Name | Value | Description |
|---|---|---|
| PRESET_GROUP_VIDEO_ICON_ID | 0 | |
| PRESET_GROUP_PHOTO_ICON_ID | 1 | |
| PRESET_GROUP_TIMELAPSE_ICON_ID | 2 | |
| PRESET_GROUP_LONG_BAT_VIDEO_ICON_ID | 3 | |
| PRESET_GROUP_ENDURANCE_VIDEO_ICON_ID | 4 | |
| PRESET_GROUP_MAX_VIDEO_ICON_ID | 5 | |
| PRESET_GROUP_MAX_PHOTO_ICON_ID | 6 | |
| PRESET_GROUP_MAX_TIMELAPSE_ICON_ID | 7 | |
| PRESET_GROUP_ND_MOD_VIDEO_ICON_ID | 8 | |
| PRESET_GROUP_ND_MOD_PHOTO_ICON_ID | 9 | |
| PRESET_GROUP_ND_MOD_TIMELAPSE_ICON_ID | 10 |
EnumPresetIcon​
| Name | Value | Description |
|---|---|---|
| PRESET_ICON_VIDEO | 0 | |
| PRESET_ICON_ACTIVITY | 1 | |
| PRESET_ICON_CINEMATIC | 2 | |
| PRESET_ICON_PHOTO | 3 | |
| PRESET_ICON_LIVE_BURST | 4 | |
| PRESET_ICON_BURST | 5 | |
| PRESET_ICON_PHOTO_NIGHT | 6 | |
| PRESET_ICON_TIMEWARP | 7 | |
| PRESET_ICON_TIMELAPSE | 8 | |
| PRESET_ICON_NIGHTLAPSE | 9 | |
| PRESET_ICON_SNAIL | 10 | |
| PRESET_ICON_VIDEO_2 | 11 | |
| PRESET_ICON_PHOTO_2 | 13 | |
| PRESET_ICON_PANORAMA | 14 | |
| PRESET_ICON_BURST_2 | 15 | |
| PRESET_ICON_TIMEWARP_2 | 16 | |
| PRESET_ICON_TIMELAPSE_2 | 17 | |
| PRESET_ICON_CUSTOM | 18 | |
| PRESET_ICON_AIR | 19 | |
| PRESET_ICON_BIKE | 20 | |
| PRESET_ICON_EPIC | 21 | |
| PRESET_ICON_INDOOR | 22 | |
| PRESET_ICON_MOTOR | 23 | |
| PRESET_ICON_MOUNTED | 24 | |
| PRESET_ICON_OUTDOOR | 25 | |
| PRESET_ICON_POV | 26 | |
| PRESET_ICON_SELFIE | 27 | |
| PRESET_ICON_SKATE | 28 | |
| PRESET_ICON_SNOW | 29 | |
| PRESET_ICON_TRAIL | 30 | |
| PRESET_ICON_TRAVEL | 31 | |
| PRESET_ICON_WATER | 32 | |
| PRESET_ICON_LOOPING | 33 | |
| PRESET_ICON_STARS | 34 | |
| PRESET_ICON_ACTION | 35 | |
| PRESET_ICON_FOLLOW_CAM | 36 | |
| PRESET_ICON_SURF | 37 | |
| PRESET_ICON_CITY | 38 | |
| PRESET_ICON_SHAKY | 39 | |
| PRESET_ICON_CHESTY | 40 | |
| PRESET_ICON_HELMET | 41 | |
| PRESET_ICON_BITE | 42 | |
| PRESET_ICON_CUSTOM_CINEMATIC | 43 | |
| PRESET_ICON_VLOG | 44 | |
| PRESET_ICON_FPV | 45 | |
| PRESET_ICON_HDR | 46 | |
| PRESET_ICON_LANDSCAPE | 47 | |
| PRESET_ICON_LOG | 48 | |
| PRESET_ICON_CUSTOM_SLOMO | 49 | |
| PRESET_ICON_TRIPOD | 50 | |
| PRESET_ICON_MAX_VIDEO | 55 | |
| PRESET_ICON_MAX_PHOTO | 56 | |
| PRESET_ICON_MAX_TIMEWARP | 57 | |
| PRESET_ICON_BASIC | 58 | |
| PRESET_ICON_ULTRA_SLO_MO | 59 | |
| PRESET_ICON_STANDARD_ENDURANCE | 60 | |
| PRESET_ICON_ACTIVITY_ENDURANCE | 61 | |
| PRESET_ICON_CINEMATIC_ENDURANCE | 62 | |
| PRESET_ICON_SLOMO_ENDURANCE | 63 | |
| PRESET_ICON_STATIONARY_1 | 64 | |
| PRESET_ICON_STATIONARY_2 | 65 | |
| PRESET_ICON_STATIONARY_3 | 66 | |
| PRESET_ICON_STATIONARY_4 | 67 | |
| PRESET_ICON_SIMPLE_SUPER_PHOTO | 70 | |
| PRESET_ICON_SIMPLE_NIGHT_PHOTO | 71 | |
| PRESET_ICON_HIGHEST_QUALITY_VIDEO | 73 | |
| PRESET_ICON_STANDARD_QUALITY_VIDEO | 74 | |
| PRESET_ICON_BASIC_QUALITY_VIDEO | 75 | |
| PRESET_ICON_STAR_TRAIL | 76 | |
| PRESET_ICON_LIGHT_PAINTING | 77 | |
| PRESET_ICON_LIGHT_TRAIL | 78 | |
| PRESET_ICON_FULL_FRAME | 79 | |
| PRESET_ICON_EASY_MAX_VIDEO | 80 | |
| PRESET_ICON_EASY_MAX_PHOTO | 81 | |
| PRESET_ICON_EASY_MAX_TIMEWARP | 82 | |
| PRESET_ICON_EASY_MAX_STAR_TRAIL | 83 | |
| PRESET_ICON_EASY_MAX_LIGHT_PAINTING | 84 | |
| PRESET_ICON_EASY_MAX_LIGHT_TRAIL | 85 | |
| PRESET_ICON_MAX_STAR_TRAIL | 89 | |
| PRESET_ICON_MAX_LIGHT_PAINTING | 90 | |
| PRESET_ICON_MAX_LIGHT_TRAIL | 91 | |
| PRESET_ICON_EASY_STANDARD_PROFILE | 100 | |
| PRESET_ICON_EASY_HDR_PROFILE | 101 | |
| PRESET_ICON_BURST_SLOMO | 102 | |
| PRESET_ICON_SPORT_POV | 124 | |
| PRESET_ICON_TIMELAPSE_PHOTO | 1000 | |
| PRESET_ICON_NIGHTLAPSE_PHOTO | 1001 |
EnumPresetTitle​
| Name | Value | Description |
|---|---|---|
| PRESET_TITLE_ACTIVITY | 0 | |
| PRESET_TITLE_STANDARD | 1 | |
| PRESET_TITLE_CINEMATIC | 2 | |
| PRESET_TITLE_PHOTO | 3 | |
| PRESET_TITLE_LIVE_BURST | 4 | |
| PRESET_TITLE_BURST | 5 | |
| PRESET_TITLE_NIGHT | 6 | |
| PRESET_TITLE_TIME_WARP | 7 | |
| PRESET_TITLE_TIME_LAPSE | 8 | |
| PRESET_TITLE_NIGHT_LAPSE | 9 | |
| PRESET_TITLE_VIDEO | 10 | |
| PRESET_TITLE_SLOMO | 11 | |
| PRESET_TITLE_PHOTO_2 | 13 | |
| PRESET_TITLE_PANORAMA | 14 | |
| PRESET_TITLE_TIME_WARP_2 | 16 | |
| PRESET_TITLE_CUSTOM | 18 | |
| PRESET_TITLE_AIR | 19 | |
| PRESET_TITLE_BIKE | 20 | |
| PRESET_TITLE_EPIC | 21 | |
| PRESET_TITLE_INDOOR | 22 | |
| PRESET_TITLE_MOTOR | 23 | |
| PRESET_TITLE_MOUNTED | 24 | |
| PRESET_TITLE_OUTDOOR | 25 | |
| PRESET_TITLE_POV | 26 | |
| PRESET_TITLE_SELFIE | 27 | |
| PRESET_TITLE_SKATE | 28 | |
| PRESET_TITLE_SNOW | 29 | |
| PRESET_TITLE_TRAIL | 30 | |
| PRESET_TITLE_TRAVEL | 31 | |
| PRESET_TITLE_WATER | 32 | |
| PRESET_TITLE_LOOPING | 33 | |
| PRESET_TITLE_STARS | 34 | |
| PRESET_TITLE_ACTION | 35 | |
| PRESET_TITLE_FOLLOW_CAM | 36 | |
| PRESET_TITLE_SURF | 37 | |
| PRESET_TITLE_CITY | 38 | |
| PRESET_TITLE_SHAKY | 39 | |
| PRESET_TITLE_CHESTY | 40 | |
| PRESET_TITLE_HELMET | 41 | |
| PRESET_TITLE_BITE | 42 | |
| PRESET_TITLE_CUSTOM_CINEMATIC | 43 | |
| PRESET_TITLE_VLOG | 44 | |
| PRESET_TITLE_FPV | 45 | |
| PRESET_TITLE_HDR | 46 | |
| PRESET_TITLE_LANDSCAPE | 47 | |
| PRESET_TITLE_LOG | 48 | |
| PRESET_TITLE_CUSTOM_SLOMO | 49 | |
| PRESET_TITLE_TRIPOD | 50 | |
| PRESET_TITLE_BASIC | 58 | |
| PRESET_TITLE_ULTRA_SLO_MO | 59 | |
| PRESET_TITLE_STANDARD_ENDURANCE | 60 | |
| PRESET_TITLE_ACTIVITY_ENDURANCE | 61 | |
| PRESET_TITLE_CINEMATIC_ENDURANCE | 62 | |
| PRESET_TITLE_SLOMO_ENDURANCE | 63 | |
| PRESET_TITLE_STATIONARY_1 | 64 | |
| PRESET_TITLE_STATIONARY_2 | 65 | |
| PRESET_TITLE_STATIONARY_3 | 66 | |
| PRESET_TITLE_STATIONARY_4 | 67 | |
| PRESET_TITLE_SIMPLE_VIDEO | 68 | |
| PRESET_TITLE_SIMPLE_TIME_WARP | 69 | |
| PRESET_TITLE_SIMPLE_SUPER_PHOTO | 70 | |
| PRESET_TITLE_SIMPLE_NIGHT_PHOTO | 71 | |
| PRESET_TITLE_SIMPLE_VIDEO_ENDURANCE | 72 | |
| PRESET_TITLE_HIGHEST_QUALITY | 73 | |
| PRESET_TITLE_EXTENDED_BATTERY | 74 | |
| PRESET_TITLE_LONGEST_BATTERY | 75 | |
| PRESET_TITLE_STAR_TRAIL | 76 | |
| PRESET_TITLE_LIGHT_PAINTING | 77 | |
| PRESET_TITLE_LIGHT_TRAIL | 78 | |
| PRESET_TITLE_FULL_FRAME | 79 | |
| PRESET_TITLE_STANDARD_QUALITY_VIDEO | 82 | |
| PRESET_TITLE_BASIC_QUALITY_VIDEO | 83 | |
| PRESET_TITLE_HIGHEST_QUALITY_VIDEO | 93 | |
| PRESET_TITLE_USER_DEFINED_CUSTOM_NAME | 94 | |
| PRESET_TITLE_EASY_STANDARD_PROFILE | 99 | |
| PRESET_TITLE_EASY_HDR_PROFILE | 100 | |
| PRESET_TITLE_BURST_SLOMO | 106 | |
| PRESET_TITLE_4_3_VIDEO | 125 | |
| PRESET_TITLE_16_9_VIDEO | 126 | |
| PRESET_TITLE_16_9_SLOMO | 127 | |
| PRESET_TITLE_TIME_LAPSE_VIDEO | 131 | |
| PRESET_TITLE_TIME_LAPSE_PHOTO | 132 | |
| PRESET_TITLE_NIGHT_LAPSE_VIDEO | 133 | |
| PRESET_TITLE_NIGHT_LAPSE_PHOTO | 134 | |
| PRESET_TITLE_SUPERVIEW | 143 |
EnumProvisioning​
| Name | Value | Description |
|---|---|---|
| PROVISIONING_UNKNOWN | 0 | |
| PROVISIONING_NEVER_STARTED | 1 | |
| PROVISIONING_STARTED | 2 | |
| PROVISIONING_ABORTED_BY_SYSTEM | 3 | |
| PROVISIONING_CANCELLED_BY_USER | 4 | |
| PROVISIONING_SUCCESS_NEW_AP | 5 | |
| PROVISIONING_SUCCESS_OLD_AP | 6 | |
| PROVISIONING_ERROR_FAILED_TO_ASSOCIATE | 7 | |
| PROVISIONING_ERROR_PASSWORD_AUTH | 8 | |
| PROVISIONING_ERROR_EULA_BLOCKING | 9 | |
| PROVISIONING_ERROR_NO_INTERNET | 10 | |
| PROVISIONING_ERROR_UNSUPPORTED_TYPE | 11 |
EnumRegisterLiveStreamStatus​
| Name | Value | Description |
|---|---|---|
| REGISTER_LIVE_STREAM_STATUS_STATUS | 1 | |
| REGISTER_LIVE_STREAM_STATUS_ERROR | 2 | |
| REGISTER_LIVE_STREAM_STATUS_MODE | 3 | |
| REGISTER_LIVE_STREAM_STATUS_BITRATE | 4 |
EnumRegisterPresetStatus​
| Name | Value | Description |
|---|---|---|
| REGISTER_PRESET_STATUS_PRESET | 1 | Send notification when properties of a preset change |
| REGISTER_PRESET_STATUS_PRESET_GROUP_ARRAY | 2 | Send notification when properties of a preset group change |
EnumResultGeneric​
| Name | Value | Description |
|---|---|---|
| RESULT_UNKNOWN | 0 | |
| RESULT_SUCCESS | 1 | |
| RESULT_ILL_FORMED | 2 | |
| RESULT_NOT_SUPPORTED | 3 | |
| RESULT_ARGUMENT_OUT_OF_BOUNDS | 4 | |
| RESULT_ARGUMENT_INVALID | 5 | |
| RESULT_RESOURCE_NOT_AVAILABLE | 6 |
EnumScanEntryFlags​
| Name | Value | Description |
|---|---|---|
| SCAN_FLAG_OPEN | 0 | This network does not require authentication |
| SCAN_FLAG_AUTHENTICATED | 1 | This network requires authentication |
| SCAN_FLAG_CONFIGURED | 2 | This network has been previously provisioned |
| SCAN_FLAG_BEST_SSID | 4 | |
| SCAN_FLAG_ASSOCIATED | 8 | Camera is connected to this AP |
| SCAN_FLAG_UNSUPPORTED_TYPE | 16 |
EnumScanning​
| Name | Value | Description |
|---|---|---|
| SCANNING_UNKNOWN | 0 | |
| SCANNING_NEVER_STARTED | 1 | |
| SCANNING_STARTED | 2 | |
| SCANNING_ABORTED_BY_SYSTEM | 3 | |
| SCANNING_CANCELLED_BY_USER | 4 | |
| SCANNING_SUCCESS | 5 |
EnumWindowSize​
| Name | Value | Description |
|---|---|---|
| WINDOW_SIZE_480 | 4 | |
| WINDOW_SIZE_720 | 7 | |
| WINDOW_SIZE_1080 | 12 |
Messages​
Media​
A common model to represent a media file
| Field | Type | Number | Description |
|---|---|---|---|
| folder | string | 1 | Directory in which the media is contained |
| file | string | 2 | Filename of media |
NotifProvisioningState​
Provision state notification
Sent during provisioning triggered via RequestConnect or RequestConnectNew
| Field | Type | Number | Description |
|---|---|---|---|
| provisioning_state | EnumProvisioning | 1 | Provisioning / connection state |
NotifStartScanning​
Scanning state notification
Triggered via RequestStartScan
| Field | Type | Number | Description |
|---|---|---|---|
| scanning_state | EnumScanning | 1 | Scanning state |
| scan_id | int32 | 2 | ID associated with scan results (included if scan was successful) |
| total_entries | int32 | 3 | Number of APs found during scan (included if scan was successful) |
| total_configured_ssid | int32 | 4 | Total count of camera's provisioned SSIDs |
NotifyCOHNStatus​
Current COHN status triggered by a RequestGetCOHNStatus
| Field | Type | Number | Description |
|---|---|---|---|
| status | EnumCOHNStatus | 1 | Current COHN status |
| state | EnumCOHNNetworkState | 2 | Current COHN network state |
| username | string | 3 | Username used for http basic auth header |
| password | string | 4 | Password used for http basic auth header |
| ipaddress | string | 5 | Camera's IP address on the local network |
| enabled | bool | 6 | Is COHN currently enabled? |
| ssid | string | 7 | Currently connected SSID |
| macaddress | string | 8 | MAC address of the wifi adapter |
NotifyLiveStreamStatus​
Live Stream status
Sent either:
- As a synchronous response to initial RequestGetLiveStreamStatus
- As an asynchronous notifications registered for via RequestGetLiveStreamStatus
| Field | Type | Number | Description |
|---|---|---|---|
| live_stream_status | EnumLiveStreamStatus | 1 | Live stream status |
| live_stream_error | EnumLiveStreamError | 2 | Live stream error |
| live_stream_encode | bool | 3 | Is live stream encoding? |
| live_stream_bitrate | int32 | 4 | Live stream bitrate (Kbps) |
| live_stream_window_size_supported_array | EnumWindowSize | 5 | Set of currently supported resolutions |
| live_stream_encode_supported | bool | 6 | Does the camera support encoding while live streaming? |
| live_stream_max_lens_unsupported | bool | 7 | Is the Max Lens feature NOT supported? |
| live_stream_minimum_stream_bitrate | int32 | 8 | Camera-defined minimum bitrate (static) (Kbps) |
| live_stream_maximum_stream_bitrate | int32 | 9 | Camera-defined maximum bitrate (static) (Kbps) |
| live_stream_lens_supported | bool | 10 | Does camera support setting lens for live streaming? |
| live_stream_lens_supported_array | EnumLens | 11 | Set of currently supported FOV options |
| live_stream_protune_supported | bool | 13 | Does the camera support live stream protune settings |
NotifyPresetStatus​
Current Preset status
Sent either:
- Synchronously via initial response to RequestGetPresetStatus
- Asynchronously when Preset change if registered in RequestGetPresetStatus
| Field | Type | Number | Description |
|---|---|---|---|
| preset_group_array | PresetGroup | 1 | List of currently available Preset Groups |
Preset​
An individual preset.
| Field | Type | Number | Description |
|---|---|---|---|
| id | int32 | 1 | Preset ID |
| mode | EnumFlatMode | 2 | Preset flatmode ID |
| title_id | EnumPresetTitle | 3 | Preset Title ID |
| title_number | int32 | 4 | Preset Title Number (e.g. 1/2/3 in Custom1, Custom2, Custom3) |
| user_defined | bool | 5 | Is the Preset custom/user-defined? |
| icon | EnumPresetIcon | 6 | Preset Icon ID |
| setting_array | PresetSetting | 7 | Array of settings associated with this Preset |
| is_modified | bool | 8 | Has Preset been modified from factory defaults? (False for user-defined Presets) |
| is_fixed | bool | 9 | Is this Preset mutable? |
| custom_name | string | 10 | Custom string name given to this preset via RequestCustomPresetUpdate |
| is_visible | bool | 11 | Is the preset currently visible in the camera UI? Note that a Preset's UI visibility can be set with RequestPresetSetVisibility |
PresetGroup​
Preset Group meta information and contained Presets
| Field | Type | Number | Description |
|---|---|---|---|
| id | EnumPresetGroup | 1 | Preset Group ID |
| preset_array | Preset | 2 | Array of Presets contained in this Preset Group |
| can_add_preset | bool | 3 | Is there room in the group to add additional Presets? |
| icon | EnumPresetGroupIcon | 4 | The icon to display for this preset group |
| mode_array | EnumFlatMode | 5 | A list of flatmodes available for this preset group |
| custom_name | string | 6 | Custom string name given to this preset group |
| active_preset_id | int32 | 7 | Active preset id in this group |
PresetSetting​
Setting representation that comprises a Preset
| Field | Type | Number | Description |
|---|---|---|---|
| id | int32 | 1 | Setting ID |
| value | int32 | 2 | Setting value |
| is_caption | bool | 3 | Does this setting appear on the Preset "pill" in the camera UI? |
RequestCOHNCert​
Get the COHN certificate.
Returns a ResponseCOHNCert
RequestClearCOHNCert​
Clear the COHN certificate.
Returns a ResponseGeneric with the status of the clear
RequestConnect​
Connect to (but do not authenticate with) an Access Point
This is intended to be used to connect to a previously-connected Access Point
Response: ResponseConnect
Notification: NotifProvisioningState sent periodically as provisioning state changes
| Field | Type | Number | Description |
|---|---|---|---|
| ssid | string | 1 | AP SSID |
RequestConnectNew​
Connect to and authenticate with an Access Point
This is only intended to be used if the AP is not previously provisioned.
Response: ResponseConnectNew sent immediately
Notification: NotifProvisioningState sent periodically as provisioning state changes
| Field | Type | Number | Description |
|---|---|---|---|
| ssid | string | 1 | AP SSID |
| password | string | 2 | AP password |
| static_ip | bytes | 3 | Static IP address |
| gateway | bytes | 4 | Gateway IP address |
| subnet | bytes | 5 | Subnet mask |
| dns_primary | bytes | 6 | Primary DNS |
| dns_secondary | bytes | 7 | Secondary DNS |
| bypass_eula_check | bool | 10 | Allow network configuration without internet connectivity |
RequestCreateCOHNCert​
Create the Camera On the Home Network SSL/TLS certificate.
Returns a ResponseGeneric with the status of the creation
| Field | Type | Number | Description |
|---|---|---|---|
| override | bool | 1 | Override current provisioning and create new cert |
RequestCustomPresetUpdate​
Request to Update the Title and / or Icon of the Active Custom Preset
This only operates on the currently active Preset and will fail if the current Preset is not custom.
The use cases are:
-
Update the Custom Preset Icon
icon_idis always optional and can always be passed
and / or
-
Update the Custom Preset Title to a...
- Factory Preset Title: Set
title_idto a non-PRESET_TITLE_USER_DEFINED_CUSTOM_NAME (94) value - Custom Preset Name: Set
title_idto PRESET_TITLE_USER_DEFINED_CUSTOM_NAME (94) and specify acustom_name
- Factory Preset Title: Set
Returns a ResponseGeneric with the status of the preset update request.
| Field | Type | Number | Description |
|---|---|---|---|
| title_id | EnumPresetTitle | 1 | Preset Title ID The range of acceptable custom title ID's can be found in the initial NotifyPresetStatus response to RequestGetPresetStatus |
| custom_name | string | 2 | UTF-8 encoded custom preset name to be used if title_id is set to 94 (PRESET_TITLE_USER_DEFINED_CUSTOM_NAME)The name must obey the following: - Custom titles must be between 1 and 16 characters (inclusive) - No special characters outside of the following languages: English, French, Italian, German, Spanish, Portuguese, Swedish, Russian |
| icon_id | EnumPresetIcon | 3 | Preset Icon ID The range of acceptable custom icon ID's can be found in the initial NotifyPresetStatus response to RequestGetPresetStatus |
RequestGetApEntries​
Get a list of Access Points found during a RequestStartScan
Response: ResponseGetApEntries
| Field | Type | Number | Description |
|---|---|---|---|
| start_index | int32 | 1 | Used for paging. 0 <= start_index < ResponseGetApEntries .total_entries |
| max_entries | int32 | 2 | Used for paging. Value must be < ResponseGetApEntries .total_entries |
| scan_id | int32 | 3 | ID corresponding to a set of scan results (i.e. ResponseGetApEntries .scan_id) |
RequestGetCOHNStatus​
Get the current COHN status.
Response: NotifyCOHNStatus
Additionally, asynchronous updates can also be registered to return more NotifyCOHNStatus when a value changes.
| Field | Type | Number | Description |
|---|---|---|---|
| register_cohn_status | bool | 1 | 1 to register, 0 to unregister |
RequestGetLastCapturedMedia​
Get the last captured media filename
Returns a ResponseLastCapturedMedia
RequestGetLiveStreamStatus​
Get the current livestream status (and optionally register for future status changes)
Response: NotifyLiveStreamStatus
Notification: NotifyLiveStreamStatus
| Field | Type | Number | Description |
|---|---|---|---|
| register_live_stream_status | EnumRegisterLiveStreamStatus | 1 | Array of live stream statuses to be notified about |
| unregister_live_stream_status | EnumRegisterLiveStreamStatus | 2 | Array of live stream statuses to stop being notified about |
RequestGetPresetStatus​
Get the set of currently available presets and optionally register to be notified when it changes.
Response: NotifyPresetStatus sent immediately
Notification: NotifyPresetStatus sent periodically as preset status changes, if registered.
The preset status changes when:
- A client changes one of a preset's captioned settings via the API
- The user exits from a preset's settings UI on the camera (e.g. long-press the preset pill and then press the back arrow)
- The user creates/deletes/reorders a preset within a group
| Field | Type | Number | Description |
|---|---|---|---|
| register_preset_status | EnumRegisterPresetStatus | 1 | Array of Preset statuses to be notified about |
| unregister_preset_status | EnumRegisterPresetStatus | 2 | Array of Preset statuses to stop being notified about |
| use_constant_setting_ids | bool | 3 | Configures the set of Setting IDs that are returned by NotifyPresetStatus. Defaults to False if not set When False, Setting IDs are tied to their camera UI string representation and may vary between cameras. When True, Setting IDs are tied to their functional representation and are consistent across cameras. |
| include_hidden | bool | 4 | Whether to include hidden presets When True, all currently available presets will be included in the response, even those hidden by the camera UI When False, only currently available presets that are displayed in the camera UI are included in the response. Note that a Preset's visibility can be configured by RequestPresetSetVisibility. |
RequestPairingFinish​
Set Wireless 2.0 Pairing State
This is often colloquially referred to as "sending pairing complete"
Response: ResponseGeneric
| Field | Type | Number | Description |
|---|---|---|---|
| result | EnumPairingFinishState | 1 | Pairing state to set |
| phoneName | string | 2 | This must be a non empty string but it does not actually affect anything. |
RequestPresetSetVisibility​
Set Preset UI Visibility
Shows or hides a Preset in the camera UI.
Note that a Preset's visibility determines how it is returned as part of the RequestGetPresetStatus response
Returns a ResponseGeneric with the status of the preset update request.
| Field | Type | Number | Description |
|---|---|---|---|
| id | int32 | 1 | preset ID to operate on |
| visible | bool | 2 | True to set the preset visible, False to hide the preset. |
RequestReleaseNetwork​
Request to disconnect from currently-connected AP
This drops the camera out of Station (STA) Mode and returns it to Access Point (AP) mode.
Response: ResponseGeneric
RequestSetCOHNSetting​
Configure a COHN Setting
Returns a ResponseGeneric
| Field | Type | Number | Description |
|---|---|---|---|
| cohn_active | bool | 1 | 1 to enable COHN, 0 to disable COHN When set to 1, STA Mode connection will be dropped and camera will not automatically re-connect for COHN. |
RequestSetCameraControlStatus​
Set Camera Control Status (as part of Global Behaviors feature)
This command is used to tell the camera that the app (i.e. External Control) wishes to claim control of the camera. This causes the camera to immediately exit most contextual menus and return to the idle screen. Any interaction with the camera's physical buttons will cause the camera to reclaim control and update control status accordingly. If the user returns the camera UI to the idle screen, the camera updates control status to Idle.
The entity currently claiming control of the camera is advertised in camera status 114. Information about whether the camera is in a contextual menu or not is advertised in camera status 63.
Response: ResponseGeneric
| Field | Type | Number | Description |
|---|---|---|---|
| camera_control_status | EnumCameraControlStatus | 1 | Declare who is taking control of the camera |
RequestSetCameraName​
Set the camera name
Response: ResponseGeneric
| Field | Type | Number | Description |
|---|---|---|---|
| name | string | 1 | (TODO define encoding) string to identify the camera |
RequestSetLiveStreamMode​
Configure Live Streaming
Response: ResponseGeneric
| Field | Type | Number | Description |
|---|---|---|---|
| url | string | 1 | RTMP(S) URL used for live stream |
| encode | bool | 2 | Save media to sdcard while streaming? |
| window_size | EnumWindowSize | 3 | Resolution to use for live stream The set of supported resolutions is only available from the live_stream_window_size_supported_arrayin NotifyLiveStreamStatus. |
| cert | bytes | 6 | Certificate for servers that require it in PEM format |
| minimum_bitrate | int32 | 7 | Minimum desired bitrate (may or may not be honored) |
| maximum_bitrate | int32 | 8 | Maximum desired bitrate (may or may not be honored) |
| starting_bitrate | int32 | 9 | Starting bitrate |
| lens | EnumLens | 10 | Lens to use for live stream The set of supported lenses is only available from the live_stream_lens_supported_arrayin NotifyLiveStreamStatus. |
RequestSetTurboActive​
Enable/disable display of "Transferring Media" UI
Response: ResponseGeneric
| Field | Type | Number | Description |
|---|---|---|---|
| active | bool | 1 | Enable or disable Turbo Transfer feature |
RequestStartScan​
Start scanning for Access Points
Serialization of this object is zero bytes.
Response: ResponseStartScanning are sent immediately after the camera receives this command
Notifications: NotifStartScanning are sent periodically as scanning state changes. Use to detect scan complete.
ResponseCOHNCert​
COHN Certificate response triggered by RequestCOHNCert
| Field | Type | Number | Description |
|---|---|---|---|
| result | EnumResultGeneric | 1 | Was request successful? |
| cert | string | 2 | Root CA cert (ASCII text) |
ResponseConnect​
The status of an attempt to connect to an Access Point
Sent as the initial response to RequestConnect
| Field | Type | Number | Description |
|---|---|---|---|
| result | EnumResultGeneric | 1 | Generic pass/fail/error info |
| provisioning_state | EnumProvisioning | 2 | Provisioning/connection state |
| timeout_seconds | int32 | 3 | Network connection timeout (seconds) |
ResponseConnectNew​
The status of an attempt to connect to an Access Point
Sent as the initial response to RequestConnectNew
| Field | Type | Number | Description |
|---|---|---|---|
| result | EnumResultGeneric | 1 | Status of Connect New request |
| provisioning_state | EnumProvisioning | 2 | Current provisioning state of the network |
| timeout_seconds | int32 | 3 | Number of seconds camera will wait before declaring a network connection attempt failed |
ResponseGeneric​
Generic Response used across many response / notification messages
| Field | Type | Number | Description |
|---|---|---|---|
| result | EnumResultGeneric | 1 | Generic pass/fail/error info |
ResponseGetApEntries​
A list of scan entries describing a scanned Access Point
This is sent in response to a RequestGetApEntries
| Field | Type | Number | Description |
|---|---|---|---|
| result | EnumResultGeneric | 1 | Generic pass/fail/error info |
| scan_id | int32 | 2 | ID associated with this batch of results |
| entries | ScanEntry | 3 | Array containing details about discovered APs |
ResponseLastCapturedMedia​
The Last Captured Media
Message is sent in response to a RequestGetLastCapturedMedia.
This contains the relative path of the last captured media starting from the DCIM directory on the SDCard. Depending
on the type of media captured, it will return:
- The single media path for single photo/video media
- The path to the first captured media in the group for grouped media
| Field | Type | Number | Description |
|---|---|---|---|
| result | EnumResultGeneric | 1 | Was the request successful? |
| media | Media | 2 | Last captured media if result is RESULT_SUCCESS. Invalid if result is RESULT_RESOURCE_NOT_AVAILBLE. |
ResponseStartScanning​
The current scanning state.
This is the initial response to a RequestStartScan
| Field | Type | Number | Description |
|---|---|---|---|
| result | EnumResultGeneric | 1 | Generic pass/fail/error info |
| scanning_state | EnumScanning | 2 | Scanning state |
ResponseGetApEntries::ScanEntry​
An individual Scan Entry in a ResponseGetApEntries response
When scan_entry_flags contains SCAN_FLAG_CONFIGURED, it is an indication that this network has already been provisioned.
| Field | Type | Number | Description |
|---|---|---|---|
| ssid | string | 1 | AP SSID |
| signal_strength_bars | int32 | 2 | Signal strength (3 bars: >-70 dBm; 2 bars: >-85 dBm; 1 bar: <=-85 dBm) |
| signal_frequency_mhz | int32 | 4 | Signal frequency (MHz) |
| scan_entry_flags | int32 | 5 | Bitmasked value from EnumScanEntryFlags |