Hide Camera Entries - aaronwmorris/indi-allsky GitHub Wiki
Camera Management: Hiding and Merging Camera Entries
When attaching new imaging hardware or after driver updates that alter camera naming strings, redundant camera profiles can accumulate in the web interface dropdown menu. This document details methods for concealing inactive profiles or merging duplicate records into a unified camera history.
1. Concealing Inactive Camera Entries
Camera visibility is governed by the boolean hidden column in the camera table. Setting this value to 1 (true) excludes the camera from the web user interface while preserving all historical data, images, and videos in the database.
[!NOTE] If
indi-allskycaptures a new frame using a hidden camera profile, the daemon automatically resetshidden = 0to ensure active devices remain accessible.
Step 1: Open Database Console
Debian Package (.deb) and Default SQLite Installations
sqlite3 -table -header /var/lib/indi-allsky/indi-allsky.sqlite
MySQL / MariaDB Installations
mysql -u indi-allsky -p indi-allsky
Step 2: Query Camera Identifiers
SELECT id, name, friendlyName, hidden FROM camera;
Example output:
+----+------------------+--------------+--------+
| id | name | friendlyName | hidden |
+----+------------------+--------------+--------+
| 1 | CCD Simulator | | 0 |
| 2 | ZWO CCD ASI290MM | | 0 |
+----+------------------+--------------+--------+
Step 3: Flag Profile as Hidden
UPDATE camera SET hidden = 1 WHERE id = 1;
2. Merging Camera Entries (merge-cameras)
Upgrading INDI drivers (such as transitioning from indi_asi_ccd revisions or switching between driver architectures) may cause the driver to present a modified camera name (e.g., ZWO CCD ASI290MM to ZWO ASI290MM). This creates a secondary camera ID in indi-allsky, partitioning historical records across two dropdown choices.
The merge-cameras utility re-assigns all foreign-key relationships (images, raw frames, FITS files, timelapses, keograms, star trails, and thumbnails) from the duplicate ID to the primary camera ID. It also records the alternative name in the primary record (name_alt1 or name_alt2) to prevent future duplication upon service restart.
Debian Package (.deb) Installations
sudo indi-allsky-ctl merge-cameras -orig <ORIGINAL_CAMERA_ID> -n <NEW_CAMERA_ID>
Source / Git (setup.sh) Installations
Activate the virtual environment and execute the script directly:
source /var/lib/indi-allsky/virtualenv/bin/activate
# Or from git checkout: source virtualenv/indi-allsky/bin/activate
python ./misc/merge_cameras.py -orig <ORIGINAL_CAMERA_ID> -n <NEW_CAMERA_ID>
-orig,--orig_camera_id: The historical camera ID that should retain all historical imagery.-n,--new_camera_id: The newly generated camera ID whose records will be migrated into the original camera.