Skip to content

Modules

Modules can be used to enhance images created by Allsky. Different modules perform different tasks and the Module Manager WebUI page allows you to control which modules run and when.

There are two types of modules:

  1. Allsky Modules are developed and maintained by the Allsky team and are installed with Allsky.

  2. User Modules are developed and maintained by other people and can optionally be installed and deleted if no longer required.

Warning

User Modules should only be installed from the official Allsky allsky-modules repository using the directions listed there. Installing from other source can be dangerous.

Warning:

Some modules are shown as experimental. Before using these modules you should ensure that you are proficient in analysing Linux log files. Experimental modules can be unstable and as such may "break" Allsky.

Some modules are designed to operate with external hardware, typically connected to the Pi's GPIO pins. Before attempting to use any of these modules make sure you have an understanding of interfacing hardware to the Pi's GPIO.

Don't be discouraged by the above warnings - the module system is very flexible and allows you to customise Allsky without having to change any Allsky code.

What Are Modules

Modules are Python components that extend the functionality of Allsky. They typically fall into one of several categories:

  • Data-enhancement modules — These add extra information that can be used in overlays. For example, the Solar System module provides details about celestial objects like the Moon’s position.
  • Hardware-control modules — These interact with external devices. A common example is the Dew Heater module, which reads sensor data and automatically adjusts the dew heater.
  • Image-processing modules — These operate on the captured images. Some modify the image itself (like the Mask module), while others analyse the image to generate additional overlay data, like the Star Count module.

Available Pipelines (flows)

There are 5 pipelines available in Allsky.

Pipeline Description
Daytime Used whilst Allsky is capturing images during the day
Nightime Used whilst Allsky is capturing images during the night
Day to Night Used when Allsky transitions from Daytime to Nighttime capture
Night to Day Used when Allsky transitions from Nighttime to Daytime capture
Periodic Run periodically outside of the main Allsky capture process

Each pipeline can run a series of modules in sequence. By default, the Daytime and Nighttime pipelines include the core modules that load and save the captured image; these core modules cannot be removed. All other pipelines start empty. You can use the Module Manager to add additional modules to any pipeline as needed.

flowchart TB
    A["Capture Image"] --> B["Remove Bad Images"]
    B --> C["Resize"] & A
    C --> D["Crop"]
    D --> E["Stretch"]
    E --> F{"Flow Type"}
    F -- Daytime Pipeline --> FDL["Load Image"]
    FDL --> FDM["Load Modules"]
    FDM --> FDR["Run Modules"]
    FDR --> FDS["Save Image"]
    FDS --> P["Create Thumb"]
    F -- Nighttime Pipeline --> FNL["Load Image"]
    FNL --> FNM["Load Modules"]
    FNM --> FNR["Run Modules"]
    FNR --> FNS["Save Image"]
    FNS --> P
    PTE["Perodic Timer"] -- Periodic Pipeline --> FPM["Load Modules"]
    FPM --> FPR["Run Modules"]
    F -- End Of Night Pipeline --> FEONM["Load Modules"]
    FEONM --> FEONR["Run Modules"]
    FEONR --> FEONCS["Create Startrails"]
    FEONCS --> FEONCT["Create Timelapse"]
    FEONCT --> FEONCK["Create Keogram"]
    FEONCK --> FEONU["Upload Images / Videos"]
    FEONU --> A
    F -- Start Of Day Pipeline --> FEODM["Load Modules"]
    FEODM --> FEODR["Run Modules"]
    FEODR --> P
    P --> Q["Create Mini Timelapse"]
    Q --> R["Upload Image"]
    R --> A

The Module Manager

Pipelines are managed by adding and removing modules via the Module Manager.

Default Pipline

When entering the Module Manager the default pipeline will be either Daytime Capture or Nighttime Capture depending upon the time of day.

Module Manager

The Module Manager

# Function Description
1 Save The Module Configuration Use this button to save the pipeline after you have made any changes to modules or module configuration.
2 Select Pipeline Selects the pipeline to manage.
3 Periodic Flow Shortcut to display the periodic flow.
4 Module Filter Filters modules in the available list by module type.
5 Package manager Manage modules, install, remove.
6 Device Manager Displays the 'Device Manager'.
7 Module Options Displays the Module Manager settings.
8 Debug Displays debug information for the last pipeline run.
9 Search Allows searching in the available and selected module lists.
10 Available Modules Lists the modules available to be added to the pipeline.
11 Selected Modules Lists the modules selected for the pipeline.

Enabling a module

To enable a module drag it from the Available Modules column to the Selected Modules column and select the "Enabled" checkbox. The module will become active after the flow has been saved using the "Save The Module Configuration" button, which turns green after a change has been made. You can set modules to be automatically enabled when dragging them to the Selected Modules column via the Module Options button.

Most modules require some configuration after they have been moved to the Selected Modules column. Clicking a module's cog button will display any configuration options for the module.

Disabling a Module

There are two ways to disable a module:

  1. Uncheck the "Enabled" checkbox - this will disable the module but retain any settings. This is the preferred method if you just wish to temporarily disable a module.
  2. Drag the module to the Available Modules column - this will disable the module and lose any settings for it.

Execution order

The modules are run in the order they appear in the Selected Modules column. To change the order simply drag the modules up or down the list. Locked modules can not be moved.

Module Order

The order modules run in is important. For example don't put the overlay module before a module that generates data for it. If you do, the overlay will display the data from the previous run of the pipeline.

Module Settings

Each module provides a dialog where its settings can be managed. These settings are divided into tabs. Each module will have different tabs but there are a few that are consistent across all modules. Pressing a module's cog icon displays its settings.

The History Tab

If the module produces any graphs then the main graph will be displayed in the history tab.

The History tab

The Variables Tab

This tab shows what variables the module will generate, these can then be used in the Overlay Editor's "Variable Manager" to add fields to the overlays. This is really only for information purposes.

The Variables tab

The Changelog Tab

This tab shows a history of the changes that have been made to the module.

The Change Log tab

The IMPORTANT tab

If this module or any portions of it are deprecated then this tab will display information about those deprecations.

The Deprecation tab

Testing Modules

Some modules provide the ability to test the module rather than waiting for it to run and reviewing the Allsky logs.

The Test button

Clicking the test button will run the module with the current settings you have configured and display a results dialog with two tabs:

The Test Results tab

The Extra Data tab