×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

Custom driver for AAG Cloud Watcher weather station

  • Posts: 249
  • Thank you received: 62
Hello, I have my telescope hosted in a remote facility on the Alps that provides weather status report (based on AAG Cloud Watcher) locally via an URL as the device is not USB connected to my RPI3. The output itself is a text file (see 1st attachment) updated every 5 sec.
The standard AAG Cloud Watcher driver needs a USB connection to the weather station. That's not my case, so I'm developing a new driver that reads and parses the text file (btw if someone already did something similar please send me source code as C++ is not my primary language...).
Beside some useful information about the weather the main info in the file is a parameter that sums up all weather conditions: safe (0|1). If it's zero, that would trigger a shutdown procedure and/or prevent sequence startup.

Example 5 in the development tutorial shows how to snoop weather alerts (see Tutorial5.png) from a dome driver but I would rather expect to see this flag as Standard Property.
That would allow for example to read this parameter from any client, namely the Scheduler. While in the example it is bind to a specific client and that's the opposite of what standard properties are designed for.
But in the standard properties list, under General - Atmosphere section there are: Temperature, Pressure, Humidity. No Rain, Safe, Weather Alert or something that sounds like a danger.
Am I missing something?

Or, same question from another perspective: How the weather flag on the Scheduler screen (see Scheduler.png attachment) works? The decision for starting the shutdown procedure triggered by the weather flag is based on which information?

As an alternative option to driver development, it would be nice to have a 'Weahter Scripting Gateway' implementation like in Dome devices.

One last advice: would it be better to develop as 3dparty driver or bundled in libindi? As a first driver attempt I would go for libindi.

Thanks for helping!
Ferrante
5 years 11 months ago #25595
Attachments:

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

I can write the driver. Just tell me what's the exact meaning of light, switch, and safe in the file and what are their possible values? The rest sounds OK.
5 years 11 months ago #25600

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

  • Posts: 249
  • Thank you received: 62
Thanks Jasem!
My best guess about those parameters is:
-Light is sky brightness in a scale from 0 (day light) to a custom value like 60000 on Lunatico website. From the online help: "The DARK condition has been defined for values greater than 2100 (K ohms), the LIGHT condition for values ranging between 2000 – 6 (K ohms), whereas the VERY LIGHT condition for values ranging between 6 – 0 (K ohms)". So 60k is max scale.

-safe is a bool where 0 is the unsafe condition based on custom thresholds set on other parameters of the sensor like rain, brightness etc. And of course 1 is the safe condition where observation is allowed.

- switch is not documented! At least not under this name.

Some additional resource:
- aagsolo.lunatico.es:10800 Lunatico test device.
- aagsolo.lunatico.es:10800/cgi-bin/cgiLastData Lunatico weather station data.
- aagsolo.lunatico.es:10800/cgi-bin/cgiHistData Lunatico last 48hrs data
- lunatico.es/aagcw/enhelp/ AAG cloud watcher windows client documentation
- attached the Solo (web interface) user manual

Hope that these infos are clear enough. Sorry but I don't have access to the device itself to test parameters and configurations.
5 years 11 months ago #25609
Attachments:

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

Ok so I'm trying to implement a generic weather parser which if given a file to read, it will parse it line by line and update the driver accordingly. I think we need to have very clear definitions for all. Once I have something to test I'll let you know.
The following user(s) said Thank You: Ferrante Enriques
5 years 11 months ago #25611

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

  • Posts: 249
  • Thank you received: 62
To make it even more generic it could parse a local file or an url.

In the meantime I found that switch is a parameter to let other software to control the weather station. I would say it's not useful for this driver .

Looking at the historical data it seems that safe/unsafe is not boolean as in the docs.
2018-04-27 18:59:53|12.5|12.7|5504|10|1|0|0|64|5.9
2018-04-27 18:57:57|12.5|12.7|5504|10|1|0|0|64|5.9
2018-04-27 18:55:53|12.6|12.7|5504|10|1|3|7|64|6.0
2018-04-27 18:53:56|12.7|12.6|5504|10|1|2|5|63|5.8
2018-04-27 18:51:53|12.8|12.8|5503|10|1|1|4|63|6.0
There are no column headers but comparing to LastData, safe / unsafe should be the 4th from right. Values are 0,0,3,2,1..strange behaviour for a bool...hope I'm wrong
I will contact Lunatico and ask for their help.

Ferrante

Edited: lunatico is closed til 3rd May
Last edit: 5 years 11 months ago by Ferrante Enriques.
5 years 11 months ago #25614

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

I will define an INI type format to be used with the driver and will let you know when it is ready.
The following user(s) said Thank You: Ferrante Enriques
5 years 11 months ago #25628

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

Ok, I finished the driver and it works fine for local (didn't try URL but should in principle work as well).

It accepts file with one value each line like INI file:
temperature=24.6
wind=14.5
...etc

Currently, it can read these keywords: temperature, wind, gust, precip, forecast
Need to add humidity there. For each value, Min & Max OK and Min & Max warnings ranges are automatically defined under Parameters tab. Based on where the current value is, the color of the WEATHER_STATUS property changes from OK (Green) , to Warning (yellow) to Alert (Red)

Please compile and test and tell me your feedback on the initial driver.
5 years 11 months ago #25634

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

  • Posts: 249
  • Thank you received: 62
fantastic! Thanks Jasem. I will give it a try right now and give you feedback as soon as possibile.
5 years 11 months ago #25636

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

  • Posts: 249
  • Thank you received: 62
Almost everything is already ok!
Made a test with simulators (Telescope, CCD, Guide, Focuser, Dome) and Weather Watcher.
- Reads correctly wind, gust, precip, temperature. Keywords are different from the one in the Solo file. AAG driver needs exactly those names as keywords? else it would be easier to keep the one in the file (eg rain instead of precip).
- All warnings are working ok: update the weather_status in the 'main control' tab
- I also tried a scheduler sequence and increase the wind step by step. Dome / Mount were correctly parked when it reached the limit!
- Tried to enable debug but it always shows disable. think is a minor issue.
- works for both file and URL (tried with aagsolo.lunatico.es:10800/cgi-bin/cgiLastData). But as keywords are different I used a modified file for testing.

I will keep on testing on simulators but hopefully will try in my real observatory as soon as the moon and clouds will give a chance.
It would be great to have brightness / light parameter too in a next version.

Thanks again for the great help in such a short time!
Ferrante
5 years 11 months ago #25639

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

Since the driver is generic, it needs to clearly define the meaning of each property. I will write the user documentation soon but I figured we'll test first. You can enable the debug logging in Ekos Logs though nothing is actually logged at the moment. What's the meaning of the brightness parameter? is this like SQM?
5 years 11 months ago #25643

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

  • Posts: 249
  • Thank you received: 62
hi Jasem,

I thought it was more generic and useful to let the user choose and customize his own keywords. Eg to specify that in the file I have 'rain' instead of 'precip'.
If you have time please take a look at the files attached (not confident to do any commit) and, renamed as .txt.

Next I would like to let the user choose the separator instead of =.

About Brightness I think that Lunatico measures the sky IR temperature. Thus different from SQM.

ferrante
5 years 10 months ago #25651
Attachments:

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

Please submit your changes as a PR on Github.
5 years 10 months ago #25660

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

Time to create page: 0.275 seconds