The Node v1 scheduler lets you queue multiple astronomical targets and run them as a fully automated sequence. Instead of manually slewing and starting exposures for each object, you build a list of targets—each with its own exposure settings and optional start time—and hand the list to the schedule runner. The runner slews to each target in order, waits for the requested start time if one is set, takes the configured number of frames, and then moves on to the next item, all without further intervention.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/skyrobot804/node_v1/llms.txt
Use this file to discover all available pages before exploring further.
Catalog Browser
The dashboard includes a built-in object catalog powered by PyONGC. Clicking the Catalog button in the Scheduling panel sendsGET /api/catalog, which returns a list of Messier and NGC objects with their coordinates and common names.
POST /api/slew.
The catalog is served from the PyONGC database bundled with the node. It does not require an internet connection at runtime. If you need objects not in the NGC/Messier catalogs, enter coordinates manually in the scheduling modal.
Schedule Items
Each entry in the observation queue is a schedule item with the following fields:Human-readable target name (e.g.
"M42" or "NGC 891"). Used for logging and history records; does not affect the slew.Right ascension in decimal hours (0 – 24). Must match the convention used by
POST /api/slew.Declination in decimal degrees (−90 to +90).
Duration of each individual sub-frame exposure in seconds.
Number of sub-frames to capture for this target.
Camera binning factor (e.g.
1 for 1×1, 2 for 2×2). Applied to every exposure for this target.Optional wall-clock start time in
"HH:MM" 24-hour format, interpreted in node-local time. If provided, the runner waits until that time before slewing to this target. If omitted, the runner starts the target immediately after the previous item completes.Running a Schedule
Once you have added at least one item to the queue, click Run Schedule to start the automated sequence. This sendsPOST /api/schedule/run with the full items array:
Wait for start time (if set)
If the item has a
startTime, the runner idles until that wall-clock time is reached.Slew to target
The runner sends
POST /api/slew with the item’s RA and Dec, then waits for the slew to complete.Capture frames
The runner calls
POST /api/camera/expose repeatedly—once per frame—with the item’s expDur and binning values, until expCount frames have been saved.DELETE /api/schedule/abort. The current exposure is allowed to complete before the runner halts; it does not park the mount automatically.
Progress for each item is reported in the live log stream and the schedule panel shows which item is currently active.
Cloud Plans
When the node is enrolled in the Boundless Skies cloud service andcloud.auto_run_plans: true is set in config.yaml, nightly observation plans generated by the cloud are automatically delivered to the node and fed to the schedule runner at the appropriate time. You do not need to build the queue manually; the plan arrives before sunset and is queued as a standard items array.
You can review the incoming plan in the Scheduling panel before it runs, and you can override or cancel it by clicking Stop Schedule and rebuilding the queue manually.
For full details on cloud enrollment, plan delivery, and override behavior, see the Cloud Integration guide.
Manual schedules you start through the dashboard always take priority over a pending cloud plan. If a manual run is already active when a cloud plan arrives, the cloud plan is queued and starts after the manual run completes (or is discarded if
cloud.discard_on_conflict: true).