Bi-monthly release with minor bug fixes and improvements
./ekos_sentinel.py --help
usage: ekos_sentinel.py [-h] --indi_host INDI_HOST
[--indi_command_retries INDI_COMMAND_RETRIES]
[--debug] [--once] [--get_weather_safety]
[--get_mount_safety] [--get_cap_safety]
[--get_roof_safety] [--park_mount] [--close_cap]
[--close_roof] [--warm_camera]
EKOS Sentinel, version 1.0 .
EKOS scheduler in Kstars 3.2.0 waits for good weather before opening the observatory,
but does not close down when weather gets bad. That's where this script aims to help.
loop:
weather safe ?
yes:
scheduler running ?
yes:
ok
no:
start scheduler
no:
scheduler running ?
yes:
stop scheduler
park mount
close cap
close roof
warm ccd
no:
ok
Instead of 'scheduler running ?' we have to use 'roof closed ?' for now.
Modify the static config in this script for your setup.
optional arguments:
-h, --help show this help message and exit
--indi_host INDI_HOST
INDI server address
--indi_command_retries INDI_COMMAND_RETRIES
try INDI commands this amount of times before giving
up, defaults to 1
--debug enable debug level verbosity
--once run only once, useful for debugging
--get_weather_safety for testing: only call get_weather_safety
--get_mount_safety for testing: only call get_mount_safety
--get_cap_safety for testing: only call get_cap_safety
--get_roof_safety for testing: only call get_roof_safety
--park_mount for testing: only call park_mount
--close_cap for testing: only call close_cap
--close_roof for testing: only call close_roof
--warm_camera for testing: only call warm_camera
Only --indi-host is required for normal operation, the rest is for debugging and testing
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
indi_getprop | sort -u | grep WEATHER_STATUS
OpenWeatherMap.WEATHER_STATUS.WEATHER_FORECAST=Alert
OpenWeatherMap.WEATHER_STATUS.WEATHER_RAIN_HOUR=Alert
OpenWeatherMap.WEATHER_STATUS.WEATHER_SNOW_HOUR=Ok
OpenWeatherMap.WEATHER_STATUS.WEATHER_TEMPERATURE=Ok
OpenWeatherMap.WEATHER_STATUS.WEATHER_WIND_SPEED=Ok
Weather Meta.WEATHER_STATUS.STATION_STATUS_1=Alert
Weather Meta.WEATHER_STATUS.STATION_STATUS_2=Ok
Weather Meta.WEATHER_STATUS.STATION_STATUS_3=Idle
Weather Meta.WEATHER_STATUS.STATION_STATUS_4=Idle
Weather Safety Proxy.WEATHER_STATUS.WEATHER_SAFETY=Alert
libindi/libs/indibase/indiweatherinterface.cpp:208
void WeatherInterface::syncCriticalParameters()
sets critialParametersL[i].s = IPS_ALERT;
if ((ParametersN[j].value < ParametersN[j].min) || (ParametersN[j].value > ParametersN[j].max))
Please Log in or Create an account to join the conversation.
ferrante@astronuc:~$ indi_getprop | grep WEATHER_STATUS
Weather Watcher.WEATHER_STATUS.WEATHER_RAIN_HOUR=Ok
Weather Watcher.WEATHER_STATUS.WEATHER_TEMPERATURE=Ok
Weather Watcher.WEATHER_STATUS.WEATHER_WIND_SPEED=Ok
crackIPState(findXMLAttValu(root, "state"), &weatherState);
Please Log in or Create an account to join the conversation.
INDI_DOME_PARK_PROPERTY = 'Talon6.DOME_PARK.PARK'
WEATHER_WATCHER_PARAMETERS = {'WEATHER_RAIN_HOUR', 'WEATHER_TEMPERATURE', 'WEATHER_WIND_SPEED'}
Please Log in or Create an account to join the conversation.
indi_getprop | sort -u | grep 10micron | grep PARK
10micron.DOME_POLICY.LOCK_PARKING=Off
10micron.TELESCOPE_PARK.PARK=On
10micron.TELESCOPE_PARK.UNPARK=Off
bool ASICCD::initProperties()
{
INDI::CCD::initProperties();
IUFillSwitch(&CoolerS[0], "COOLER_ON", "ON", ISS_OFF);
IUFillSwitch(&CoolerS[1], "COOLER_OFF", "OFF", ISS_ON);
IUFillSwitchVector(&CoolerSP, CoolerS, 2, getDeviceName(), "CCD_COOLER", "Cooler", MAIN_CONTROL_TAB, IP_WO,
ISR_1OFMANY, 0, IPS_IDLE);
IUFillNumber(&CoolerN[0], "CCD_COOLER_VALUE", "Cooling Power (%)", "%+06.2f", 0., 1., .2, 0.0);
IUFillNumberVector(&CoolerNP, CoolerN, 1, getDeviceName(), "CCD_COOLER_POWER", "Cooling Power", MAIN_CONTROL_TAB,
IP_RO, 60, IPS_IDLE);
indi_getprop -w | sort -u | grep CCD_COOLER
ZWO CCD ASI1600MM-Cool.CCD_COOLER.COOLER_OFF=On
ZWO CCD ASI1600MM-Cool.CCD_COOLER.COOLER_ON=Off
ZWO CCD ASI1600MM-Cool.CCD_COOLER_POWER.CCD_COOLER_VALUE=0
Please Log in or Create an account to join the conversation.
ferrante@astronuc:~/ekos_sentinel$ indi_getprop | sort -u | grep 10micron | grep PARK
LX200 10micron.DOME_POLICY.LOCK_PARKING=On
LX200 10micron.TELESCOPE_PARK.PARK=On
LX200 10micron.TELESCOPE_PARK.UNPARK=Off
indi_setprop -h localhost 'ZWO CCD ASI071MC Pro.CCD_COOLER.COOLER_ON=Off'
indi_setprop -h localhost 'ZWO CCD ASI071MC Pro.CCD_COOLER.COOLER_OFF=On'
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.