seestar

Controls a ZWO Seestar S50 telescope for GoTo, focus, stacking, and image publishing.

Updated Sep 21, 2026
One-click install
npx skills add https://github.com/WillyGarage/seestar-observatory --skill seestar-willygarage
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: seestar
Source: https://github.com/WillyGarage/seestar-observatory/tree/main/skills/seestar
Command: npx skills add https://github.com/WillyGarage/seestar-observatory --skill seestar-willygarage

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires seestarpy, numpy, opencv-python-headless, pillow, requests, imageio-ffmpeg, skyfield, smbprotocol.

What problem does it solve? Operating a Seestar S50 smart telescope well requires juggling two control protocols, focus sweeps, exposure tuning, stacking, and file organization, all with firmware quirks that silently ruin sessions. This Skill encodes the tested workflows and hard-won gotchas so an AI agent can drive the telescope conversationally and produce finished astrophotography without repeating known mistakes. ## Core Features & Use Cases - Full telescope control: status checks, GoTo with plate solving, focus sweeps, nudges, live RTSP frames, and full-resolution raw captures via the native JSON-RPC protocol and the built-in ASCOM Alpaca server. - Session pipelines: ready-made recipes for Sun, Moon, planets, and deep-sky targets, including the scope's own 10-second sub stacking and pulling its 16-bit FIT masters over SMB for processing with fitproc.py. - Gallery and public site integration: organize captures into dated session folders, promote finished pictures to a gallery, and push them to a public website with a photo-request inbox. - Use Case: Ask the agent to photograph M31 tonight; it slews, plate-solves, starts stacking, monitors dropped frames, pulls the scope's FIT master, stretches and denoises it into a finished JPEG, and publishes it to the gallery. ## Quick Start Ask the agent to check the telescope status and take a picture of the Moon tonight using the seestar skill.

Frequently Asked Questions about seestar

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control a ZWO Seestar S50 telescope from Python?▼

Use the seestar CLI, which talks to the scope over its native JSON-RPC protocol on TCP 4700 via the seestarpy library and over the built-in ASCOM Alpaca REST server on port 32323. Commands cover status, GoTo, focus, raw capture, and stacking.

How to take deep-sky photos with a Seestar S50?▼

Run seestar goto with the target name and --lp flag, then let the scope stack 10-second subs itself while monitoring with stack info. Afterwards pull the scope's own 16-bit FIT masters over SMB and process them with fitproc.py for the best final image.

Does the Seestar S50 work over WSL2 or containers?▼

TCP control to the scope works under WSL2 NAT, but UDP discovery and mDNS do not, so you must configure the scope's IP address directly. Give the scope a DHCP reservation so its address never changes.

Why does my Seestar GoTo land far off target?▼

An uncalibrated compass makes GoTo land roughly 30 degrees off, and moving or releveling the tripod invalidates the pointing model. Run compass calibration in the phone app, then force a plate solve with a goto to a bright star before trusting GoTo.

What are the limitations of Seestar S50 unattended operation?▼

The scope cannot be powered on remotely since the power button is mechanical, and auto_power_off must be disabled or the scope shuts down when parked and idle. Alt-az GoTo also fails to converge above roughly 75 degrees altitude.