Code Monkey home page Code Monkey logo

indi-allsky's Introduction

indi-allsky

indi-allsky is software used to manage a Linux-based All Sky Camera using the INDI framework. Theoretically, any INDI supported CCD/CMOS camera can be functional.

Pictured: SpaceX Cargo Dragon (over Georgia) headed for splashdown off the coast of Florida

New Features

  • Use star metrics (in addition to ADU) for star trails generation
  • Generate thumbnails to reduce load time in Timelapse view
  • Panorama timelapse generation
  • Fish-eye to Panoramic perspective
  • Upload timelapse videos directly to YouTube
  • Cardinal direction labels
  • Satellite tracking and visibility info
  • Wildfire smoke reporting (North America only)
  • Aurora prediction and Kp-index reporting

Features

  • RAW data is the default and preferred input
    • INDI - 16-bit FITS data
    • libcamera - 16-bit DNG data
    • Also supports 8-bit RGB, PNG, and JPEG input
  • Multiple camera vendor support
    • ZWO
    • Svbony
    • QHY
    • Altair
    • ToupTek
    • Starlight Xpress
    • Player One Astronomy
    • Raspberry Pi Camera Modules
      • HQ Camera (IMX477)
      • IMX378
      • Camera Module v3 (imx708)
      • IMX519
      • 64mp HawkEye
      • other libcamera supported modules
    • DSLRs
    • Generic web cameras
    • More to come
  • Image stretching (16-bit)
  • Multi-image stacking
  • Dark calibration frames to remove hot pixels
  • Camera temperature control (for cameras with active cooling)
  • Timelapse video generation
  • GPS support
  • Images tagged with EXIF data (JPEG only)
  • TrueType font support for image labels
  • Remote web portal
  • Network file transfers - Upload images and videos to remote site
    • S3 Object Storage support
      • Amazon Web Services
      • Google Cloud Storage
      • Oracle OCI Storage
  • Publish data to an MQTT service for monitoring
    • Home Assistant Auto-Discovery integration
  • Keograms
  • Star Trails
  • Automatic meteor/plane/satellite detection
  • Docker containerization support
  • Images display local hour angle of sun and moon
  • Moon mode - reduced gain when the moon is overhead
  • Remote INDI server operation - operate camera remotely over the network
  • Pseudo-Sky Quality Meter - Use your all sky camera to measure sky brightness/quality
  • Relational database stores image and timelapse information
    • SQLite (default)
    • MySQL/MariaDB

Frequently Asked Questions

https://github.com/aaronwmorris/indi-allsky/wiki/FAQ

Requirements

  • A computer running a modern Linux distribution, such as a Raspberry Pi
    • Multicore is recommended
      • ARM
      • x86_64
    • 2GB RAM recommended, 1GB minimum
      • 512MB is adequate for image acquisition, but not enough to generate timelapse videos with ffmpeg
    • 64GB of storage minimum to store 2 months of videos and 30 days of JPEG images.
    • (Optional) Internet connectivity for image uploading
  • Camera
    • Most INDI supported astro/planetary cameras will work
    • libcamera - Raspberry Pi camera module

Distibution support

Distribution Arch Note
Raspberry Pi OS 12 (bookworm) aarch64 (64-bit) RECOMMENDED
Compile INDI with build_indi.sh
Use libcamera or indi_pylibcamera for Raspberry PI HQ camera
Raspberry Pi OS 12 armhf (32-bit) (DO NOT USE) WARNING: Currently has package dependency problems, please use 64-bit
Raspberry Pi OS 11 (bullseye) aarch64/armhf Compile INDI with build_indi.sh
Raspberry Pi OS 10 (buster) armhf (NOT RECOMMENDED) Compile INDI with build_indi.sh
Debian 12 (bookworm) x86_64 Compile INDI with build_indi.sh
Debian 11 (bullseye) x86_64 Compile INDI with build_indi.sh
Debian 10 (buster) x86_64 (NOT RECOMMENDED) Compile INDI with build_indi.sh
Ubuntu 22.04 (focal) aarch64 INDI installed from ppa:mutlaqja/ppa
Ubuntu 22.04 armhf Compile INDI with build_indi.sh
Ubuntu 22.04 x86_64 INDI installed from ppa:mutlaqja/ppa
Ubuntu 20.04 (bionic) x86_64 INDI installed from ppa:mutlaqja/ppa
Ubuntu 20.04 aarch64 Compile INDI with build_indi.sh
Armbian aarch64/armhf Compile INDI with build_indi.sh
https://github.com/aaronwmorris/indi-allsky/wiki/Armbian-Tuning
Astroberry Server 2.0 armhf (DO NOT USE) The Astroberry appears to be abandoned and is no longer supported with indi-allsky

INDI support

Version Note
v2.0.7
v2.0.6 Recommended
v2.0.5 Requires upgrade to indi-allsky v7.7
ZWO ASI problem
v2.0.4 Typo in indibash.h prevents building pyindi-client
Svbony support is broken
v2.0.3
v2.0.2
v2.0.1

Single Board Computer support

Board Note
Raspberry Pi 5 Requires bookworm
Raspberry Pi 4 Recommend 64-bit bullseye
Raspberry Pi 3 Recommend 64-bit bullseye, recommend 1GB of swap
Raspberry Pi Zero 2 Recommend 64-bit bullseye, memory constrained
Raspberry Pi Zero Recommend 32-bit bullseye, memory constrained
Rock Pi
Libre Computer (Le Potato)
Orange Pi
Orange Pi PC Plus Requires 2GB swap (and patience) to build all python modules
Banana Pi
BeagleBone

Installation

The process for installing indi-allsky is documented in the wiki.

https://github.com/aaronwmorris/indi-allsky/wiki/Getting-Started

Docker Containerization

indi-allsky has full support for running in a containerized environment. Check out the docker/ folder for the Docker assets.

https://github.com/aaronwmorris/indi-allsky/wiki/Docker

Logs

  • When indi-allsky is run from the command line, logs are sent to STDERR by default.
  • When the indi-allsky service is started, logs are sent to syslog via facility local6. Logs are stored in /var/log/indi-allsky/indi-allsky.log and rotated daily.
    • Web interface logs are located at /var/log/indi-allsky/webapp-indi-allsky.log

Updating

indi-allsky updates are designed to be rolling releases. I do everything I can to prevent breaking changes. Most changes only require pulling updates from GitHub and re-running setup.sh.

https://github.com/aaronwmorris/indi-allsky/wiki/Updating-indi-allsky

Security

In an effort to increase security, I am trying to do a better job of tracking security issues in indi-allsky and the associated Software Bill of Materials. GitHub Dependabot alerts are enabled which help track things like vulnerable Python modules.

https://github.com/aaronwmorris/indi-allsky/wiki/Security-considerations

https://github.com/aaronwmorris/indi-allsky/wiki/Security-Notifications

libcamera support

libcamera is a new camera interface designed to replace the legacy camera interfaces such as V4L2.

Proper libcamera support is only working on Raspberry Pi OS 11 (bullseye) on Raspberry Pi 3 & 4.

https://github.com/aaronwmorris/indi-allsky/wiki/libcamera-enablement

Note: Genererating and processing raw (dng) files on a system with less than 1GB of memory and libcamera will cause out-of-memory conditions. There is an option to generate JPEG or PNG files with libcamera which solves this issue.

Dark frames

indi-allsky fully automates the capture and processing of master dark calibration frames. Currently, sigma clipping and average methods are supported.

https://github.com/aaronwmorris/indi-allsky/wiki/Dark-Calibration-Frames

Moon mode

This is a special night time operating mode intended to reduce gain when the moon is more illuminated and above the horizon

Keograms

Keograms are a visual representation of the entire timelapse video in a single frame. Every image is rotated so that the vertical aligns to the meridian and then the center-vertical column is extraced from each frame and compiled into the keogram. The rotation parameter in the config is KEOGRAM_ANGLE

https://github.com/aaronwmorris/indi-allsky/wiki/Keogram-Rotation

Below you can see perodic clouds passed over between 8-9pm and again between 4-5am. If you look closely enough, you can see the Pleiades star cluster and the Orion constellation as it passed through the meridian in this example keogram.

Note: The horizontal lines are just hot pixels that were subtracted by the dark frame.

Star Trails

Star trail images stack the stars from each frame to show their progression across the sky.

Star Trails Timelapse

Video of the star trails being stacked in real-time!

YouTube

Smoke reporting

indi-allsky polls data from NOAA Office of Satellite And Product Operations to report the level of smoke coverage in your location. The OSPO provides KML map data for their Hazard Mapping System Fire and Smoke Product [HMS]. indi-allsky processes the smoke polygons in the KML map data and checks if your location (~35 mile radius) is contained within the smoke areas.

Smoke data is updated every 3 hours from NOAA. Smoke data is also published with the MQTT data.

Note: Data is only available for North America.

Aurora & Kp-index

indi-allsky utilizes data from NOAA Space Weather Prediction Center to predict the possibility of Aurora in your location. The SWPC provides data using the Ovation Aurora Model for aurora predictions. indi-allsky uses the Ovation data to create an aggregate score within a ~500 mile radius around your location.

The current Kp-index value is also polled from NOAA. This is the measurement of the disturbance of the Earth's magnetic field, ranging from 0-9. Values higher than 5 are good indicators of stronger solor storm activity which creates aurora.

The Kp-index data, combined with the Ovation data, gives an objective prediction of the visibility of Aurora for your location.

Aurora data is updated every 60 minutes from NOAA. Aurora data is also published with the MQTT data.

Satellite Tracking

