×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

New All Sky camera management software: indi-allsky

  • Posts: 261
  • Thank you received: 66
The temperature control should be in the indi-allsky config page on the Camera Tab.

I have just started putting some consideration toward installing on Arch, but it is not ready yet. Automating configs on Arch is a bit more difficult than it is on a Debian distribution since Arch has not fully embraced the .d directory style configurations.

The JSON error you are seeing are not due to an upgrade. There is likely a typo in "/etc/indi-allsky/flask.json". Can you provide the output of "cat /etc/indi-allsky/flask.json | json_pp > /dev/null" ?

I do not have a Touptek camera to test with, but I do have an Altair Astro, which are related in the INDI drivers. My Altair camera outputs 12-bit numbers, so I would select 12-bit for your camera. What behavior are you seeing here?

I would leave the bayer pattern at Auto, unless you have a problem with the wrong bayer pattern being used. This is a very rare occurrence.

Connecting from KStars/EKOS can lead to undesired behavior because it can change settings on the camera while indi-allsky is managing it. EKOS also has a tendency to save settings, which alters the expected defaults. You can clear these by deleting the XML files in "$HOME/.indi/"

The final question is why there is an INDI configuration section vs settings in the web page... Some settings are common across all cameras, like exposure, bin mode, temperature target, etc. Other settings are vendor or even camera specific. The custom settings can even change between INDI releases. What is interesting about EKOS is the settings panels you see are all dynamically generated. EKOS queries the camera/device for its settings, EKOS builds the interface based on each setting and each setting type. Some settings even appear/disappear based on the state of other settings.
1 month 1 week ago #99758

Please Log in or Create an account to join the conversation.

  • Posts: 83
  • Thank you received: 4
Hi Aaron,
I try to use indi-allsky with a RPI HQ (IMX477) camera and a RPI Zero 2 W (or RPi Zero W). Because of the memory limitations with the indi_pylibcamera driver by scriptorron. In my trials on my desk and after some conversation with scriptorron I now get runtimes of up to 4 days until the camera stops, Maybe the driver can be further improved, but I have little hope because the root cause is hard to identify. It would be good to handle the problem on a higher level within indi-allsky. The system returns to work if I do a restart of the indiserver service on the remote Zero 2 W AND a restart of indi-allsky on my server. Just doing the indiserver restart does not help, because indi-allsky does not recover. A possible solution would be a ssh remote command execution of the indiserver restart initiated by indi-allsky and restarting image acquisition by indi-allsky.. Would it be possible to implement this? Maybe there are other ways of mitigation already available?
Thank you very much for your great work!

CS, Markus
1 month 1 week ago #99824

Please Log in or Create an account to join the conversation.

  • Posts: 261
  • Thank you received: 66
I just merged a change that should allow you to restart the indiserver at will on the Raspberry Pi and indi-allsky should self-recover. The indiclient emits a signal when the indiserver disconnects, I finally did something with that signal. Just setup a cronjob on the Raspi to restart the indiserver once a day.
1 month 1 week ago #99829

Please Log in or Create an account to join the conversation.

  • Posts: 83
  • Thank you received: 4
Hi Aaron,
thank you for the change, a first step to mitigate the problem. I will do a daily restart of the indiserver now. Worst case, it will be out of service for almost 24h. Doing the remote indiserver restart if indi-allsky detects the out of order condition would be really nice.
another queston: in your wiki about the indi_pylibcamera github.com/aaronwmorris/indi-allsky/wiki...ra-setup#indi-config you mention a indi config change for AWB. Where exactly do I have to do this change? I was to dumb to find the place. Would it be good to have a specific indi_pylibcamera ini file?

CS, Markus
1 month 1 week ago #99831

Please Log in or Create an account to join the conversation.

  • Posts: 261
  • Thank you received: 66
You can ignore that INDI configuration. That was just a reference on how to enable AWB if you want it enabled. I do NOT recommend enabling AWB via libcamera.

I am not sure about indi-allsky trying to fix the indiserver by itself. There are some people who use the indiserver to manage devices other than just the all sky camera.

Instead of just restarting the indiserver, you may consider just rebooting the Pi Zero daily (during the day). There is a lot that may go wrong with libcamera that does not exist within the indiserver.
1 month 1 week ago #99835

Please Log in or Create an account to join the conversation.

  • Posts: 83
  • Thank you received: 4
your signal catching and capture process restart does work. Had a hung camera this morning, manually restarted the indiserver and pictures came in again. The log showed the catch of the signal and the restart.
I think the remote restart could be an optional feature or just a driver restart like the indi web manager is capable of doing. Something like if the camera is BUSY for more than 60s do a driver restart, if more than 180s do an indiserver restart, if more than 360s do a remote reboot.

