A DragonFly wired to the wall of a roll-off roof observatory, telescope on its pier under the Milky Way and capture software running on the screen
A controller on the wall, a telescope under the sky, software on the screen. The protocol is what joins them.

There is something our controllers have been able to do for years that almost nobody knows about, and that is our fault for keeping it quiet.

Every Lunaticoastro controller speaks the same command language. We call it the Seletek Line Protocol, or SLP, and it means that once you know how to ask one device to close a relay, you already know how to ask another to rotate a dome or report the sky brightness. Same structure, different device.

The full reference is now published: SLP Command Reference. 391 commands, grouped by what they actually do, with a filter so you can hide every device that is not yours.

A command is just a URL

No library, no SDK, no language binding. Which means you can test one by typing it into your browser's address bar:

http://starling/slp/seletek/version

and the device answers:

!seletek version:4627#
A browser showing the address starling/slp/seletek/version and the plain-text response !seletek version:4627#
No terminal, no SDK. A Starling answering in a browser tab—the same command the reference documents for a DragonFly.

That is the protocol. http://{device}/slp/{group}/{command}, plus up to three parameters. Closing a relay looks like this:

curl http://starling/slp/relio/rlset/0/0/1

Plain ASCII in, plain ASCII out. Nothing to decode, nothing to install, and you can watch it work before you write a single line of code.

Three ways in

No two observatories are wired the same way, so the same commands travel three roads:

  • HTTP—the main one. curl, a script, a browser, whatever you have to hand.
  • Serial or USB—115200 baud, 8N1, straight to a PC with no network involved.
  • UDP—port 10000, for when you are polling often enough that HTTP's overhead starts to show.

Which devices

Current: DragonFly, Beaver, Starling, Caterpillar, Caterpillar SSR, Lanternfish and PocketCW2.

Legacy, and still answering: Limpet, Seletek, Armadillo, Platypus and Firefly. The Firefly left the catalogue years ago—it was the DragonFly's ancestor—but it still speaks the same language.

What is in there

The commands are grouped the way you would look for them: relays and sensors, dome rotation, shutter, flap, roof, sky quality, weather sensors, GPS, WiFi configuration, triggers and actions.

And then there is a section labelled Advanced—not recommended: low-level motor control, stepper drivers, raw settings registers. We left it in and labelled it honestly rather than hiding it, because now and then somebody genuinely needs to reach in there, and everybody else deserves to be told to stay out.

Why now

Because it already existed and we never said so out loud. If you have ever wanted your observatory to do something our software does not do, the answer may have been one URL away the whole time.

Explore the SLP reference