Satellite tracking data is used to track the visibility of specific satellites like the International Space Station and Hubble Space Telesope. Rise, transit, and set times are available in the Astropanel view.

Orbital data is downloaded in TLE format from CelesTrak

Star Detection

indi-allsky utilizes OpenCV pattern matching to detect and count the number of stars in the view. Star counts are a good objective measurement of sky conditions.

Star and meteor detection support using detection masks to customize your Region of Interest if there are obstructions in your view. https://github.com/aaronwmorris/indi-allsky/wiki/Detection-Masks

Meteor Detection

Using OpenCV Canny edge detection and Hough Line Transform, indi-allsky is able to perform basic line detection to detect meteor and fireball trails in the view. Airplane and satellite trails are also detected using this method. Images are tagged with an asterisk in the image viewer if a trail has been detected.

Focus Mode

Focus mode is a special setting that generates images more often and implements a Variance of Laplacian scoring algorithm on the image to assist with focusing the camera. Images are not saved when focus mode is enabled.

Stacking

indi-allsky supports image stacking to increase details and contrast in the image.

The following stacking modes are provided:

  • Maximum - The maximum value of each pixel in the stack is used. Increases contrast of stars and sky overall. Extends the effect of satellite/airplane trails, meteors, and other phenomena.
  • Average - The average value of each pixel is used in the resulting image.
  • Minimum - The minimum value of each pixel is used. This has the effect of removing airplane and satellite trails (and meteors).

The Stack split screen option will split the image into two panes. The left pane will show the original image data and the right pane will contain the stacked data.

Regarding performance, stacking does have an impact to memory and CPU utilization. indi-allsky stores the RAW images used for the stack in memory. A single 1920x1080 (1K) image is approximately 8MB. Four 1K images will require 32MB of memory. A single 4056x3040 (4K) RAW image is ~25MB, four would require 100MB of memory (at all times).

CPU utilization and memory is reasonable for stacking 1K images on Raspberry Pi 3 (1GB) hardware, but 4K stacking starts to significantly impact response times. Strongly recommend Raspberry Pi 4 with 2+GB of memory for 4K images.

Registration (alignment) requires significantly more CPU time and doubles the memory requirement since the registered images must also be stored in memory. Registering one 1920x1080 (1K) image (reference + image) requires 2-3 seconds on Raspberry Pi 3 hardware.

Web Interface

The indi-allsky web interface is built on the Flask MVC framework. It is designed to be a dashboard for your sky. Included is the ability to fully manage the camera configuration without having to manually edit from the command line.

Most views do not require authentication. Credentials for accessing the privileged areas are defined upon the first setup of the software.

Home Page

Charts

Early evening, the sun was still going down, but a cloud passed by, increasing the average brightness and lowering the star count.

A large cloud passed over significantly increasing the brightness of the sky and blocking out almost all of the stars.

Image viewer

Historical images browsing. Pictured: A small satellite flare.

Timelapse viewer

Historical Star trails and Keograms. The Keogram image is linked directly to the timelapse video for the night.

System Info

Database

All media generated are logged in a local SQLite database stored in /var/lib/indi-allsky/indi-allsky.sqlite This database is used as the source of images for timelapse and keogram generation, as well as, for displaying images via the web interfaces.

The database is managed via the python modules SQLAlchemy and alembic to provide migrations (schema upgrades) automatically in the setup.sh script.

Remote Web Portal - SyncAPI

An on-premises indi-allsky system can synchronize images and timelapses to a cloud-based indi-allsky web server instance using the built in SyncAPI. Remote users can browse the remote indi-allsky web instance without touching the system running the camera. Images are synced in real-time.

In effect, the indi-allsky web interface is its own remote web portal.

A remote indi-allsky instance can support multiple clients using SyncAPI with a single instance. Users can easily switch between the cameras in the web interface. The SyncAPI can also be combined with the S3 Object Storage functionality to offload image storage to a cloud service.

Home Hosting

The indi-allsky web interface is designed to be directly exposed to the Internet, if you have sufficient bandwidth on your home Internet connection. A simple, yet effective, access control system is implemented to let anonymous (or authenticated) users safely browse images and videos without exposing privileged controls. Only users with assigned administrative authority can make changes.

https://github.com/aaronwmorris/indi-allsky/wiki/Security-considerations

It is also possible to use cloud security offerings like Cloudflare Tunnel to further protect your indi-allsky site.

YouTube support

indi-allsky supports being able to upload timlapse and star trail videos directly to YouTube

https://github.com/aaronwmorris/indi-allsky/wiki/Youtube-Uploads

S3 Object Storage

You may choose to upload images and timelapse files to an S3 bucket. Once the images are in the bucket, images and videos in the web interface will be loaded directly from S3 instead of the local indi-allsky web server. You could easy host the web interface from your home internet connection and just have the large media files served from S3.

Currently, only Amazon Web Services is supported, but other providers could be easily be added. Just open an issue.

Estimated cost for an allsky camera holding 90 days of timelapses and 30 days of images on AWS (day and night): ~$2.00 (USD) per month (50GB of data + 180,000 requests)

AWS S3 and GCP Storage are currently supported.

Note: As of writing this, the AWS free tier for S3 supports 5GB and 2000 requests per month. In a single night, I achieved 80% of the requests limit (8 hours of images every 15 seconds is 1920 upload requests). The free tier is only sufficient for basic testing, but not long term usage.

GPS

GPS support is provided through indi_gpsd and GPSd integration. Any GPS hardware supported by GPSd will work.

JPEG and FITS Images exported [optional] by indi-allsky will be properly tagged with Geographic (latitude/longitude) and Astrometric (RA/dec) information in the headers. Tags include geographic location regardless of GPS support, but the information will be much more precise with the GPS module.

Performance

indi-allsky itself is written in python, but python is just the glue between the different libraries, most of which are C based which makes indi-allsky extremely fast. A 1920 x 1080 image can be dark frame calibrated, debayered, histogram processed, text applied, and compressed to a JPG in less than 0.5 seconds on Raspberry Pi 3 class hardware. PNG processing is a little more taxing, but usually only takes a few seconds.

ffmpeg video processing is considerably more expensive. A 2 minute 1920x1080 h.264 encoded video compiled from 3,000 frames requires ~20 minutes on Raspberry Pi 3 (4 core) hardware. Encoding takes place in a separate process from image aqcuisition and image processing and is run at the lowest CPU priority so image acquision is not impacted.

Software Dependencies

Function Software URL
Camera interface INDI https://indilib.org/
pyindi-client https://github.com/indilib/pyindi-client
libcamera https://libcamera.org/
Image processing OpenCV https://opencv.org/
opencv-python https://github.com/opencv/opencv-python
Pillow https://pillow.readthedocs.io/
piexif https://piexif.readthedocs.io/
astropy https://www.astropy.org/
astroalign https://astroalign.quatrope.org/
ccdproc https://ccdproc.readthedocs.io/
numpy https://numpy.org/
Video processing ffmpeg https://www.ffmpeg.org/
Astrometry pyephem https://rhodesmill.org/pyephem/
File transfer pycurl http://pycurl.io/
paramiko http://www.paramiko.org/
paho-mqtt https://www.eclipse.org/paho/
requests https://requests.readthedocs.io/en/latest/
S3 Object Storage boto3 https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
apache-libcloud https://libcloud.apache.org/
google-cloud-storage https://cloud.google.com/python/docs/reference/storage/latest
Database SQLite https://www.sqlite.org/
SQLAlchemy https://www.sqlalchemy.org/
alembic https://alembic.sqlalchemy.org/
mysql-connector-python https://dev.mysql.com/doc/connector-python/en/
PyMySQL https://pymysql.readthedocs.io/en/latest/
GPS GPSd https://gpsd.gitlab.io/gpsd/
Web interface Flask https://flask.palletsprojects.com/
WTForms https://wtforms.readthedocs.io/
flask-login https://flask-login.readthedocs.io/
Gunicorn https://gunicorn.org/
Apache https://httpd.apache.org/
NGINX https://www.nginx.com/

Architecture

indi-allsky utilizes python's multiprocessing library to enable parallelizing tasks so that image processing does not interfere with image aquisition, etc.

Configuration

All configuration is read from the database. Almost all of the configuration is managed via the web interface. You may use the config.py utility to manipulate the configuration from the command line.

Tested Hardware

3-4 weeks of constant runtime with no intervention are common. The only reason I restart my cameras are code updates (or power failures).

The hardware below has at least been plugged in and tested for correct detection and CFA decoding.

Vendor Model Rating Notes
ZWO ASI120MC-S B https://github.com/aaronwmorris/indi-allsky/wiki/ASI120MC-S-Camera-Issues
ZWO ASI678MC A
ZWO ASI178MC/MM A
ZWO ASI290MC/MM A
ZWO ASI385MC A
ZWO ASI174MM A
ZWO ASI183MC/MM A
QHY QHY5III485C A Needs newer fxload utility for firmware
QHY QHY5LII-M A
Svbony SV305 B ~20% of frames require double the configured exposure time to complete. Likely a firmware bug.
Altair Hypercam 178C A Needs config for full resolution
Altair GPCAM3 290C A Needs config for full resolution
Altair GPCAM3 224C A Needs config for full resolution
Altair GPCAM2 290M A
Touptek G3CMOS06300KPA (IMX178) A
Touptek G-1200-KMB A
Player One Mars-C A
Player One Neptune-C A
Starlight Xpress Superstar A Fixed gain. Using stretching and/or contrast enhance
Datyson T7C A Using indi_asi_ccd driver
Recommend ASI120MC Linux compatibility firmware
Raspberry Pi CM3 imx708 (libcamera) A Minimum 1GB of memory is needed to process RAW images with dark calibration frames
Raspberry Pi HQ Camera imx477 (libcamera) A
Raspberry Pi HQ Camera (indi_pylibcamera) A https://github.com/scriptorron/indi_pylibcamera
Waveshare imx378 (libcamera) A
Waveshare imx462 (libcamera) C Long exposures do not work with AWB disabled
ArduCam 64MP HawkEye A Recommend at least 4GB of RAM for full resolution 9152x6944. Options available to reduce image size.
Canon 550D (Rebel T2i) A Camera resolution and pixel size have to be manually defined in config
Canon 1300D (Rebel T6) A Camera resolution and pixel size have to be manually defined in config
IP Cameras indi_webcam_ccd C Needs config for operation
Webcams indi_webcam_ccd D No gain controls. Little control over image quality.
indi indi_simulator_ccd CCD Simulator. Install GSC to generate sample images.

