Setting exposureCompensation with WiFi API v2.1


Several people have asked about exposureCompensation. I’m started to run tests to see if there is anything odd I could notice. Right now, everything looks fine.

Set Option for exposureCompensation

Get Option for exposureCompensation

Test After Camera Turned Off

Interestingly enough, when I power cycle the camera, the option is set back to 0.0

Is this the expected behavior or do people expect the exposureCompensation value to be saved between sessions. I can understand either way. You might want the exposureCompensation reset after every session… Though, it does seem like the other option values are saved between sessions.


Do you know are there any restrictions regarding use exposureCompensation? Like available shutterSpeed options change between exposureProgram manual (1) and exposureProgram shuterSpeed (4)?
I am trying to apply this settings but it is not passing through - invalidParameterValue

    "options" : {
    	"_filter": "off",
    	"exposureProgram": 1,
        "iso": 100,
        "shutterSpeed": 0.00625,
        "exposureCompensation": -0.3,
        "whiteBalance": "_colorTemperature",
        "_colorTemperature": 3500


Found it, through getOptions and “*Support” option variant.
When using exposureProgram manual (1), you can not set exposureCompensation. Don’t know why and can’t find any relevant info about it in documentation, but it seems that it is made that way.


Thank you for sharing this. The API documentation is a bit sparse. We have provided some feedback in the past and the engineering group did add clarification.

In this case, the exposureProgram does say this:

Exposure program. The exposure settings that take priority can be selected.

Perhaps it is a hint, though somewhat unclear, that the exposureProgram setting will override the exposureCompensation setting? Under exposureProgram 1, it says this.

Manual program
Manually set the ISO sensitivity (iso) setting and shutter speed (shutterSpeed).

This may indicate that the ISO sensitivity and the shutterSpeed override the exposureCompensation setting?



I’m currently working with tolecar on the app we are developing.

I think you were actually pretty close to the answer.

exposureCompensation is a setting that allows novice photographers or people who don’t know photography theory to take darker/normal/brighter images. exposureCompensation, when set, manipulates the ISO and/or shutter speed values in order to achieve what one wishes to do, e.g., setting the exposureCompensation to 2.0 will have the camera manipulate the ISO sensitivity and/or the shutter speed in such a way that it takes a really bright image, and vice versa.

Setting the exposureProgram to manual tells the camera that the ISO and shutter speed settings take precedence over exposureCompensation – it’s like trying to have both a manual and auto mode on at the same time.


Thank you for this information. I definitely fall into the category of novice photographer and often have problems understanding the different values. it’s always great to hear from photographers that understand and use these settings. Have a nice day.


My take on this is that one would use exposureCompensation to have the camera use settings that were a bias of the camera recommended auto settings while manual would be used to use precise user controlled settings.