Software

BlindsolveSync

Using the EQ6 mount with CCDCommander has some challenges. The main challenge is CCDCommander only uses PinPoint astrometric engine as its platesolver functionality. PinPoint unfortunaltely only can solve the plate when it's in the neighborhood of the target coordinates. This means, when doing a GOTO action, the mount itself must already be pretty accurate. This resulted in massive failed GOTO slews during the automated observing session and I hence decided to start developing a program that can be called from within CCDCommander using the "Run External Program" action. After years of developing and trail&error I finally have something that I can rely on and I'm happy to share the source-code here. This utility is witten in C#, like most of my astro-utilities.
It's hardcoded to work with EQMOD, but can be adapted to use with other ASCOM drivers. I use a adapted version to work with the ASA driver for my remote observatory.

How it works

The program will try in a series of iterations to find the position in the sky. Blindsolving takes time, so the tool assumes that you are already pretty close. Every loop will increase the width where it searches the position. Hence every loop will be a bit slower. This means if you are close to the object it will find it's position almost immediately. The further away you are pointing the longer the calculations will take place.
The solving will first use PinPoint astrometric engine. After that that, it will try a local instance of Astrometry.net. I use the ANSVR program to interface using a Cygwin runtime environment with Astrometry.net installed.

The further away you go into the iterations, the wider the search will be, but the more options it will investigate. For example, after a number of iterations, the program will try to use the NOVA astrometry.net webservice on the internet and it will try a spiral search using PinPoint.
As a last resort, it will assume there are clouds and it will slew the telescope at random to other positions in the sky to find cloudless spots.
If everything fails, it will simply go back to the start position and continue the observing sessions.
AAVSO Report Generator

Using LesvePhotometry as my almost daily photometry tool faced me with a practical problem. LesvePhotometry processes a massive bulk of observations automatically but at the end you end up with a big load of files. These files must be uploaded to AAVSO. I take dozens of snapshots of variable stars during the night and every file only has a few observations in it. Uploading dozens of files every day is very time consuming. Hence I've written a small tool that processes all AAVSO-files in a directory and merges them in one big file. That big file can be uploaded in 1 mouseclick to AAVSO and makes things a bit easier.
It works like this: you select the directory with all the AAVSO files and type a wildcard to merge the files together. After that you click on the Generate button and it generates the bulk AAVSO file.

Note: I have adapted this program for a collegue amateur-astronomer to uses it for MPC Comet-observations. This is the souce code for this adapted version.
Cyberpower UPS Interface

Working with a remote observatory involves some challenges. You are probably observing automatically and are busy with other activities during the observation session.
Usually you are sleeping, watching a movie, or having social time while the telescope is running automatically. Which means, you needs to be prepared for unforseen events.
The main foundation of a running astro rig is off course the electricity. For that you have usually a UPS device installed. If the electricity goes down, you can finish your observation session, park the telescope and close the roof gracefully.
Most UPS software just has a simple option to shut down the pc when electricity is interrupted. For automated astronomy observations things are "a bit" more complicated.
For example, if there is just a power glitch, you don't want to stop the whole observation but keep on observing. In that case it's best to keep observing for a few minutes on battery power.
You want to make sure the CCD-camera is warmed up smoothly. And in my case, you want to be sure that the telescope is parked well before closing the roof.
I've investigated for this purpose multiple UPS solutions and could only come up with the Cypberpower UPS, that comes with the highly professional and tweakable Cyberpower Business UPS software.
This software has a widy variety of events that can be triggered from the UPS hardware. The only thing you have to do is write an interface that decides how your rig will react in case of different scenario's of power failure.
This is the sourcecode of a tool that I have written that can interface with the UPS and my astro-equipment. The same principles apply for other hardware.

How it works

The CyberpowerPanel Business Edition will write flagfiles to a certain directory on the disk. A windows-batch program for this has to be written since Cyberpower business edition runs in a cygwin unix-runtime environment.
The C# program I have written will just endlessly loop over this directory and scans for the existance of flagfiles. The name of the flagfile will indicate what event can be triggered and the program will act accordingly behind the screens to take the necessary actions.
Eclipsing Binaries catalog converter

Observing Eclipsing Binaries involves some issues, and the main issue is imho to find correct ephemerids.
There exists tool Predpedovi that can make predictions of Time of Minima (ToM) using a dedicated catalogue file.
Predepovi Ephemerides
Another program:
Predepovi 2.3
However, one has to create this catalog file.
I made a small program that can convert catalogs from a certain source to the dedicated catalogue file with format that Predpedovi uses.
Right now it only works with 2 sources:
-The DB from Anton Paschke. This involves reading the data from an MS Access database.
-The Krakow catalogue. This involves reading the data from a flatfile.

How it works

You simply select the directory and flatfile where you want the data to be read into. It will also write the result catalog file in this directory.
For the Paschke catalog, you only have to indicate the directory since it will read in from a built-in database that can be found under the db subdirectory in the source code.
Then click the Generate button and let it work. On my system it has to run around 1 hour to generate the catalog file.
These are the result catalog files:
For Ephemerides software
For Predepovi software