If you have an INDI supported camera from a vendor not listed, open an enhancement request and I can work with you to support the camera.

Gotchas

Common problems you might run into.

  • The indi-allsky python processes consume ~500MB of RAM.
    • 1K (1920x1080) h.264 encoding with ffmpeg requires an additional ~500MB of RAM. 1GB of RAM should be the bare minimum system memory. You should also have 100-500MB of additional swap space to prevent running out of memory during encoding. 2GB of RAM recommended.
    • 4K (3840x2160) h.264 encoding requires an additional 2+GB of RAM. 4GB of RAM recommended.
    • 8K resolution (ArduCam 64MP HawkEye) requires 8GB of RAM for full resolution video processing.
  • In Raspberry Pi OS 10, the h.264 codec in ffmpeg has a maximum frame size of 4096×2304 (AVC level 5.1). If your camera generates higher resolution images, you will need to scale the video or use the Region of Interest (RoI) options to reduce the frame size.
    • NEW: indi-allsky now has the ability to scale the native resolution images during the ffmpeg encoding phase, so you do not need to pre-scale your images.
    • The RaspberryPi HQ camera has a bin1 image size of 4056x3040. Setting IMAGE_SCALE to 75 in the config results in a image size of 3042x2280. Alternatively, you can center crop the image using IMAGE_CROP_ROI set to [0, 368, 4056, 2672] for an image size of 4056×2304.
  • ffmpeg in Raspberry Pi OS 11 enables AVC level 6.0+ which permits h.264 resolutions up to 8192×4320 (you must have sufficient system memory)

File Transfer

indi-allsky supports several file transfer methods.

https://github.com/aaronwmorris/indi-allsky/wiki/File-transfers

Protocol Port
ftp 21
ftpes 21
ftps 990
sftp 22
webdav (https) 443

MQTT Publishing

indi-allsky supports publishing all sky data to an MQTT service for monitoring.

For more info, see the wiki page: https://github.com/aaronwmorris/indi-allsky/wiki/MQTT-Broker-Publishing

Blogs, Articles, and Links

Please let me know if you want to make an addition or correction.

Alternatives

Commercial hardware

Acknowledgements

Donate

If you would like to fund equipment purchases for testing (or more Dr Pepper), you can use this link.

However, I would rather you to donate something to charity. As a suggestion, the Ronald McDonald House has helped my family in the past. I would love to hear if you give, please let me know!

indi-allsky's People

Contributors

aaronwmorris avatar darkorb avatar dbainbridge avatar elliot-ford avatar gshau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

indi-allsky's Issues

*Raspbian 11 is not yet support in the Astroberry repo*

looks like is some unupdated libs on astroberry

pi@allsky:~/indi-allsky $ ./setup.sh
###############################################

Welcome to the indi-allsky setup script

###############################################

Distribution: Raspbian
Release: 11

INDI_DRIVER_PATH: /usr/bin
INDISERVER_SERVICE_NAME: indiserver
ALLSKY_SERVICE_NAME: indi-allsky
HTDOCS_FOLDER: /var/www/html/allsky
DB_FOLDER: /var/lib/indi-allsky

Setup proceeding in 10 seconds... (control-c to cancel)

**** Installing packages... ****

Current default time zone: 'Europe/Madrid'
Local time is now: Sun Jan 16 17:43:52 CET 2022.
Universal Time is now: Sun Jan 16 16:43:52 UTC 2022.

Raspbian 11 is not yet support in the Astroberry repo

Wont run a full day.

The setup is a PI4 4 GB HQ, Pi Cam Running Buster
Have set up a swap file size of 1024
Installed your softare
Installed INDI Library including all 3rd party drivers:
Set config to camera-specific settings the main one being 50% on image size.
What is happening is the Indi-all-sky shuts down. This morning the only way I could get it going was to disable the moon with 91 in the moon Altitude. Most of the time I just reboot but I am trying to figure out what the issues are.
I attached the log file

This looks to be the place that it quit

May 9 23:03:40 raspberrCAM [WARNING] ImageWorker001 image.mqtt_publish() #377: MQ publishing disabled
May 9 23:03:40 raspberrCAM [WARNING] ImageWorker001 image.upload_image() #353: Image uploading disabled
May 9 23:03:44 raspberrCAM [INFO] MainProcess allsky.run() #571: Camera last ready: 8.8s
May 9 23:03:44 raspberrCAM [INFO] MainProcess allsky.run() #572: Exposure state: OK
May 9 23:03:44 raspberrCAM [INFO] MainProcess allsky.detectNight() #800: Sun altitude: -35:08:21.1
May 9 23:03:44 raspberrCAM [INFO] MainProcess allsky.detectMoonMode() #817: Moon altitide: 42:22:15.5, phase 61.5%
May 9 23:03:44 raspberrCAM [INFO] MainProcess allsky.detectMoonMode() #821: Moon Mode conditions detected
May 9 23:03:44 raspberrCAM [WARNING] MainProcess indi.getCcdTemperature() #341: Sensor temperature: not supported
May 9 23:03:46 raspberrCAM [INFO] MainProcess indi.serverDisconnected() #175: Server disconnected (exit code = -1, localhost, 7624
May 9 23:03:47 raspberrCAM [INFO] MainProcess allsky.shoot() #994: Taking 0.66148210 s exposure (gain 16)
May 9 23:03:47 raspberrCAM [WARNING] ImageWorker001 allsky.sigterm_handler() #206: Caught TERM signal, shutting down
May 9 23:03:47 raspberrCAM [WARNING] FileUploader001 allsky.sigterm_handler() #206: Caught TERM signal, shutting down
May 9 23:03:47 raspberrCAM [WARNING] VideoWorker001 allsky.sigterm_handler() #206: Caught TERM signal, shutting down
May 10 05:25:15 raspberrCAM [INFO] MainProcess indi.init() #90: creating an instance of IndiClient
May 10 05:25:15 raspberrCAM [INFO] MainProcess allsky._initialize() #291: Connecting to indiserver
May 10 05:25:15 raspberrCAM [INFO] MainProcess indi.serverConnected() #172: Server connected (localhost:7624)
May 10 05:25:15 raspberrCAM [INFO] MainProcess indi.newDevice() #119: new device RPI Camera
May 10 05:25:15 raspberrCAM [INFO] MainProcess indi.newDevice() #119: new device Telescope Simulator

Help

indi-allsky.log

Feature request: meteor detection

It would be nice to automatically detect meteors as part of an allsky camera image pipeline. I've heard of this being done from a separate windows machine running https://allskeye.com/. I also had a play with the https://globalmeteornetwork.org/ software to process a stack of fits images with their RMS software, but the way this works is designed around video capture so was a dead end (https://globalmeteornetwork.groups.io/g/main/topic/79381433).

The most promising project for an allsky camera that might be integratable is https://github.com/dwkim78/ASTRiDE - I haven't played with this at all, but you could imagine it being part of the pipeline. Another route would be to train an ML model, there are a lot of published research papers and some public code around like https://github.com/satmonkey/MeteorDL but again, I haven't had time to play to see how well they perform with allsky data.

Altair GPCAM2 290M config

Hi Arron, I would like some help setting up an Altair GPCAM2 290M to work with your allsky. The camera works fine within Indi. I believe it is a sub class of the toupek cameras so I tried to start with this. See the output below, can you suggest how I go about getting the correct config.

These two header files from indi may help you

https://github.com/indilib/indi-3rdparty/blob/master/libaltaircam/altaircam.h
https://github.com/indilib/indi-3rdparty/blob/master/indi-toupbase/indi_toupbase.h

When I run manually with the altair_ccd driver selcted I get the following output

(indi-allsky) astroberry@astroberry:~/indi-allsky $ cp config.json_touptek config.json
(indi-allsky) astroberry@astroberry:~/indi-allsky $ ./allsky.py -c config.json run
2021-11-18 21:18:19,493 [INFO] MainProcess info() #54: allocating a new mmap of length 4096
2021-11-18 21:18:19,527 [INFO] MainProcess __init__() #90: creating an instance of IndiClient
2021-11-18 21:18:19,528 [INFO] MainProcess _initialize() #243: Connecting to indiserver
INDI::BaseClient::connectServer: creating new connection...
INDI::BaseClient::connectServer: Already connected.
2021-11-18 21:18:19,532 [INFO] MainProcess serverConnected() #178: Server connected (localhost:7624)
2021-11-18 21:18:19,533 [INFO] MainProcess newDevice() #127: new device Altair ALTAIRGP290M
2021-11-18 21:18:19,536 [INFO] MainProcess newDevice() #127: new device Telescope Simulator
2021-11-18 21:18:19,585 [INFO] MainProcess newText() #169: new Text ACTIVE_DEVICES for device Telescope Simulator
2021-11-18 21:18:19,586 [INFO] MainProcess newText() #169: new Text SCOPE_CONFIG_NAME for device Telescope Simulator
2021-11-18 21:18:19,586 [INFO] MainProcess newSwitch() #162: new Switch MOUNT_TYPE for device Telescope Simulator
2021-11-18 21:18:19,588 [INFO] MainProcess newSwitch() #162: new Switch SIM_PIER_SIDE for device Telescope Simulator
2021-11-18 21:18:27,541 [INFO] MainProcess findCcds() #292: Found device Altair ALTAIRGP290M
2021-11-18 21:18:27,542 [INFO] MainProcess findCcds() #297:  Detected ccd
2021-11-18 21:18:27,542 [INFO] MainProcess findCcds() #297:  Detected guider
2021-11-18 21:18:27,542 [INFO] MainProcess findCcds() #292: Found device Telescope Simulator
2021-11-18 21:18:27,543 [INFO] MainProcess findCcds() #297:  Detected telescope
2021-11-18 21:18:27,543 [INFO] MainProcess findCcds() #297:  Detected guider
2021-11-18 21:18:27,545 [INFO] MainProcess _initialize() #260: Found 1 CCDs
2021-11-18 21:18:27,546 [WARNING] MainProcess _initialize() #263: Connecting to device Altair ALTAIRGP290M
2021-11-18 21:18:27,569 [INFO] MainProcess newText() #169: new Text DRIVER_INFO for device Altair ALTAIRGP290M
2021-11-18 21:18:27,580 [INFO] MainProcess newMessage() #175: new Message 2021-11-18T20:18:27: [INFO] Altair ALTAIRGP290M is online. Retrieving basic data.
2021-11-18 21:18:27,591 [INFO] MainProcess newSwitch() #162: new Switch CONNECTION for device Altair ALTAIRGP290M
2021-11-18 21:18:27,626 [INFO] MainProcess addCamera() #57: Camera DB ID: 2
2021-11-18 21:18:27,626 [INFO] MainProcess _initialize() #277: Set BLOB mode
2021-11-18 21:18:27,762 [INFO] MainProcess newMessage() #175: new Message 2021-11-18T20:18:27: [INFO] Maximum gain considering dual gain is 22500.
Traceback (most recent call last):
  File "/home/astroberry/indi-allsky/virtualenv/indi-allsky/lib/python3.7/site-packages/PyIndi.py", line 1081, in <lambda>
    __getattr__ = lambda self, name: _swig_getattr(self, BaseClient, name)
  File "/home/astroberry/indi-allsky/virtualenv/indi-allsky/lib/python3.7/site-packages/PyIndi.py", line 80, in _swig_getattr
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))
AttributeError: 'BaseClient' object has no attribute 'removeDevice'
2021-11-18 21:18:27,778 [INFO] MainProcess info() #54: process shutting down

Experience with ASI224mc

Aaron,

I've moved over from Thomas' allsky since I'm an indi man for the rest of my astro setup and I'm amazed by what you've done to get to parity so fast. This really is a great piece of work. Here's some feedback points from a fresh setup with ASI224mc:

  • The ASI224mc works, but has the same problem it seems you see with other cameras where if the default and min exposure are zero it starts off with a flat return which meets the ADU criteria and keeps the system at lowest exposure. I'm finding that I need to have some value in default is helping getting it started properly.
  • Your colours for text and the orbs are stated to be r,g,b but seem to be b,g,r
  • It took me a while to realise that saving config also then needs a HUP to be applied. I would suggest this should be done automatically
  • I always have had max exposure on 60s (not sure why anyone would have it on anything else?). However the period between exposures is automatically lengthened to the max exposure if the latter is bigger. (ie I have 15s as period, but this is reset to 60 as that is my max exposure). This new period applies even if the exposure isn't taking the max amount, which I didn't expect - I thought the behaviour would be to use whichever was larger would be the time between the start of exposures. I can see keeping this fixed is useful though - on my old setup timelapses would speed up or slow down based on varying exposure as clouds went past.
  • It would be useful to have the equivalent of Thomas' public.php available somewhere so an external system can iframe in the current image with a javascript reloader built in - I have personally used this for iframing an updating image into grafana
  • It would be nice to have a setting to control the speed of the exposure correction to match ADU. I'm finding in the day with clouds moving overhead it's taking too long to ramp up and down to meet the changing light.

A final thought - with respect to your jSQM ADU count. It might be possible to get the lux of an image as described in https://stackoverflow.com/questions/4876315/determining-image-luminance-brightness/4876528#4876528 and from the lux you can then get to the sky quality. This is some python I wrote for weatherradio to use a light (lux) sensor to measure sky quality and integrate the result into a weewx weatherstation converting between lux and SQM:

# Sky quality formula based on http://unihedron.com/projects/darksky/magconv.php
def luxtomag(x): return math.log10(x/108000)/-0.4
weewx.units.default_unit_format_dict['sky_quality'] = '%.1f'
weewx.units.default_unit_label_dict['sky_quality'] = u" visual mag/arcsec²"
weewx.units.conversionDict['sky_quality'] = {'lux': lambda x : 10.8e4 * 10**(-0.4*x) }
weewx.units.conversionDict['lux'] = {'sky_quality': luxtomag }

The nice thing about having SQM in mag/arcsec^2 is that then it can be pumped back into indi as WEATHER_LIGHT like with https://github.com/rkaczorek/indi-weather-mqtt/blob/main/indi-weather-mqtt.cpp so it could be used in applications like kstars for observatory control.

-Mark

setup failed

Hi,

I tried to setup indi-allsky but failed.

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libcurl4-gnutls-dev : Depends: libcurl3-gnutls (= 7.68.0-1ubuntu2.7) but 7.68.0-1ubuntu2.8 is to be installed
libgnutls28-dev : Depends: libidn2-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

16bit TIFF RGB Format Save Option

Would it be possible to make 16bit TIFF RGB format a separate selectable save option, similar to FITS RAW? Since TIFFs don't work in some browsers, it would not be idea as a primary format like JPG or PNG. It may make more sense to make it a separate save format. It is useful if the full 12bit data from the ASI camera is saved as TIFF to use as a proxy for high quality time-lapse production. In my particular case, I'd like to save as PNG with embedded text/graphics for normal views and also save as TIFF with no embedded text/graphics to process with time-lapse software. Also, if TIFF data is saved debayered RGB and have dark frame applied that will speed up workflow even more.

I assume the normal image processing pipeline is INDI camera driver -> capture data as FITS -> apply dark frame -> convert FITS to PNG/JPG -> add overlay text/graphics -> save. The FITS raw pipeline may be INDI camera driver -> capture data as FITS -> save. Perhaps the TIFF raw pipeline would be INDI camera driver -> capture data as FITS -> apply dark frame -> convert FITS to debayered TIFF RGB -> save.

If this is too much overhead for the system design, at least making TIFF a separate option to save will allow more possibilities for post processing without interrupting the normal time-lapse image pipeline. I've had difficulties converting FITS to TIFF from this setup so that's why I'd prefer TIFF already debayered. The dark frame could be added afterwards but that's an additional step and actually dark frame applied to FITS is the better approach. Ultimately, the goal for this is decrease post-processing and increase image quality. Thanks.

label:enhancement HomeAssistant friendly url's

I'm a big HASS user and would love to get the timelapse view embeddable into lovelace in HASS. Currently using the

https://allsky/indi-allsky/videoviewer

has the side bar and looks wonky as a card...

image

Altair 224C

Hello, I've got this software up and running and really like it, the timelapse creation etc are a great time saver. Thankyou.
I do have a couple of minor issues... hopefully you'll be able to help... :-)

Moon mode doesn't seem to work. The moon was above the horizon last night but it never switched to moon mode.

I seem unable to capture in 16bit. I'm probably missing something obvious.

