Theta X API state fingerprint not changing

Hello community,

I am currently testing with the Theta X API and I noticed that compared to previous models the stateFingerprint does not change when the battery level changes or when a new picture is taken and the _latestFileUrl changes.

Update to latest 1.20.0 firmware but that didn’t help either.

Am I missing some setting here or can someone confirm this behavior?

Regards

Thank you for reporting this.

Summary of Unofficial Community Tests

Test if fingerprint changes in osc/state output when state property changes

model take picture battery state battery level
Z1 fw 2.10.3 yes yes yes
X fw 1.20.0 yes no no
SC2 fw 1.71 yes yes yes

@jcasman will include this in an agenda with a RICOH manager
we will send your report and our own community test results to RICOH engineering


Do you have any additional information or tests you would like to post in this forum topic?

  1. expected behavior from API documentation State
  2. expected behavior with MODEL and FIRMWARE (example: show output of Z1 with firmware 2.10.3 with short sentence of how you changed the state)
  3. unexpected behavior with THETA X with firmware 1.20.0

Thank you for your help.


Z1 firmware 2.10.3

image

fingerprint FIG_0003

image

take picture

run osc/state again to check fingerprint

THETA X with firmware 1.20.0

image

Check state prior to taking picture

fingerprint is FIG_0668

take picture

check state again

works as expected

unplug camera from charging to change state

Z1 fw 2.10.3

starting fingerprint is FIG_0003

Disconnect power supply

Z1 changes state

SC2 fw 1.71

fingerprint FIG_0005

take picture

check state after take picture

SC2 fingerprint changes after take picture

fingerprint changes as recordable time goes down

Hello craig,

thanks for your help!

I can confirm that the state changes when the picture is taken via the API.
My test was pressing the hardware button, which should result in exactly the same behavior, but doesn’t.

I have the output from my Flutter app here. Notice the changed _latestFileUrl has changed due to taking an image via the hardware button on the camera. The batteryLevel also changed in the same time frame, confirming your tests above.

flutter: [INFO]    10:58:56.386999 ThetaService: Checking for update with fingerprint: FIG_0007
flutter: {fingerprint: FIG_0007, state: {_apiVersion: 2, _batteryInsert: true, batteryLevel: 0.39, _batteryState: charging, _cameraError: [], _captureStatus: idle, _capturedPictures: 0, _currentMicrophone: Internal, _currentStorage: IN, _function: normal, _latestFileUrl: http://192.168.1.1/files/100RICOH/R0010032.JPG, _mySettingChanged: false, _pluginRunning: false, _pluginWebServer: false, _recordableTime: 3864, _recordedTime: 0, _storageID: 412176649172527ab3d5edabb50a7d69, storageUri: http://192.168.1.1/files/}}
flutter: [INFO]    10:58:56.693844 ThetaService: Fingerprint has not changed, skipping state update
flutter: [INFO]    10:59:06.387389 ThetaService: Checking for update with fingerprint: FIG_0007
flutter: {fingerprint: FIG_0007, state: {_apiVersion: 2, _batteryInsert: true, batteryLevel: 0.4, _batteryState: charging, _cameraError: [], _captureStatus: idle, _capturedPictures: 0, _currentMicrophone: Internal, _currentStorage: IN, _function: normal, _latestFileUrl: http://192.168.1.1/files/100RICOH/R0010033.JPG, _mySettingChanged: false, _pluginRunning: false, _pluginWebServer: false, _recordableTime: 3864, _recordedTime: 0, _storageID: 412176649172527ab3d5edabb50a7d69, storageUri: http://192.168.1.1/files/}}
flutter: [INFO]    10:59:06.725702 ThetaService: Fingerprint has not changed, skipping state update

Here is the same test output from a Z1 with firmware 2.10.3.
State change also via taking the image with the hardware button.

flutter: [INFO]    11:07:25.307153 ThetaService: Checking for update with fingerprint: FIG_0002
flutter: {fingerprint: FIG_0002, state: {_apiVersion: 2, batteryLevel: 0.89, _batteryState: disconnect, _cameraError: [], _captureStatus: idle, _capturedPictures: 0, _compositeShootingElapsedTime: 0, _function: normal, _latestFileUrl: , _mySettingChanged: false, _pluginRunning: false, _pluginWebServer: true, _recordableTime: 0, _recordedTime: 0, storageUri: http://192.168.1.1/files/150100524436344d420176e307c71500/}}
flutter: [INFO]    11:07:26.819069 ThetaService: Fingerprint has not changed, skipping state update
flutter: [INFO]    11:07:35.307408 ThetaService: Checking for update with fingerprint: FIG_0002
flutter: {stateFingerprint: FIG_0004, throttleTimeout: 1}
flutter: {fingerprint: FIG_0004, state: {_apiVersion: 2, batteryLevel: 0.89, _batteryState: disconnect, _cameraError: [], _captureStatus: idle, _capturedPictures: 0, _compositeShootingElapsedTime: 0, _function: normal, _latestFileUrl: http://192.168.1.1/files/150100524436344d420176e307c71500/100RICOH/R0010075.JPG, _mySettingChanged: false, _pluginRunning: false, _pluginWebServer: true, _recordableTime: 0, _recordedTime: 0, storageUri: http://192.168.1.1/files/150100524436344d420176e307c71500/}}
flutter: [INFO]    11:07:35.870400 ThetaService: Got new state with fingerprint: FIG_0004

I hope you can include this in your report.
Thanks!

1 Like

Thank you for this update of your test. We will report this to RICOH. If the solution requires a firmware modification, it may take some time. If you can share anything about your application use case, I can also pass that along.

model take picture API battery state battery level take picture button
Z1 fw 2.10.3 yes yes yes yes (*)
X fw 1.20.0 yes no no no (*)
SC2 fw 1.71 yes yes yes not tested

(*) tested by community. Oppkey did not verify


Community member verified this does not work on firmware 1.30.0.

We will test this in the next firmware upgrade.

I believe this will get addressed in the future.

firmware 1.40.0 appears to have resolved the issue

Take with shutter button changes fingerprint ID

picture taken with shutter button

image

unplugging camera changes fingerprint

moved from 0746 to 0747

plugging camera into USB C power changes fingerprint


camera info