Skip to content

Enclosure

The enclosure protects the telescope and (for automated installs) opens, closes, and rotates in coordination with observations. Skynet treats enclosures as devices controlled either at the telescope level (one enclosure per scope) or at the observatory level (one enclosure shared by multiple scopes — handled by an observatory node — see SkyNode → Overview).

Config shape

{
  "device_type": "enclosure",
  "driver": "ascom" | "simulator",
  "connect_locally": true,
  "allow_control": true,
  "driver_configs": {
    "ascom":     { /* see below */ },
    "simulator": { /* see below */ }
  }
}

The two enclosure-specific top-level flags:

Flag Meaning
connect_locally If true, this SkyNode install talks directly to the enclosure (typically true for the install that "owns" the enclosure). If false, SkyNode subscribes to enclosure state but does not attempt to control it — useful when one observatory node controls a shared enclosure and telescope nodes only observe its state.
allow_control If true, SkyNode actively commands the enclosure (rotate, open/close shutter) as part of the observation lifecycle. Requires connect_locally: true. Set to false to monitor without controlling.

The two flags together let you express:

  • One install controls a dedicated enclosureconnect_locally: true, allow_control: true.
  • One install monitors a shared enclosure controlled by an observatory nodeconnect_locally: false, allow_control: false.
  • One install connects to the enclosure but only to read stateconnect_locally: true, allow_control: false.

Drivers

ascom — production

For any ASCOM-conformant dome / roll-off-roof driver on Windows.

"ascom": {
  "prog_id": "ASCOM.ScopeDomeUSB.Dome"
}
Key Meaning
prog_id ASCOM ProgID of the dome driver. Examples: ASCOM.ScopeDomeUSB.Dome, ASCOM.AAGCloudWatcher.RollOff, ASCOM.Simulator.Dome

Notes:

  • The ASCOM dome driver's slaving and rotation settings live in the driver app, not in SkyNode. SkyNode sends rotation commands through the standard ASCOM dome interface.
  • Make sure the dome's home and park positions are correct in the driver app before SkyNode tries to use them — shutdown actions (close, park) depend on them.

simulator — testing only

Paper enclosure. Open/close and rotation commands return success immediately.

"simulator": {}

Troubleshooting

  • "Enclosure won't open." Driver-app issue first: check rain sensor input, manual lockout, weather interlocks at the ASCOM-driver level. SkyNode respects whatever the driver reports.
  • "Dome doesn't rotate to follow the mount." Dome-slaving is typically configured in the ASCOM driver app. SkyNode emits rotation commands when the enclosure controller decides the dome should move; if those commands aren't reaching the dome, check the ASCOM driver app's slave settings.
  • "Two installs are fighting for the enclosure." Set connect_locally: false on the install that shouldn't be in control. Only one install should hold control of a given enclosure at a time.
  • "Enclosure didn't close on shutdown." Verify the controller_lifecycle.shutdownActions.closeEnclosure flag in SkyNodeConfig is true. Also confirm the dome driver isn't in a state where it refuses to close (mount not parked, dome not at home position).