Hello! I’m on pat-leave, but most of this work was done prior. I want to get it out since there are some nice additions and bug fixes.
24.10.29
We recommend being on version 24.9.19 or above before updating.
Download 24.10.29 release zip file
Enhancements
dosing_automation.vial_volumereplaced withdosing_automation.liquid_volume. You can see the values by watchingpio mqtt -t "pioreactor/+/+/dosing_automation/liquid_volume"after starting a dosing automation.- Adding a SQL table for tracking
liquid_volume. - Because we are now storing
liquid_volumein the database, you can add charts in the UI that track the volume over time:- Add the following yaml contents to
~/.pioreactor/plugins/ui/contrib/charts/liquid_volume.yaml: liquid_volume.yaml · GitHub - In your config.ini, under
ui.overview.charts, add the lineliquid_volume=1.
- Add the following yaml contents to
- New dataset exports from the Export data page in the UI: calibrations and liquid-volumes.
- Added a “partition by unit” option to the Export data page that will create a csv per Pioreactor in the export, instead of grouping them all together.
- od calibrations can use the
--json-fileto edit calibration polynomial coefficients. In the json file, specifycurve_data_fields with values of the curve’s polynomial coefficients (leading term first), and setcurve_typeas"poly". The routine will begin with that calibration curve displayed. - faster UI response times when starting jobs.
- faster syncing configs.
- faster copying files across cluster via
pio cp. - faster clean up of jobs using PWMs.
- new installs only: updated base RPiOS to 2024-10-22.
- new database table in
/tmp/local_intermittent_pioreactor_metadata.sqlitecalledpio_job_published_settingsthat stores the published settings for each job. This powers the next API endpoints: - New API endpoints for getting the current settings of a running job:
- Per pioreactor:
- GET:
/unit_api/jobs/settings/job_name/<job_name> - GET:
/unit_api/jobs/settings/job_name/<job_name>/setting/<setting>
- GET:
- Across the cluster:
- GET:
/api/jobs/settings/job_name/<job_name>/setting/<setting> - GET:
/api/jobs/settings/job_name/<job_name>/experiments/<experiment> - GET:
/api/jobs/settings/job_name/<job_name>/experiments/<experiment>/setting/<setting> - GET:
/api/jobs/settings/workers/<pioreactor_unit>/job_name/<job_name> - GET:
/api/jobs/settings/workers/<pioreactor_unit>/job_name/<job_name>/setting/<setting>
Ex: query the temperature of a Pioreactor:curl http://pio01.local/unit_api/jobs/settings/job_name/temperature_automation/setting/temperature
- GET:
- Per pioreactor:
Breaking changes
pio kill --name xis nowpio kill --job-name x- removed publishing published_settings metadata to mqtt. Ex
$properties,$settable,$unit,$datatypeare no longer being sent mqtt. This was never used, and just a bandwidth suck.
Bug fixes
- fix for OD calibration graph showing “two lines” in the terminal display
- fix for updating over the internet when a Pioreactor is on a
A.devXorB.rcYrelease pio kill --all-jobswill no longer kill long-running jobs from plugins (specifically,logs2xjobs.)- updating the UI software won’t prematurely stop any currently running activities
- correct ethernet mac address on RPi5s
- We weren’t passing all the OS environment variables when jobs were started from the UI. This is fixed now.
- Fixed circulate media / alt. media in the UI.
- Fixed manual dosing updates in the UI.
