Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add configurable automation of instruments #215

Closed
5 tasks done
ethanjli opened this issue Mar 8, 2023 · 0 comments · Fixed by #230
Closed
5 tasks done

Add configurable automation of instruments #215

ethanjli opened this issue Mar 8, 2023 · 0 comments · Fixed by #230
Labels
stage: dev On/for a development version type: feature Brand new functionality, features, pages, workflows, endpoints, etc. work: obvious The situation is simple/obvious/clear, best practices used

Comments

@ethanjli
Copy link
Member

ethanjli commented Mar 8, 2023

We need a way to script a sequence of MQTT commands to send based on some schedule. The minimum requirement for us will just be to have a config file (e.g. yaml), which we can store in a single text field and run only a single action, with no user-facing error reporting. Other Planktoscope users definitely need something more user-friendly, but that is out-of-scope for this issue.

  • Make a DB table & GUI for instrument automation scripts (relationship between scripts and instruments is many-to-one); there should be a checkbox for whether the script is enabled
  • Enable setting a name for each camera and controller in the GUI, for use in the scripts
  • Use a config (perhaps in HCL, see https://hcl.readthedocs.io/en/latest/index.html) for scheduling a single action, perhaps using https://github.com/go-co-op/gocron
  • Provide an automation action for running the Planktoscope pump
  • Implement lookup of Planktoscope clients by controller name. We can make a collection of ControllerActioners which uses a selects a ControllerActionStore (based on controller protocol) to select a ControllerActioner by ID.
@ethanjli ethanjli added stage: dev On/for a development version type: feature Brand new functionality, features, pages, workflows, endpoints, etc. work: obvious The situation is simple/obvious/clear, best practices used labels Mar 9, 2023
@ethanjli ethanjli changed the title Add scripted automation of instruments Add configurable automation of instruments Mar 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stage: dev On/for a development version type: feature Brand new functionality, features, pages, workflows, endpoints, etc. work: obvious The situation is simple/obvious/clear, best practices used
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant