Calibrations applied but not showing in the UI

HI @CamDavidsonPilon , hope all is well with you. We’re experiencing some difficulties with seeing active calibrations in the UI.

I am using running the calibration using:

pio calibrations run --device od --protocol-name od_calibration_using_standards_from_file --data-file calibration_od_45_pio01.json

See background job attached which you kindly helped us with before. It appears to have been successfully run and set to active as indicated by:

  1. the CLI tool

  1. I can also see it in the cache_active_calibrations in the local_persistent_pioreactor_metadata.sqlite on the worker

  1. the changed OD values in the database on the leader (and also in the graph) (I updated the calibration at 12:30)

NB the OD and voltage are the wrong way around but otherwise we get this error:

We are on the following version:

Many thanks in advance!

Vicky

od_calibration_using_standards_from_file.py (11.5 KB)

Hi Vicky,

Sorry, where is it not showing in the UI? (I just don’t see a question in the your post)


Yes, that was fixed in 25.4.3.

Hi Cameron, thanks for getting back to me. Here is some clearer screenshots. The worker I was testing it with was pio01. On the calibrations tab - “M5_YE” (the name of the od calibration) is not showing up as a calibration at all and not as active either. We have a lot more od calibrations, which aren’t been shown at all or active (just using pio01 and this calibration as an example).


Great re the fix in 25.4.3 - we had a busy period of using the pioreactors so wanted to keep everything steady but have an update to the current version planned when we’re back from holidays :slight_smile:

Oh I think I missed that the calibration should be on pio01! (I saw M5_YE in your chart, and wasn’t sure what you meant after that.)

So the data for this UI page comes from individual pioreactors. For example, you can “ask” a worker what calibrations it has with the following command (run this on your leader):

curl -sS pio01.local/unit_api/calibrations | jq .

Does that command work or fail? If it fails, there’s something wrong on the pio01s web server, so we can SSH over there and inspect the logs pio logs for any errors.

If that command works, we can check if M5_YE is in the output:

curl -sS pio01.local/unit_api/calibrations | jq . | grep M5_YE

I’m guessing it doesn’t show up there? I can help more once you provide some info above ^

Hi Cameron, thanks for your message, apologies for the slow reply - I was away for a few days. Both of those commands work…

Screenshot 2025-08-06 at 14.58.04

Hm, I’m not totally sure what’s going on then. In your browser, does the URL:

<your pioreactors ui url>/calibrations/pio01/od/M5_YE

work?


Possibly an upgrade fixes this, as there was some earlier bug that has been fixed, but no promises.

Yes, that works! I’ll let the scientists know they can check like that if they want to know whether a particular calibration is active or not. Will let you know if still an issue once we upgrade but great to have a workaround for now. Thanks!

Okay cool. I think it’s timeout issue (like, the leader will ask the workers for calibrations, and if they don’t response within TIMEOUT seconds, it just defaults to a empty list. The default timeout was set too low (1 second), which I think is the problem here).