I looked into Sony's developer website (3 March 2018) and while the design is changed, the contents seem to lag behind.
https://developer.sony.com/develop/cameras
I do not see any details of the APIs of A9 and 3rd gen A7 cameras.
I know these cameras have WiFi and indeed Bluetooth. They are inter-operable with the PlayMemories phone/tablet application. I also understand they removed the PlayMemories app support (the Android app support) from the cameras themselves.
I wonder if they expose the documented API? Are there improvements or new functions? Are there any limitations given that the platform has been changed?
Can the low power bluetooth be used to get some events from the camera?
Also, is there USB SDK for tether control?
Given that the A7iii / A7M3 / ILCE-7M3 is not part of the SDK and I got it recently I set to do my own exploration of the API. Good news is the API is similar to older cameras and developer knowledge can be put to immediate use.
It seems the API has different capability relative to older cameras that had API based in the Apps subsystem e.g. A6300, A7R2 etc.
Here is the full list of A7iii APIs I found using getAvailableApiList()
getAvailableApiList
getShootMode
getSupportedShootMode
getAvailableShootMode
setFlashMode
getFlashMode
getSupportedFlashMode
getAvailableFlashMode
setSelfTimer
getSelfTimer
getSupportedSelfTimer
getAvailableSelfTimer
getSupportedMovieQuality
startLiveview
stopLiveview
actTakePicture
startMovieRec
stopMovieRec
awaitTakePicture
getExposureMode
getSupportedExposureMode
getAvailableExposureMode
getSupportedFocusMode
setExposureCompensation
getExposureCompensation
getSupportedExposureCompensation
getAvailableExposureCompensation
setFNumber
getFNumber
getSupportedFNumber
getAvailableFNumber
setWhiteBalance
getWhiteBalance
getSupportedWhiteBalance
getAvailableWhiteBalance
getShutterSpeed
getSupportedShutterSpeed
getAvailableShutterSpeed
setIsoSpeedRate
getIsoSpeedRate
getSupportedIsoSpeedRate
getAvailableIsoSpeedRate
actHalfPressShutter
cancelHalfPressShutter
getSupportedProgramShift
getSupportedMovieFileFormat
setContShootingMode
getContShootingMode
getSupportedContShootingMode
getAvailableContShootingMode
getSupportedViewAngleMode
getSupportedNearModeInPF
setWirelessFlashSetting
getWirelessFlashSetting
getSupportedWirelessFlashSetting
getAvailableWirelessFlashSetting
getApplicationInfo
getEvent
getTemporarilyUnavailableApiList
There are couple of new APIs not available on A6300 previously
awaitTakePicture
getAvailableExposureMode
getAvailableFlashMode
getAvailableWirelessFlashSetting
getFlashMode
getSupportedMovieFileFormat
getSupportedMovieQuality
getSupportedNearModeInPF
getSupportedViewAngleMode
getSupportedWirelessFlashSetting
getTemporarilyUnavailableApiList
getWirelessFlashSetting
setFlashMode
setWirelessFlashSetting
startMovieRec
stopMovieRec
There are also few missing APIs that were present on A6300 and no longer in A7iii
getAvailableCameraFunction
getAvailableFocusMode
getAvailableLiveviewSize
getAvailablePostviewImageSize
getAvailableSilentShootingSetting
getCameraFunction
getFocusMode
getLiveviewFrameInfo
getLiveviewSize
getMethodTypes
getPostviewImageSize
getSilentShootingSetting
getStorageInformation
getSupportedCameraFunction
getSupportedContShootingSpeed
getSupportedLiveviewSize
getSupportedPostviewImageSize
getSupportedSilentShootingSetting
getSupportedZoomSetting
getTouchAFPosition
getVersions
setCameraFunction
setFocusMode
setLiveviewFrameInfo
setPostviewImageSize
setShootMode
setSilentShootingSetting
setTouchAFPosition
startLiveviewWithSize
stopRecMode
I saw startRecMode is not avaialbe or required to invoke on A7iii before sending other commands.
I do not seem able to enable frame info in LiveView so my live view looks a bit substandard i.e. not showing focus points. Also setTouchAFPosition() is gone and I cannot set focus point from my app. I am building a small Desktop/Laptop app that mimics Sony's PlayMemories phone app i.e. sort of wireless tethering tool.
A strange observation I made is that getVersions() returns list from 1.0 through 1.8. getMethodTypes() seems to only cover 1.0 through 1.3.
I hope this helps anyone that is trying to figure out if an app or script will run on the latest cameras.
PS After further examination I noticed getMEthodTypes returns coupe more API operations
actZoom
cancelTouchAFPosition
getAvailableFNumber
getAvailableFocusMode
getAvailableMovieQuality
getAvailableViewAngleMode
getFNumber
getFocusMode
getMethodTypes
getMovieQuality
getSupportedFNumber
getVersions
getViewAngleMode
setExposureMode
setFNumber
setFocusMode
setMovieQuality
setShootMode
setShutterSpeed
setViewAngleMode
startBulbShooting
startContShooting
stopBulbShooting
stopContShooting
I assume those will appear in the getAvaialbleApiList set when camera settings are appropriate e.g. continuous shooting or bulb mode exposure.
Thanks for your interest in the Sony Camera API! Sony does make many cameras with various features, but even if a camera does have wifi capability it does not necessarily mean that it will support the camera remote API. The list on the website is the most updated list so if a camera is not on that list then it is more than likely not supported.
https://developer.sony.com/develop/cameras/api-information/supported-devices
Also the website lists many of the supported features,
https://developer.sony.com/develop/cameras/api-information/supported-features-and-compatible-cameras
but you will have to download the SDK to see the full API list.
https://developer.sony.com/file/download/sony-camera-remote-api-beta-sdk/
Lastly the camera API unfortunately only supports control over Wifi, so you would not be able to use any other means to tap in to the API.
I hope that this helps. Please let me know if you have any more questions!!