I can log in to the camera using kstars (while indi-allsky isn't running but the indiserver is) and set the camera up as I want it but when I log out of it from kstars and restart indi-allsky, it goes back to 8bits per pixel.

I've tried various settings, read around the subject and other issues people have had but I'm not a linux/indi power user. I think a similar work around to the ASI120MC S camera issue might work but I do not know how to add the parameters in INDI configuration.

Happy to send logs and do any testing you want for further info on this camera but not being a power user, I may need some direction on that.

Thanks in advance
Jack

Extra temperature sensor

Hi,

I‘m currently using a toupcam model does not contain an internal temperature sensor. Adding something to a raspberry or similar is not an issue. Maybe it would worth thinking about such an reading could be easily included.

Regards
Jörg

Tuning questions

Hi Aaron,

Below is a nice daytime video in relatively clear skies. For reference my ADU window is 475,275 - 575,375 a patch in the top left of the view. The minimum exposure time of the camera is 0.000032s according to the tech specs. Target ADU is 150, deviation 5.

As you can see once the sun rises the system is managing exposure well, then it hits a phase where the exposure time is bouncing around causing flickering. Then it stabilises but over the rest of the day it steps up in brightness and drifts away from the nice exposure value at the start of the day. This is somewhat counterintuitive as the ADU window is top left so as the sun moves closer and finally over the window I would have expected the exposure to ramp down not up.

Do you have any tips for improving the behaviours here - overall this is much smoother than I had with the TJ setup, but if there's optimisation I can do I thought it worth asking. Thanks.

-Mark

https://www.dropbox.com/s/v3f66zuchv5y1ws/allsky-timelapse_ccd2_20220710_day.mp4?dl=0

Customise text overlay

No issue, but I'd love to be able to disable the overlay for some clean images to stack/star trail/etc.

Is it possible for us to customise the text overlay that's added to the images.

It'd be nice to be able to:

  • disable it completely - or only have it apply to e.g. FTP uploaded image, not timelapses and startrails.
  • change the date/time format
  • add custom text - maybe use templates for the different standard variables (e.g. %datetime%\nCPU Temperature: %CPUtemp%\nLocation: Somewhere over the rainbow
  • include an image overlay (e.g. transparent png)

Great work - loving this so far. Still weather-testing my build at the moment, but getting some great results with the ASI 224MC.

EDIT: additional thought: saw some discussion around overlaying a planetarium (would be a lovely feature). Again, maybe the planetarium overlay could be saved as a transparent png - to allow user to switch it on/off and not affect the raw files?

Timelapse

it seems ok to disable capture and timelapse in day mode, but in night mode it is not generating timelapse, is that normal?

You have to install this via the GUI / desktop

I was building this on a RPi 4.
One thing I discovered is that you actually have to be logged in to the GUI to get this code to build successfully.
At first I was just SSH'd in and running from the command line.
It built (once all dependencies were satisfied, some were a bit tricky) and got as far as asking me to
Select an INDI driver
After that the setup.sh script ran a bit more then terminated as follows:

**** Setting up indiserver service ****
**** Setting up indi-allsky service ****
**** Setting up gunicorn ****
**** Enabling services ****
Failed to connect to bus: No such file or directory

The script exited abnormally, please try to run again...

However if I used VNC / Nomachine to connect to the RPI desktop and ran the same setup.sh script, it ran through to completion.
Hopefully this tip will help others.

Night imaging stopped

Tried the latest update with merge #224 but there was an issue. Day images saved and day time-lapse was generated, but as soon as night began imaging stopped. There was only one image saved for night and no further images were taken, including the latest image. Something has caused the system to stop taking night images when going from day to night. Please look into this. Thanks.

Install failed on Astroberry image

I have tried to follow the instructions to install indi-allsky onto my astroberry image as it has my indo dev environment and other tools that I may want to use. However there appers to be an conflict with Apache can you assist? I assume this is becuase astroberry already has a web service. I tried editing apache_indi-allsky.conf to move it to port 81 but this did not help?

Thanks

Looks a great project, I have an Altair GPCAM290 that works with indi so looking forwards to setting this up as an Allsky camera

Select an INDI driver: 1
**** Setting up indiserver service ****
**** Setting up indi-allsky service ****
**** Enabling services ****
**** Setup rsyslog logging ****
**** Start apache2 service ****
Module rewrite already enabled
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Module socache_shmcb already enabled
Module ssl already enabled
Site 000-default already disabled
Site default-ssl already disabled
Site indi-allsky already enabled
Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
astroberry@astroberry:~/indi-allsky $ ^C
astroberry@astroberry:~/indi-allsky $ systemctl status apache2.service
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2021-11-18 00:48:40 CET; 10s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 14680 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Nov 18 00:48:40 astroberry apachectl[14680]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0
Nov 18 00:48:40 astroberry apachectl[14680]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Nov 18 00:48:40 astroberry apachectl[14680]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Nov 18 00:48:40 astroberry apachectl[14680]: no listening sockets available, shutting down
Nov 18 00:48:40 astroberry apachectl[14680]: AH00015: Unable to open logs
Nov 18 00:48:40 astroberry apachectl[14680]: Action 'start' failed.
Nov 18 00:48:40 astroberry apachectl[14680]: The Apache error log may have more information.
Nov 18 00:48:40 astroberry systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Nov 18 00:48:40 astroberry systemd[1]: apache2.service: Failed with result 'exit-code'.
Nov 18 00:48:40 astroberry systemd[1]: Failed to start The Apache HTTP Server.
```

Help or Feature Request -- Overlay External Information on Web Page

I would like to overlay information from a python script I have running on the pi. The script monitors the CPU and enclosure temperature (using a DHT22) and runs a fan if temperature thresholds are met. With Thomas Alquin's Allsky, I put the information in an html file and used a php include to add this information to his "public.php" page.

I could also envisage grabbing ambient conditions from my Davis weather gauge (already captured for INDI use). Any recommendations or feature enhancement would be appreciated.

File "./allsky.py", line 97, in <module>

Hi.
I tried to install with QHY5 but got this error:
2021-09-08 18:02:40,568 [INFO] MainProcess _initialize() #255: Set BLOB mode
2021-09-08 18:02:40,570 [INFO] MainProcess newMessage() #129: new Message 2021-09-08T11:02:40: [ERROR] Connecting to camera failed (QHY5LII-M-6077e8602ac8994f3).
2021-09-08 18:02:40,572 [INFO] MainProcess configureDevice() #234: Setting switch FRAME_FORMAT
2021-09-08 18:02:40,573 [INFO] MainProcess newSwitch() #116: new Switch CONNECTION for device QHY CCD QHY5LII-M-6077e
Traceback (most recent call last):
File "./allsky.py", line 97, in
action_func(*args_list)
File "/home/pi/indi-allsky/indi_allsky/allsky.py", line 393, in run
self._initialize()
File "/home/pi/indi-allsky/indi_allsky/allsky.py", line 258, in _initialize
self.indiclient.configureDevice(self.ccdDevice, self.config['INDI_CONFIG_DEFAULTS'])
File "/home/pi/indi-allsky/indi_allsky/indi.py", line 235, in configureDevice
self.set_switch(device, k, on_switches=v['on'], off_switches=v.get('off', []))
File "/home/pi/indi-allsky/indi_allsky/indi.py", line 403, in set_switch
c = self.get_control(device, name, 'switch')
File "/home/pi/indi-allsky/indi_allsky/indi.py", line 377, in get_control
raise TimeOutException('Timeout finding control {0}'.format(name))
indi_allsky.exceptions.TimeOutException: Timeout finding control FRAME_FORMAT
2021-09-08 18:02:50,585 [INFO] MainProcess info() #54: process shutting down

Gain set to max when changing from Day to Night or Day to Moon

Great work on this project, but I am having a weird issue (as discussed on CloudyNights). I have the gain configured to 110 for day, 300 for night, and 200 for moon. When it changes from day to night or day to moon it is setting the gain to 720 (which is the max for the SV305).

Apr 9 19:59:43 allskypi [WARNING] MainProcess allsky.reconfigureCcd() #767: Change to night (moon mode)
Apr 9 19:59:43 allskypi [WARNING] MainProcess indi.setCcdGain() #412: Setting CCD gain to 720
Apr 9 19:59:43 allskypi [INFO] MainProcess indi.configureDevice() #332: Setting property CCD_GAIN
Apr 9 19:59:43 allskypi [INFO] MainProcess indi.newMessage() #179: new Message 2022-04-09T23:59:43: [INFO] Camera control 0 to 720
Apr 9 19:59:44 allskypi [WARNING] MainProcess indi.setCcdBinning() #474: Setting CCD binning to (1, 1)
Apr 9 19:59:44 allskypi [INFO] MainProcess indi.configureDevice() #332: Setting property CCD_BINNING
Apr 9 19:59:44 allskypi [INFO] MainProcess indi.newMessage() #179: new Message 2022-04-09T23:59:44: [INFO] Binning changed
Apr 9 19:59:58 allskypi [INFO] MainProcess allsky.shoot() #1160: Taking 1.32142818 s exposure (gain 720)

I am also seeing this in the logs:

Apr 9 08:23:33 allskypi [ERROR] MainProcess allsky.sighup_handler() #183: CCD night gain above maximum, changing to 720
Apr 9 08:23:33 allskypi [ERROR] MainProcess allsky.sighup_handler() #190: CCD moon mode gain above maximum, changing to 720
Apr 9 08:23:33 allskypi [ERROR] MainProcess allsky.sighup_handler() #197: CCD day gain above maximum, changing to 720

I am not sure if HUPing the indi-allsky fixes it. Tonight I stopped indi-allsky, stopped indi server, then started indi server, and then started indi-allsky. If the issue happens again tomorrow night I will try to just HUP indi-allsky and report back if that fixes it.

I can submit a full copy of the logs if needed, just let me know.

Thanks
Hersey

Installation Problem

Hi Aaron,

the setup script fails to successfully install indi-allsky:
**** Python virtualenv setup ****
mkdir: cannot create directory ‘/home/pi/indi-allsky/virtualenv’: Permission denied

Trying to use sudo or root fails because of your checking routine...

Any ideas?

System is a pi 4 with a clean install raspbian light (buster)

On Demand Timelapse, Star Trail, and Keogram Generation

Would it be possible to add an option in System page to manually invoke Time-lapse, Star Trail, and Keogram generation? It seems the only time these are generated is at sunrise and sunset. However, sometimes the device needs to be turned off before these times and the files are just sitting in the folder. An example is when I use the device during outreach events that only lasts 4-5 hours or an imaging session where I pack up before sunrise. Rather than leave the device on and wait for sunrise/sunset to process the files, an option to manually activate for the current files would be useful.

So if the process is manually invoked, whatever files are available for a given day/night would be processed. It should be possible that multiple products could be produced manual generation is invoked multiple times, using whatever files are available for the given day/night time period. Of course, the normal function of processing all day/night images at sunrise/sunset should still function without interaction.

Temperature

Is it possible to add Fahrenheit as a temperature option, or an option to display both.

Thanks, love the software.

Brian

[ERROR] MainProcess uploader.unhandled_exception() #32: Value: 'task_id'

I just got the following error when trying to capture darks for the first time.

Build: Current
OS: Raspberry Pi OS
SBC: Pi 3B
Camera: SV305

2022-06-26 11:02:52,853 [ERROR] MainProcess uploader.unhandled_exception() #32: Value: 'task_id'
[2022-06-26 11:02:52,853] ERROR in uploader: Value: 'task_id'
2022-06-26 11:02:52,857 [ERROR] MainProcess uploader.unhandled_exception() #37: ' File "/home/pi/indi-allsky/./darks.py", line 87, in <module>\n action_func()\n'
[2022-06-26 11:02:52,857] ERROR in uploader: ' File "/home/pi/indi-allsky/./darks.py", line 87, in <module>\n action_func()\n'
2022-06-26 11:02:52,858 [ERROR] MainProcess uploader.unhandled_exception() #37: ' File "/home/pi/indi-allsky/indi_allsky/darks.py", line 305, in sigmaclip\n self._run(IndiAllSkyDarksSigmaClip)\n'
[2022-06-26 11:02:52,858] ERROR in uploader: ' File "/home/pi/indi-allsky/indi_allsky/darks.py", line 305, in sigmaclip\n self._run(IndiAllSkyDarksSigmaClip)\n'
2022-06-26 11:02:52,859 [ERROR] MainProcess uploader.unhandled_exception() #37: ' File "/home/pi/indi-allsky/indi_allsky/darks.py", line 430, in _run\n self._take_exposures(exposure, dark_filename_t, bpm_filename_t, ccd_bits, stacking_class)\n'
[2022-06-26 11:02:52,859] ERROR in uploader: ' File "/home/pi/indi-allsky/indi_allsky/darks.py", line 430, in _run\n self._take_exposures(exposure, dark_filename_t, bpm_filename_t, ccd_bits, stacking_class)\n'
2022-06-26 11:02:52,860 [ERROR] MainProcess uploader.unhandled_exception() #37: ' File "/home/pi/indi-allsky/indi_allsky/darks.py", line 490, in _take_exposures\n hdulist = self._wait_for_image()\n'
[2022-06-26 11:02:52,860] ERROR in uploader: ' File "/home/pi/indi-allsky/indi_allsky/darks.py", line 490, in _take_exposures\n hdulist = self._wait_for_image()\n'
2022-06-26 11:02:52,861 [ERROR] MainProcess uploader.unhandled_exception() #37: ' File "/home/pi/indi-allsky/indi_allsky/darks.py", line 234, in _wait_for_image\n task_id = i_dict[\'task_id\']\n'
[2022-06-26 11:02:52,861] ERROR in uploader: ' File "/home/pi/indi-allsky/indi_allsky/darks.py", line 234, in _wait_for_image\n task_id = i_dict[\'task_id\']\n'

I'm not sure if this is common or just me doing something daft, but I wanted to report it.

Install issue: ../../meson.build:41:0: ERROR: Unknown compiler(s):...

New install and experiencing new issues:

This time (Pi 4 4gb, Waveshare IMX378-190, Pi PoE hat) I needed to also run the build_Indi script, which seemed all ok.

Have also run apt-get update/upgrade, but setup.py fails each time at the Collecting scipy step.

It installs dependencies ok, but then fails with sub-process error (Getting requirements to build wheel ... error // error: subprocess-exited-with-error), looks the error step is:
../../meson.build:41:0: ERROR: Unknown compiler(s): [['gfortran'], ['flang'], ['nvfortran'], ['pgfortran'], ['ifort'], ['g95']]

Any encountered/fixed this issue?

× Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [61 lines of output]
      The Meson build system
      Version: 0.62.2
      Source dir: /tmp/pip-install-day5c5xt/scipy_21c79712eb0641029c877d3a173e0622
      Build dir: /tmp/pip-install-day5c5xt/scipy_21c79712eb0641029c877d3a173e0622/.mesonpy-a5esqvey/build
      Build type: native build
      Project name: SciPy
      Project version: 1.9.0
      C compiler for the host machine: cc (gcc 10.2.1 "cc (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110")
      C linker for the host machine: cc ld.bfd 2.35.2
      C++ compiler for the host machine: c++ (gcc 10.2.1 "c++ (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110")
      C++ linker for the host machine: c++ ld.bfd 2.35.2
      Host machine cpu family: arm
      Host machine cpu: armv7l
      Compiler for C supports arguments -Wno-unused-but-set-variable: YES
      Library m found: YES

      ../../meson.build:41:0: ERROR: Unknown compiler(s): [['gfortran'], ['flang'], ['nvfortran'], ['pgfortran'], ['ifort'], ['g95']]
      The following exception(s) were encountered:
      Running "gfortran --version" gave "[Errno 2] No such file or directory: 'gfortran'"
      Running "gfortran -V" gave "[Errno 2] No such file or directory: 'gfortran'"
      Running "flang --version" gave "[Errno 2] No such file or directory: 'flang'"
      Running "flang -V" gave "[Errno 2] No such file or directory: 'flang'"
      Running "nvfortran --version" gave "[Errno 2] No such file or directory: 'nvfortran'"
      Running "nvfortran -V" gave "[Errno 2] No such file or directory: 'nvfortran'"
      Running "pgfortran --version" gave "[Errno 2] No such file or directory: 'pgfortran'"
      Running "pgfortran -V" gave "[Errno 2] No such file or directory: 'pgfortran'"
      Running "ifort --version" gave "[Errno 2] No such file or directory: 'ifort'"
      Running "ifort -V" gave "[Errno 2] No such file or directory: 'ifort'"
      Running "g95 --version" gave "[Errno 2] No such file or directory: 'g95'"
      Running "g95 -V" gave "[Errno 2] No such file or directory: 'g95'"

      A full log can be found at /tmp/pip-install-day5c5xt/scipy_21c79712eb0641029c877d3a173e0622/.mesonpy-a5esqvey/build/meson-logs/meson-log.txt
      + meson setup --native-file=/tmp/pip-install-day5c5xt/scipy_21c79712eb0641029c877d3a173e0622/.mesonpy-native-file.ini -Ddebug=false -Doptimization=2 --prefix=/usr /tmp/pip-install-day5c5xt/scipy_21c79712eb0641029c877d3a173e0622 /tmp/pip-install-day5c5xt/scipy_21c79712eb0641029c877d3a173e0622/.mesonpy-a5esqvey/build
      Traceback (most recent call last):
        File "/home/pi/indi-allsky/virtualenv/indi-allsky/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/home/pi/indi-allsky/virtualenv/indi-allsky/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/pi/indi-allsky/virtualenv/indi-allsky/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-xyv95hr3/overlay/lib/python3.9/site-packages/mesonpy/__init__.py", line 909, in get_requires_for_build_wheel
          with _project(config_settings) as project:
        File "/usr/lib/python3.9/contextlib.py", line 117, in __enter__
          return next(self.gen)
        File "/tmp/pip-build-env-xyv95hr3/overlay/lib/python3.9/site-packages/mesonpy/__init__.py", line 888, in _project
          with Project.with_temp_working_dir(
        File "/usr/lib/python3.9/contextlib.py", line 117, in __enter__
          return next(self.gen)
        File "/tmp/pip-build-env-xyv95hr3/overlay/lib/python3.9/site-packages/mesonpy/__init__.py", line 547, in with_temp_working_dir
          yield cls(source_dir, tmpdir, build_dir)
        File "/tmp/pip-build-env-xyv95hr3/overlay/lib/python3.9/site-packages/mesonpy/__init__.py", line 463, in __init__
          self._configure(reconfigure=bool(build_dir) and not native_file_mismatch)
        File "/tmp/pip-build-env-xyv95hr3/overlay/lib/python3.9/site-packages/mesonpy/__init__.py", line 494, in _configure
          self._meson(
        File "/tmp/pip-build-env-xyv95hr3/overlay/lib/python3.9/site-packages/mesonpy/__init__.py", line 477, in _meson
          return self._proc('meson', *args)
        File "/tmp/pip-build-env-xyv95hr3/overlay/lib/python3.9/site-packages/mesonpy/__init__.py", line 472, in _proc
          subprocess.check_call(list(args))
        File "/usr/lib/python3.9/subprocess.py", line 373, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['meson', 'setup', '--native-file=/tmp/pip-install-day5c5xt/scipy_21c79712eb0641029c877d3a173e0622/.mesonpy-native-file.ini', '-Ddebug=false', '-Doptimization=2', '--prefix=/usr', '/tmp/pip-install-day5c5xt/scipy_21c79712eb0641029c877d3a173e0622', '/tmp/pip-install-day5c5xt/scipy_21c79712eb0641029c877d3a173e0622/.mesonpy-a5esqvey/build']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.


The script exited abnormally, please try to run again...

Sony Camera

Hello,
I am getting a Sony RX 100 M1 next week which I would like to use for the indi-allsky system, should I send you the data via indi_getprop?

Day/Night Timelapse Enable and Image Capture

The day/night timelapse generation mode switch setting doesn’t seem to be functioning as expected. When day timelapse is disable, no day images are saved, even when enable day capture is selected. I am assuming this is the case because they don’t show up in the Loop or Image tabs. When I reenable the day timelapse generation, the images would show up in the Loop and Image tabs. The Latest tab shows latest image and works normally in either case.

Seems images should still be saved if capture is enabled, even if timelapse generation is disabled. Please take a look at this and see if this is an issue. Check for night image capture also.

Screen is blank but logs appear to be capturing

I had a working allsky.git on a Pi3 with ASI290mm. Upgrade script ran 2x times to resolve #192
Now I see this
image

here are some possibly relevant logs
image

May 9 16:00:05 allsky [INFO] MainProcess allsky.detectMoonMode() #817: Moon altitide: 30:48:49.1, phase 58.1% May 9 16:00:05 allsky [INFO] MainProcess indi.getCcdTemperature() #345: Sensor temperature: 53.6 May 9 16:00:15 allsky [INFO] MainProcess allsky.run() #571: Camera last ready: 62.8s May 9 16:00:15 allsky [INFO] MainProcess allsky.run() #572: Exposure state: ALERT May 9 16:00:15 allsky [INFO] MainProcess allsky.detectNight() #800: Sun altitude: 48:07:10.0 May 9 16:00:15 allsky [INFO] MainProcess allsky.detectMoonMode() #817: Moon altitide: 30:50:48.7, phase 58.1% May 9 16:00:15 allsky [INFO] MainProcess indi.getCcdTemperature() #345: Sensor temperature: 53.1 May 9 16:00:25 allsky [INFO] MainProcess allsky.run() #571: Camera last ready: 72.9s May 9 16:00:25 allsky [INFO] MainProcess allsky.run() #572: Exposure state: ALERT May 9 16:00:25 allsky [INFO] MainProcess allsky.detectNight() #800: Sun altitude: 48:05:09.8 May 9 16:00:25 allsky [INFO] MainProcess allsky.detectMoonMode() #817: Moon altitide: 30:52:48.4, phase 58.1% May 9 16:00:25 allsky [INFO] MainProcess indi.getCcdTemperature() #345: Sensor temperature: 52.7 May 9 16:00:36 allsky [INFO] MainProcess allsky.run() #571: Camera last ready: 83.0s May 9 16:00:36 allsky [INFO] MainProcess allsky.run() #572: Exposure state: ALERT May 9 16:00:36 allsky [INFO] MainProcess allsky.detectNight() #800: Sun altitude: 48:03:09.3 May 9 16:00:36 allsky [INFO] MainProcess allsky.detectMoonMode() #817: Moon altitide: 30:54:48.3, phase 58.1% May 9 16:00:36 allsky [INFO] MainProcess indi.getCcdTemperature() #345: Sensor temperature: 52.5 May 9 16:00:46 allsky [INFO] MainProcess allsky.run() #571: Camera last ready: 93.0s May 9 16:00:46 allsky [INFO] MainProcess allsky.run() #572: Exposure state: ALERT May 9 16:00:46 allsky [INFO] MainProcess allsky.detectNight() #800: Sun altitude: 48:01:09.1 May 9 16:00:46 allsky [INFO] MainProcess allsky.detectMoonMode() #817: Moon altitide: 30:56:48.0, phase 58.1% May 9 16:00:46 allsky [INFO] MainProcess indi.getCcdTemperature() #345: Sensor temperature: 52.3 May 9 16:00:56 allsky [INFO] MainProcess allsky.run() #571: Camera last ready: 103.1s May 9 16:00:56 allsky [INFO] MainProcess allsky.run() #572: Exposure state: ALERT May 9 16:00:56 allsky [INFO] MainProcess allsky.detectNight() #800: Sun altitude: 47:59:08.8 May 9 16:00:56 allsky [INFO] MainProcess allsky.detectMoonMode() #817: Moon altitide: 30:58:47.7, phase 58.1% May 9 16:00:56 allsky [INFO] MainProcess indi.getCcdTemperature() #345: Sensor temperature: 53.1 pi@allsky:~ $ htop pi@allsky:~ $ pi@allsky:~ $

2, in __init__#012 self.camera_id = self.getLatestCamera()#012 File "/home/pi/indi-allsky/indi_allsky/flask/views.py", line 244, in getLatestCamera#012 return latest_camera.id#012AttributeError: 'NoneType' object has no attribute 'id' May 9 15:38:12 allsky [INFO] MainProcess glogging.info() #264: Worker reloading: config.json modified May 9 15:38:12 allsky [INFO] MainProcess views.dispatch_request() #1070: Wrote new config.json May 9 15:38:13 allsky [INFO] MainProcess glogging.info() #264: Worker exiting (pid: 13068) May 9 15:38:15 allsky gunicorn.indi_allsky.wsgi.error: [13811] Booting worker with pid: 13811 May 9 15:46:10 allsky gunicorn.indi_allsky.wsgi.error: [712] Starting gunicorn 20.1.0 May 9 15:46:10 allsky gunicorn.indi_allsky.wsgi.error: [712] Listening at: unix:/var/lib/indi-allsky/gunicorn-indi-allsky.sock (712) May 9 15:46:10 allsky gunicorn.indi_allsky.wsgi.error: [712] Using worker: gthread May 9 15:46:10 allsky gunicorn.indi_allsky.wsgi.error: [994] Booting worker with pid: 994 May 9 15:49:35 allsky [INFO] MainProcess glogging.info() #264: Worker reloading: config.json modified May 9 15:49:35 allsky [INFO] MainProcess views.dispatch_request() #1070: Wrote new config.json May 9 15:49:36 allsky [INFO] MainProcess glogging.info() #264: Worker exiting (pid: 994) May 9 15:49:38 allsky gunicorn.indi_allsky.wsgi.error: [2120] Booting worker with pid: 2120 May 9 15:50:20 allsky [WARNING] MainProcess forms.__init__() #944: No images found in DB May 9 15:56:29 allsky [INFO] MainProcess views.dispatch_request() #1490: Command return: None May 9 15:56:29 allsky gunicorn.indi_allsky.wsgi.error: [712] Handling signal: term May 9 15:56:30 allsky [INFO] MainProcess glogging.info() #264: Worker exiting (pid: 2120) May 9 15:56:32 allsky gunicorn.indi_allsky.wsgi.error: [712] Shutting down: Master May 9 15:58:30 allsky gunicorn.indi_allsky.wsgi.error: [713] Starting gunicorn 20.1.0 May 9 15:58:30 allsky gunicorn.indi_allsky.wsgi.error: [713] Listening at: unix:/var/lib/indi-allsky/gunicorn-indi-allsky.sock (713) May 9 15:58:30 allsky gunicorn.indi_allsky.wsgi.error: [713] Using worker: gthread May 9 15:58:30 allsky gunicorn.indi_allsky.wsgi.error: [947] Booting worker with pid: 947 May 9 16:03:37 allsky [INFO] MainProcess glogging.info() #264: Worker reloading: config.json modified May 9 16:03:37 allsky [INFO] MainProcess views.dispatch_request() #1070: Wrote new config.json May 9 16:03:38 allsky [INFO] MainProcess glogging.info() #264: Worker exiting (pid: 947) May 9 16:03:40 allsky gunicorn.indi_allsky.wsgi.error: [2733] Booting worker with pid: 2733

Set Date/Time Feature

Can a feature to set date/time be added? For some reason the RPi4 doesn’t save the date/time when power is removed, which is how I normally store it. I was unable to set the time and the Timelapse changed the gain in the middle of the night. Lost about a third of the exposures. Thanks.

Web Interface not working

So this is the new issue: The Webserver is working, but no web interface, only the Apache placeholder page is shown

pi@raspberrypi:~ $ cd indi-allsky pi@raspberrypi:~/indi-allsky $ systemctl --user stop indi-allsky pi@raspberrypi:~/indi-allsky $ source virtualenv/indi-allsky/bin/activate (indi-allsky) pi@raspberrypi:~/indi-allsky $ ./allsky.py run Traceback (most recent call last): File "./allsky.py", line 10, in <module> app = indi_allsky.flask.create_app() File "/home/pi/indi-allsky/indi_allsky/flask/__init__.py", line 66, in create_app app.config.from_file(p_flask_config, load=json.load) File "/home/pi/indi-allsky/virtualenv/indi-allsky/lib/python3.7/site-packages/flask/config.py", line 196, in from_file with open(filename) as f: FileNotFoundError: [Errno 2] Unable to load configuration file (No such file or directory): '/etc/indi-allsky/flask.json'

I don't know if it is important, but this error was also shown at the end of the installation:

`**** Enabling services ****
Job for gunicorn-indi-allsky.socket failed.
See "systemctl --user status gunicorn-indi-allsky.socket" and "journalctl --user -xe" for details.
pi@raspberrypi:~/indi-allsky $ systemctl --user status gunicorn-indi-allsky.socket
● gunicorn-indi-allsky.socket - indi-allsky gunicorn socket
Loaded: loaded (/home/pi/.config/systemd/user/gunicorn-indi-allsky.socket; enabled; vendo
Active: failed (Result: resources)
Listen: /var/lib/indi-allsky/gunicorn-indi-allsky.sock (Stream)

Feb 01 22:07:37 raspberrypi systemd[636]: gunicorn-indi-allsky.socket: Failed to create list
Feb 01 22:07:37 raspberrypi systemd[636]: gunicorn-indi-allsky.socket: Failed to listen on s
Feb 01 22:07:37 raspberrypi systemd[636]: gunicorn-indi-allsky.socket: Failed with result 'r
Feb 01 22:07:37 raspberrypi systemd[636]: Failed to listen on indi-allsky gunicorn socket.
Feb 01 22:09:32 raspberrypi systemd[636]: gunicorn-indi-allsky.socket: Failed to create list
Feb 01 22:09:32 raspberrypi systemd[636]: gunicorn-indi-allsky.socket: Failed to listen on s
Feb 01 22:09:32 raspberrypi systemd[636]: gunicorn-indi-allsky.socket: Failed with result 'r
Feb 01 22:09:32 raspberrypi systemd[636]: Failed to listen on indi-allsky gunicorn socket.`

SQM_ROI or ADU_ROI

sqm.py tries to fetch SQM_ROI from config.json

However, config.json only has ADU_ROI and does not define SQM_ROI

I tried changing ADU_ROI to SQM_ROI in config.json, but that causes an error elsewhere.

For time being have added both ADU_ROI & SQM_ROI to config.json, appears to work.

Don't know if we need two different settings for this, or whether we can just change SQM_ROI in sqm.py to ADU_ROI.

Remote cam usage

Hi,

very interesting project. Will try it asap.

I see you mention remote cam usage. That would bring lots of boards with small RAM into consideration, right? Like older orange pi with 512mb ram.

I will give it a try over the weekend…

Again congratulations for this project!

Starlight Xpress Oculus all-sky camera

Hi,

I'd like to get indi-allsky working with a Starlight Xpress Oculus all-sky camera - is there a driver in indi-allsky that would work with this device? Any help greatly appreciated.

Thanks.

Clarify ADU Region of Interest array

What are x1, y1, x2, y2

For instance in image of 1280 x 960

Would values of 200,200,1180,860 crop 200 pixels on the top and left and crop 100 pixels around the border on the bottom and right?

Timelapse / EON processes not running when Day disabled

With day capture and day timelapse disabled, no end of night or night timelapse is being generated. The logs do not show any errors nor do the processes queue or fire. If Day capture and Day Timelapse is enabled, a Day timelapse is generated at end of day but still no end of night process.

Attached is a peek at the log file showing the last night image capture, then immediate switch to day mode and no further night processes. Additional items of note:

  1. VideoWorker process does start at boot time and generates no errors
  2. Manual kicking of the generateNightTimelapse says it runs and doesn't throw any errors, but it does not produce an output

Jun 15 05:53:09 allskypi [INFO] FileUploader001 uploader.run() #201: Upload transaction completed in 0.2132 s
Jun 15 05:53:16 allskypi [INFO] MainProcess allsky.run() #596: Camera last ready: 10.1s
Jun 15 05:53:16 allskypi [INFO] MainProcess allsky.run() #597: Exposure state: OK
Jun 15 05:53:16 allskypi [INFO] MainProcess allsky.detectNight() #835: Sun altitude: -5:58:11.5
Jun 15 05:53:16 allskypi [INFO] MainProcess allsky.detectMoonMode() #852: Moon altitide: 13:17:38.1, phase 98.5%
Jun 15 05:53:16 allskypi [INFO] MainProcess allsky.run() #610: Daytime capture is disabled

Error generating star trail

This is on a new install.
The error code is #408 Not enough images found to build star trail.
Timelaps is good and so is the Kegogram.
Jul 13 16:34:08 CamCamper [WARNING] VideoWorker001 starTrails.finalize() #129: Star trails images processed in 0.0 s
Jul 13 16:34:08 CamCamper [WARNING] VideoWorker001 starTrails.finalize() #130: Excluded 2128 images
Jul 13 16:34:08 CamCamper [ERROR] VideoWorker001 video.generateKeogramStarTrails() #408: Error generating star trail: Not enough images found to build star trail
Jul 13 16:34:08 CamCamper [WARNING] VideoWorker001 video.generateKeogramStarTrails() #412: Total keogram/star trail processing in 53.3 s
indi-allsky 2.log.zip

Canon 550D

Hello very nice project.

Can I use my Canon 550D as Allsky-Camera??

Marco

Touptek testing

Good evening,

I would like to test a Touptek cam but i dont get die config for it ?

Issues with remote indiserver

Hi,

I love this project! Great work!

I like the possibility of having those small older boards - for here its 3 orangepizeros - as a remote indiserver and connecting from a more powerful - in my case a NUC with more mem - server machine. Then use LXD containers to run multiple instances.

Works nicely - but a few questions/issues:

  • I'm using a Zwo ASI 178 MC, an older T7 (ASI120MC clone), and a Touptek G3CMOS06300KPA (those also have an imx178 color inside)
  • I have 3 LXD containers running - all on the same host and all point to 3 different orangepizero with the latest indi 1.9.7 with web manager. 2x times ZWO CCD, one-time Toupcam driver all together with Telescope Simulator. All connections are LAN based, I want to remove any wifi stability issue from the situation for now.

The ASI 178 runs very stable. But I have issues with the t7 and also with the Touptek. After some time I always encounter situations where the cam seems to be busy and not taking any more new pictures. This seems to go endless.

...
Jul 30 11:23:50 allsky2 [INFO] MainProcess allsky._queueManualTasks() #1435: Checking for manually submitted tasks
Jul 30 11:24:00 allsky2 [INFO] MainProcess allsky.run() #605: Camera last ready: 8775.1s
Jul 30 11:24:00 allsky2 [INFO] MainProcess allsky.run() #606: Exposure state: BUSY
Jul 30 11:24:00 allsky2 [INFO] MainProcess allsky.detectNight() #847: Sun altitude: 47:45:50.3
Jul 30 11:24:00 allsky2 [INFO] MainProcess allsky.detectMoonMode() #864: Moon altitide: 35:23:30.4, phase 2.8%
Jul 30 11:24:00 allsky2 [WARNING] MainProcess indi.getCcdTemperature() #418: Sensor temperature: not supported
Jul 30 11:24:00 allsky2 [INFO] MainProcess allsky._queueManualTasks() #1435: Checking for manually submitted tasks
Jul 30 11:24:10 allsky2 [INFO] MainProcess allsky.run() #605: Camera last ready: 8785.2s
Jul 30 11:24:10 allsky2 [INFO] MainProcess allsky.run() #606: Exposure state: BUSY
Jul 30 11:24:10 allsky2 [INFO] MainProcess allsky.detectNight() #847: Sun altitude: 47:47:04.3
Jul 30 11:24:10 allsky2 [INFO] MainProcess allsky.detectMoonMode() #864: Moon altitide: 35:24:56.8, phase 2.8%
Jul 30 11:24:10 allsky2 [WARNING] MainProcess indi.getCcdTemperature() #418: Sensor temperature: not supported
Jul 30 11:24:10 allsky2 [INFO] MainProcess allsky._queueManualTasks() #1435: Checking for manually submitted tasks
Jul 30 11:24:20 allsky2 [INFO] MainProcess allsky.run() #605: Camera last ready: 8795.2s
Jul 30 11:24:20 allsky2 [INFO] MainProcess allsky.run() #606: Exposure state: BUSY
Jul 30 11:24:20 allsky2 [INFO] MainProcess allsky.detectNight() #847: Sun altitude: 47:48:18.2
Jul 30 11:24:20 allsky2 [INFO] MainProcess allsky.detectMoonMode() #864: Moon altitide: 35:26:23.1, phase 2.8%
Jul 30 11:24:20 allsky2 [WARNING] MainProcess indi.getCcdTemperature() #418: Sensor temperature: not supported
Jul 30 11:24:20 allsky2 [INFO] MainProcess allsky._queueManualTasks() #1435: Checking for manually submitted tasks
Jul 30 11:24:30 allsky2 [INFO] MainProcess allsky.run() #605: Camera last ready: 8805.3s
Jul 30 11:24:30 allsky2 [INFO] MainProcess allsky.run() #606: Exposure state: BUSY
...

When I restart with systemctl --user restart indi-allsky is runs for some time then again runs into this busy situation.

My questions / what I tried...

1.) When I run with a remote indiserver, I can disable the local one with something like "systemctl --user disable indiserver.service". After that systemctl --user restart indi-allsky takes a long time.

2.) Best color settings for the toupcam - auto white does not really work, still very green pic... ;-)

3.) As the ASI Cam is working stable it must have something to do with the config of cams and/or model? I applied the fix recommended for ASI 120MC:

{
"PROPERTIES": {},
"SWITCHES": {
"CCD_VIDEO_FORMAT": {
"on": [
"ASI_IMG_RAW16"
],
"off": [
"ASI_IMG_RAW8"
]
}
}
}

sadly no effect.

4.) In general the indiserver on the smaller orangepizeros works stable - I was using EKOS to test:

  • shutdown the related container instance for that cam
  • connect with ekos to the remote orangepizero (I tested both not working stable with indi-allsky, t7 and Toupcam)
  • take a picture, put that into a loop in EKOS - this runs for hours - no issue.

Somehow indi-allsky does something different compared to EKOS to get into this "busy" state.

Any idea how to overcome this? Did anybody get a T7/Toupcam stable? - and yes, t7 needs darks... ;-).

Thanks!

Regards
Joerg

opencv-python

Hello,on a rpi 3B with rpiOS 10, running setup.sh, building wheel for opencv-python seems to run forever..
Something missing on my config?

setup

following your manual I am trying to setup indi allsky on a Raspbian Buster distro but I am having problems starting indi-allsky from here:
$ systemctl --user start indi-allsky

  • I don't see anything that says the service is running
  • i can't get into the web interface
  • when i try to manually start ./allsky.py run
pi@raspberrypi:~/indi-allsky $ ./allsky.py run
Traceback (most recent call last):
  File "./allsky.py", line 3, in <module>
    import indi_allsky
  File "/home/pi/indi-allsky/indi_allsky/__init__.py", line 1, in <module>
    from .allsky import IndiAllSky
  File "/home/pi/indi-allsky/indi_allsky/allsky.py", line 15, in <module>
    import ephem
ModuleNotFoundError: No module named 'ephem'

everything in respect with the indiserver service seems fine

Feature request: Expiry of content

My raspberry pi is very light on storage so with my TJ setup I kept only a few days on it and primarily used the scp to push everything to a nas for long term archiving. I assumed the expire parameter in the indi-allsky config set the same behaviour, but I now realise this is for images written out and doesn't include the videos . Would it be possible to have a limit on the number of days of data stored in total? Thanks.

Install on orange pi

Hi ,
i tried to install indi-allsky on orange pi +2e with armbian debian 11 but i get errors with built wheel of cffi and ansible..
Any ideas why these errors?
Thanks
Pierre

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.