Alex
Alex

Reputation: 877

Why does the RX100M5 return error 12 (No such method) when trying to execute setContShootingMode?

EDIT: I accepted one of the answer's below, but there's a catch, and I'll state the details here:

You have to update the Smart Remote Embedded app on the Sony camera in order to access the missing functions. But if you try to do this using the on-board OS on the Sony camera, it will fail (at least it did for me). Instead, you must install the PlayMemories Camera Apps Downloader extension for Chrome: https://chrome.google.com/webstore/detail/playmemories-camera-apps/ohlghnkgcadghcdodlcjfhogekonhdei?utm_source=chrome-app-launcher-info-dialog

And with this extension installed, you must go to this website and sign in, in order to install the update from the browser via a USB connection to the camera: https://www.playmemoriescameraapps.com/portal/


The documentation for the Sony Camera Remote API claims that the RX100M5 supports many API functions, including setContShootingMode. However, this command fails when I attempt to execute it, and when I poll the camera for its available API functions, I receive a very small list of available functions.

These are the commands that I send to the camera:

res = requests.post(addr, json={"method":"startRecMode", "params":[], "id":1, "version":"1.0"})
print(res.text)
success = json.loads(res.text)
success = success['result'][0]
if success != 0:
    print("Failed to start rec mode")
    exit(-1)

time.sleep(1)

res2 = requests.post(addr, json={"method":"startLiveview", "params":[], "id":1, "version":"1.0"})
print(res2.text)
liveRes = json.loads(res2.text)
liveUrl = liveRes['result'][0]

time.sleep(1)

res = requests.post(addr, json={"method":"setShootMode", "params":["still"], "id":1, "version":"1.0"})
print(res.text)

time.sleep(1)

res = requests.post(addr, json={"method":"getAvailableApiList", "params":[], "id":1, "version":"1.0"})
print(res.text)

time.sleep(1)

res = requests.post(addr, json={"method":"setContShootingMode", "params":[{"contShootingMode":"Spd Priority Cont."}], "id":1, "version":"1.0"})
print(res.text)

And this is the console output produced by the code snippet:

 {"id":1,"result":[0]}

 {"id":1,"result":"http://192.168.122.1:8080/liveview/liveviewstream"}

 {"id":1,"result":[0]}

 {"id":1,"result":[["getVersions","getMethodTypes","getApplicationInfo","getAvailableApiList","getEvent","actTakePicture","stopRecMode","startLiveview","stopLiveview","getSupportedSelfTimer","setExposureCompensation","getExposureCompensation","getAvailableExposureCompensation","getSupportedExposureCompensation","setShootMode","getShootMode","getAvailableShootMode","getSupportedShootMode","getSupportedFlashMode"]]}

 {"id":1,"error":[12,"setContShootingMode"]}

As you can see, the setContShootingMode function is not available, and attempting to execute it fails. It should be available based on this table included in the API documentation:

Support API groups for each compatible camera

Why can I not use the majority of the functions present in this table on my RX100M5?

Upvotes: 0

Views: 211

Answers (2)

Mungewell
Mungewell

Reputation: 86

Have you connected to the PlaymemoriesApp store and downloaded an up-to-date version of 'Smart Remote'? The pre-installed remote app is quite limited (from my experience).

Also, you may find that cameras with a mode-dial will limit what you can do in particular modes. You may use a particular mode to achieve continuous shooting.

Upvotes: 1

kobe_li
kobe_li

Reputation: 11

I also have the RX100M5 and had problems accessing the majority of the functions present in the table.

My suggestion is to update the Firmware because this fixed the majority of my issues.

Upvotes: 1

Related Questions