Alerts

The Alerts page sends you outbound notifications when something important happens at the observatory — a sequence finishes or fails, the sky becomes unsafe, or the safety monitor reports an error. It's how you find out about events without watching the UI. The AlertsManager subscribes to the event bus and, when an enabled condition fires, sends a message on every channel you've turned on.

There are two channels: email (over SMTP) and Pushover (over its HTTPS API). You can enable either, both, or neither. A single master switch (enabled) governs the whole feature — when it's off, nothing is ever sent, regardless of channel or condition settings.

The routing — which event maps to which condition and message — is unit-tested. The sending is real network I/O (smtplib for email, an HTTPS POST for Pushover) and can only be confirmed against your own SMTP server / Pushover account. Every send is wrapped so a failure is logged and never propagates back into the event bus.

Email (SMTP)

Tick on for email (email_enabled) and fill in your provider's SMTP details:

Email is only sent if smtp_host, email_from, and email_to are all set. If smtp_user is blank, the send skips the login step (for relays that don't require auth).

Pushover

Tick on for Pushover (pushover_enabled) and paste two values from your Pushover dashboard:

Both are required. Failed sequences, stopped sequences, unsafe transitions and safety-monitor errors are sent at Pushover priority 1 (high); the routine ones (sequence complete, safe again) go at priority 0.

Which events fire an alert

Each condition is an independent toggle. The defaults are chosen so you hear about the things that matter and aren't spammed by routine ones:

The sequence conditions are driven by sequencer.state events; the safety conditions by safety.state_changed; and the safety-error condition by solo.error / solo.stale. When a sequence fails or is stopped, the alert includes a Reason line if the underlying event carried one (for example the halt or flip-failure detail). The UNSAFE message carries the verdict's reasons; UNKNOWN safety verdicts are treated as unsafe for alerting purposes.

Send a test alert

The Send test alert button dispatches a fixed test message on every enabled channel so you can confirm the wiring end-to-end. It requires the master switch to be on. The result reports per-channel success, so you can see exactly which channel delivered and which failed and why.

Saving and when changes take effect

The Alerts page has its own Save endpoint. On save the config is written to your config.toml and the live AlertsConfig is updated in place. The AlertsManager reads the config fresh on every event, so saved changes take effect immediately — no restart needed.

Edge-firing and de-duplication

Safety alerts are edge-triggered: the manager tracks the previous safe/unsafe state and only sends on a genuine transition (safe → unsafe, or unsafe → safe), so repeated readings of the same state do not re-send. There is no time-based throttle beyond this — sequence and safety-error conditions fire once per underlying event, so a flapping condition can produce repeated messages.

Endpoints

Caveats

Configuration

These settings live in the [alerts] section of config.toml and mirror the page controls. See the Settings and Config file topics for how the file is loaded and saved.

Current build: v19.62.

Astroworx Starship v22.2.10 · this page is the in-app help of that buildDownload · HTTP API