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 enclosure —
connect_locally: true,allow_control: true. - One install monitors a shared enclosure controlled by an
observatory node —
connect_locally: false,allow_control: false. - One install connects to the enclosure but only to read state
—
connect_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: falseon 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.closeEnclosureflag in SkyNodeConfig istrue. Also confirm the dome driver isn't in a state where it refuses to close (mount not parked, dome not at home position).