FAQ
Can we use Pyra on an offline system?
Yes. Pyra only requires an internet connection for the installation. Pyra releases from 4.0.8 download astronomical data (until 2053) during installation, so no further internet connection during operation is required.
During Setup, the following error occurs: "executing .ps1
scripts is not allowed due to an ExecutionPolicy"
This can be solved by running the following command in a PowerShell (credits to https://stackoverflow.com/a/49112322/8255842):
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
Pyra Shows a filelock._error.Timeout
Exception
In theory, Pyra may encounter a deadlock when reading state or log files - although we have never experienced it yet. The error message will say something like this:
filelock._error.Timeout: The file lock 'C:\Users\ga56fem\Downloads\pyra\pyra-4.0.6\config\.state.lock' could not be acquired.
You can use the CLI command pyra-cli remove-filelocks
to resolve that.
We are using the python library filelock
to enforce exclusive use of state- and log-files: There should not be two processes simultaneously interacting with one of these files. This is necessary because we have at least 4 processes that work with these files: the CLI and the main-, upload- and helios-thread.
Pyra Shuts Down The CamTracker Very Frequently
There is a config setting config.camtracker.motor_offset_threshold
, by default set to 10
degrees.
CamTracker reports its motor's offset from the theoretical sun position every few seconds. When the CamTracker has been on for at least 5 minutes, Pyra will check whether that reported offset is greater than the threshold. If so, Pyra will restart the CamTracker because this might mean that the CamTracker has lost the sun and is tracking something else in the sky.
In normal operation, you would see (debug) log lines like this every iteration:
DEBUG - CamTracker motor position is valid
If the motor position is not valid, you would see something like this:
INFO - CamTracker motor position is over threshold.
INFO - Stopping CamTracker. Preparing for reinitialization.
If that restart happens too often for your use case, you can increase this factor - or set it to 360
to disable it completely.