CS, Markus
1 month 6 days ago #99837

Please Log in or Create an account to join the conversation.

  • Posts: 12
  • Thank you received: 0
Hello everyone. I'm trying to install indi allsky on a raspberry Pi 4, but after running./setup.sh the following error is displayed:

ERROR: Exception:
Traceback (most recent call last):
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
yield
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/urllib3/response.py", line 561, in read
data = self._fp_read(amt) if not fp_closed else b""
^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read
return self._fp.read(amt) if amt is not None else self._fp.read()
^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 98, in read
data: bytes = self.__fp.read(amt)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/http/client.py", line 465, in read
s = self.fp.read(amt)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/socket.py", line 706, in readinto
return self._sock.recv_into(b)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1278, in recv_into
return self.read(nbytes, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1134, in read
return self._sslobj.read(len, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve
result = self._result = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 427, in resolve
failure_causes = self._attempt_to_pin_criterion(name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 239, in _attempt_to_pin_criterion
criteria = self._get_updated_criteria(candidate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 230, in _get_updated_criteria
self._add_to_criteria(criteria, requirement, parent=candidate)
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__
return bool(self._sequence)
^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
return any(self)
^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
candidate = func()
^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 182, in _make_candidate_from_link
base: Optional[BaseCandidate] = self._make_base_candidate_from_link(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__
super().__init__(
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
self.dist = self._prepare()
^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare
dist = self._prepare_distribution()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 596, in _prepare_linked_requirement
local_file = unpack_url(
^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 168, in unpack_url
file = get_http_url(
^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 109, in get_http_url
from_path, content_type = download(link, temp_dir.path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/network/download.py", line 147, in __call__
for chunk in chunks:
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
for chunk in iterable:
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_internal/network/utils.py", line 63, in response_chunks
for chunk in response.raw.stream(
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/urllib3/response.py", line 622, in stream
data = self.read(amt=amt, decode_content=decode_content)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/urllib3/response.py", line 560, in read
with self._error_catcher():
File "/usr/lib/python3.11/contextlib.py", line 155, in __exit__
self.gen.throw(typ, value, traceback)
File "/home/leo/indi-allsky/virtualenv/indi-allsky/lib/python3.11/site-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='www.piwheels.org', port=443): Read timed out.


###############
### ERROR ###
###############

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


Can anyone help sort it out? Thank you.
1 month 5 days ago #99859

Please Log in or Create an account to join the conversation.

  • Posts: 261
  • Thank you received: 66
This happens sometimes when the sites hosting the Python pre-compiled wheels get overloaded or go down for maintenance. You may just try again periodically until the wheels can be downloaded.
The following user(s) said Thank You: Leonardo
1 month 2 days ago #99919

Please Log in or Create an account to join the conversation.

  • Posts: 83
  • Thank you received: 4
Hi Aaron,

would it be possible to implement a function to show the histogram of a definable ROI in the image and not the complete image. Would help with manually finding the correct white balance more easily.

CS, Markus
3 weeks 2 days ago #100087

Please Log in or Create an account to join the conversation.

  • Posts: 261
  • Thank you received: 66
I just reviewed the code and it already only provides the histogram for the central 50% region of the image. This is currently hard coded.

I just merged a change that uses the SQM Region of Interest setting or loads the detection mask for the SQM values. The histogram displayed will now match the area of the SQM detection.
3 weeks 2 days ago #100097

Please Log in or Create an account to join the conversation.

  • Posts: 83
  • Thank you received: 4
Hi Aaron,

thank you so much. It works very well. I finally got a good daylight wihite balance with just the manual settings. Btw. Switching on AWB or SNCR throws the WB off and makes it worse.

early afternoon settings for Pi HQ camera:

Red Balance Factor
2.6
Green Balance Factor
1.0
Blue Balance Factor
1.8

CS, Markus
2 weeks 6 days ago #100173

Please Log in or Create an account to join the conversation.

  • Posts: 83
  • Thank you received: 4
did some further research about color temperature (white balance) for day and night sky. There is an interesting paper about the Color of the night skycolor of the night sky . And another one for the daytime dependend color temperature between sunrise and sunset www.researchgate.net/publication/3287269...or_augmented_reality
Combining the two results, it should be possible to approximately set a reasonable white balance for allsky pictures without actually measuring it or using the unreliable automatic functions.

CS, Markus
2 weeks 6 days ago #100175

Please Log in or Create an account to join the conversation.

Time to create page: 1.442 seconds