Recommended Posts

Bonjour tous,

 

Etant un nouvel utilisateur de Prism, j'en suis a le configurer. A l’étape de la gestion de la météo, j'ai vu qu'il pouvait parler a un driver ASCOM IObservatingConditions. Ayant un AAG CloudWatcher, j'ai écrit un driver correspondant (ça prend 1 heure, c'est facile). Ca marche, Prism lit les valeurs et les affiche. Seul problème, il n'en fait rien. Voyant ensuite qu'il parle ASCOM ISafetyMonitor dans la partie moniteur de nuages, j'ai écrit un autre driver. Mais la je me suis rendu compte qu'il s'attendait a recevoir des valeurs qui n'ont rien a voir avec l'interface ISafetyMonitor (qui est juste un booléen: safe/not safe).

 

La doc Prism est essentiellement non-existante sur le sujet. Quelqu'un sait-il ce que Prism s'attend a recevoir d'un driver ASCOM moniteur de nuages? Est-ce qu'il s'attend a lire un IObservingConditions sur un ISafetyMonitor?

 

Merci pour toutes les informations.

 

PS: je voulais poser la question sur le forum Prism, mais ça fait maintenant plusieurs jours que j'attends que mon compte soit validé par les modérateurs.

 

  • Like 1

Share this post


Link to post
Share on other sites
Publicité
En vous inscrivant sur Astrosurf,
ce type d'annonce ne sera plus affiché.
Astronomie solaire : la bible est arrivée !
400 pages, plus de 800 illustrations !
Les commandes sont ouvertes sur www.astronomiesolaire.com

Hello !

Je pense comme dans un autre logiciel (SGP pour moi ça marche)  Function IsSafe()  du driver reçoit à True ou False pour Safety Monitor. C'est lui qui déclenche le park et autres actions.

Pour le AAG cloudwatcher (perso ?) tu as implémenté comment tu envoies ton ambiant et current par le port seriel  avec un "template Observing conditions ?

Ce template dans mon cas SGP ne fait que de l'affichage apparement.

R@ph

 

Edited by Raphael_OD

Share this post


Link to post
Share on other sites

Oui exactement: pour Prism, le IObservingConditions ne semble être la que pour l'affichage. Le ISafetyMonitor que j'ai écrit lit ses valeurs du driver IObservingConditions (et quelque autres choses comme le fait que internet marche) et renvoie safe/unsafe (comme in ISafetyMonitor est sensé le faire). Mais dans Prism, dans l'onglet détecteur de nuages (qui est connecté comme ISafetyMonitor a travers ASCOM) affiche aussi des valeurs genre température ambiante, couverture nuageuse, etc. Donc des trucs que tu devrais recevoir du IObservingConditions, pas d'un ISafetyMonitor.

 

Donc je trouve ca bizarre et en l'absence de docs je ne sais pas comment le faire marcher.

 

(c'est en supposant que Prism fera quelque chose a partir de ces valeurs, ce que je peux pas encore tester)

Share this post


Link to post
Share on other sites

Oui bizarre le IsafetyMon ne me sert sous SGP (d'ailleurs bouton d'affichage rouge ou vert c'est basique) que de déclencheur d'actions d'urgence quand une séquence est lancée (fermeture toit, park et descente de T° de la caméra). D'ailleurs le code du template ASCOM est pauvre ;)

Coté capteur Arduino s'occupe de générer un True ou un False en fonction du calcul du Diff en valeur absolue du capteur IR.

Pour le Observing Conditions je n'ai rien encore codé sous ASCOM mais ta démarche m'intéresse...je vais zieuté 8-)

Je cherche aussi comment faire que tout cela se fasse en TCP/Ip pour s'affranchir de l'USB

 

 

Edited by Raphael_OD

Share this post


Link to post
Share on other sites

J'ai fait ce que tu veux faire, mais entre le CloudWatcher et le PC il y a un SOLO dont le seul but est de collecter les informations du CW. Donc la connection au SOLO se fait par HTTP et c'est lui qui est connecte par série au CW. Ca c'est pour le site en remote.

 

Mais j'ai aussi a la maison in équivalent CW fait maison qui tourne sous Raspberry/Orange pi qui communique entièrement par HTTP (donc pour toi l'arduino). Et comme je tourne sous CCDCiel, tout est facile et les standards IObservingConditions et ISafetyMonitor sont respectés.

 

Mais la pour Prism, je cherche quelqu'un qui saurait ce que Prism veut lire dans le ISafetyMonitor (ou une version bizarre) pour prendre les actions d'urgence (genre il commence a pleuvoir).

Share this post


Link to post
Share on other sites

Donc tu as une solution commerciale de Lunatico aussi ...si tu as un bout d'ASCOM en mail perso je veux bien regarder le ObservatoryCondtions  et essayer de comprendre.

Share this post


Link to post
Share on other sites

Hello,

 

Votre discussion m'intéresse. J'utilise en remote chez EEYE un CW et un SOlo. A ce jour, tout fonctionne avec CCD Autopilot. J'ai acheté une licence SGP et j'ai du mal à récupérer aussi l'info à part passer par le Safety Monitor. Le passage d'un programme à l'autre ne se fait pas sans souci donc.

 

Au plaisir de vous lire.

 

A+

Miguel

 

 

 

Share this post


Link to post
Share on other sites

Bonjour ,

J'ai prévu d'utiliser ceci avec Prism : TEMPerHUM ASCOM et il y a un driver Ascom qui est bien géré par Prism

Share this post


Link to post
Share on other sites

"Seul problème, il n'en fait rien"

 

C'est a dire ?

Ce genre de système est utilisé en observation automatique et permet des arrêts/reprise de l'observation. Est ce la le but cherché ?

 

Edit : je viens de regarder dans le code source, 1 million de lignes SVP ... parce que ma memoire me fait défaut :-(, et voila la réponse

IObservingConditions : oui prism implémenté cette variable et lit les données associées

 

Dans l'interface " Cond. d'observ" reste avec un "?" dans tout le code source et n'est jamais mis a autre chose, je me demande bien pourquoi aussi… autant ne pas le mettre alors. Bref, j'ai corrigé le pb juste la et utilise la meme fonction qui est utilisée dans l'observation automatique.

 

Prism implémente par contre tte les propriétés de IObservingConditions Interface

A quoi ca sert ? Ca ne sert que pour les observations automatique ou cette derniere est stoppé/reprise dans la nuit si une seule des conditions ci dessous est rencontrée ->

 

skyCloudy

skyVeryCloudy

skyWet
Cloud_Cloudy

Cloud_VeryCloudy
Rain_Going                   
UnsafeToObserve              

 

C'est renvoyé par le driver ASCOM.
 

Voila.

 

 

Edited by Cavadore
  • Thanks 1

Share this post


Link to post
Share on other sites

Oui petitprost, TemperHum a un driver ASCOM. Mais ces capteurs ont des gros problèmes de qualité (ils varient énormément de l'un a l'autre), le fabricant change les interface tous les 4 matins sans prévenir personne, et comme c'est USB et pas weatherproof il doit être installé a l’intérieur (donc il ne donne pas les conditions dehors ou quand le toit est ferme). Je préfère un autre type de capteur qui survivra dehors pour le remote.

Share this post


Link to post
Share on other sites

Merci pour tes réponses Cyril.

 

Oui, IObservingConditions est utilisé pour faire une pause dans les observations en cas de nuages par exemple. Mon driver marche:

IObservingConditions.png.34240880790eba48ff0ed512808827b1.png

 

Par contre, l’écran moniteur de nuages n'affiche rien. Aussi les valeurs affichées ne correspondent pas a l'interface ISafetyMonitor, donc je suis un peu perdu. D'ou doivent venir ces valeurs?

isafetymonitor.png.e8ad70a289aede9a5725f5f612cde1fb.png

 

Aussi, s'il y a des valeurs discrètes a afficher, il doit y avoir un mapping des valeurs continues des drivers genre IObservingConditions (qui retourne des double) vers ces valeurs plus lisibles. Ce mapping est-il modifiable?

 

Merci.

 

Share this post


Link to post
Share on other sites

As tu essayé avec le simulateur ASCOM ? Ca aide bien pour debugger.

Share this post


Link to post
Share on other sites

Ce n'est pas un probleme de debuggage. Le driver IObservingConditions marche parfaitement bien et prism en affiche les valeurs dans l'onglet météo.

 

Le driver ISafetyMonitor, qui est ce que prism cherche par ASCOM dans la configuration moniteur de nuages, marche aussi très bien, je l'ai testé avec une application cliente et il renvoie bien un booléen pour safe/unsafe.

 

Le probleme c'est que prism peut afficher des valeurs dans l'onglet moniteur de nuages et que je ne vois pas d'ou elles viennent. Elles ne viennent pas du driver IObservingConditions puisque ces valeurs existent déjà dans prism et qu'il ne devrait pas être nécessaire d'avoir un IObservingConditions pour utiliser un ISafetyMonitor, elles ne peuvent pas venir du driver ISafetyMonitor puisqu'il ne peut renvoyer qu'un booléen (après ta correction il devrait s'afficher), donc je ne vois pas ou elles sont lues.

 

En utilisant les émulateurs ASCOM SafetyMonitor et ObservingConditions, je vois la même chose: des donnees meteo, mais rien sur l'onglet moniteur de nuages.

 

J'aimerais bien que cette section marche, mais je manque d'information.

Share this post


Link to post
Share on other sites

Bonjour Cyril,

 

Je reviens avec ma question, toujours sans réponse. 

 

Si Prism est utilisé en remote, il est très important qu'il soit capable de lire un SafetySwitch (ASCOM) ou autre système équivalent. Il n'y a pas que les nuages a tester pour s'assurer que la session n'est pas dangereuse pour l'équipement: il faut aussi tester que la connexion internet marche (parce qu'on ne sait pas quand elle sera rétablie et qu'on ne peut pas laisser la monture tourner sans moyen de la contrôler), que l'UPS n'est pas passé sur batterie (parce que dans ce cas il faut tout arrêter et fermer d'urgence), il faut bien sur tester qu'il ne pleut pas, que le vent ne met pas en danger l'installation, que le ciel n'est pas trop clair, et j'en passe. Comme Prism ne va pas tester ces choses lui-même (chacun décide de ce qu'il veut tester), il faut que l'information soit collectée par quelque chose qui va prendre la décision Safe/Unsafe. C'est le rôle du SafetyMonitor (dans le cas ASCOM) auquel Prism peut se connecter ("moniteur de nuages").

 

Tu dis plus haut:
"Ca ne sert que pour les observations automatique ou cette derniere est stoppé/reprise dans la nuit si une seule des conditions ci dessous est rencontrée ->
skyCloudy
skyVeryCloudy
skyWet
Cloud_Cloudy
Cloud_VeryCloudy
Rain_Going                   
UnsafeToObserve              

C'est renvoyé par le driver ASCOM."

 

skyCloudy, skyVeryCloudy, skyWet, Cloud_Cloudy, Cloud_VeryCloudy, Rain_Going peuvent provenir d'un driver ObservingConditions et les valeurs continues sont remplacées par des valeurs discrètes. 

 

Question: quel est le mapping? Les valeurs reçues étant des double, elles ne sont pas étalonnées et donc vont être directement dépendantes du capteur (un DHT11 va renvoyer des valeurs différentes d'un DHT2302, BME280, d'un AAG CW qui utilise autre chose). Ce mapping est-il paramétrable?

 

Ensuite, le flag UnsafeToObserve ne se trouve pas sur l'interface IObservingConditions. Voila l'interface ASCOM IObservingConditions:

 public interface IObservingConditions
  {
    bool Connected { get; set; }
    string Description { get; }
    string DriverInfo { get; }
    string DriverVersion { get; }
    short InterfaceVersion { get; }
    string Name { get; }
    void SetupDialog();
    string Action(string ActionName, string ActionParameters);
    ArrayList SupportedActions { get; }
    void CommandBlind(string Command, bool Raw = false);
    bool CommandBool(string Command, bool Raw = false);
    string CommandString(string Command, bool Raw = false);
    void Dispose();
    double AveragePeriod { get; set; }
    double CloudCover { get; }
    double DewPoint { get; }
    double Humidity { get; }
    double Pressure { get; }
    double RainRate { get; }
    double SkyBrightness { get; }
    double SkyQuality { get; }
    double StarFWHM { get; }
    double SkyTemperature { get; }
    double Temperature { get; }
    double WindDirection { get; }
    double WindGust { get; }
    double WindSpeed { get; }
    double TimeSinceLastUpdate(string PropertyName);
    string SensorDescription(string PropertyName);
    void Refresh();
  }


UnsafeToObserve peut provenir d'un SafetyMonitor. Voila l'interface ASCOM ISafetyMonitor:

public interface ISafetyMonitor
 {
    bool Connected { get; set; }
    string Description { get; }
    string DriverInfo { get; }
    string DriverVersion { get; }
    short InterfaceVersion { get; }
    string Name { get; }
    void SetupDialog();
    string Action(string ActionName, string ActionParameters);
    ArrayList SupportedActions { get; }
    void CommandBlind(string Command, bool Raw = false);
    bool CommandBool(string Command, bool Raw = false);
    string CommandString(string Command, bool Raw = false);
    void Dispose();
    bool IsSafe { get; }
  }


Le flag important est IsSafe. C'est ce que j'essaie de prendre en compte dans Prism. Mais un SafetyMonitor ne contient rien d'autre que ce flag, donc ne peut pas afficher d'informations de nuages, pluie, etc. Or l'onglet affiche des données qui de toute évidence proviennent d'une station météo, mais qui ne font pas partie de l'interface ISafetyMonitor. Ces données ne proviennent pas non plus du driver ObservingConditions connecté puisque j'en ai écrit un et que Prism affiche ses valeurs dans l'onglet météo seulement (il ne les transfère pas a l'onglet moniteur de nuages). 

 

Question: D’où viennent les valeurs affichées dans l'onglet moniteur de nuages dans le cas d'un driver ASCOM?

 

En cherchant dans les options des observations automatiques, je vois qu'il est possible de décider de prendre en compte le moniteur de nuages. Mais:

 

Question: Quelles valeurs affichées dans l'onglet sont prises en compte? Il me semble avoir vu sur d'autres forums que c'est seulement la valeur de couverture nuageuse. Si c'est le cas, quelles sont les valeurs limites? D’où vient la valeur?

 

Idéalement, ça devrait être la valeur Safe/Unsafe qui vient du SafetyMonitor qui n'est pas ouvert a interprétation. Il est soit true et on peut observer, ou false et il faut parquer la monture, fermer le toit, arrêter les observations, et tout éteindre (ou au moins appeler un script ou une application qui peuvent le faire).

 

J'en conclus donc que Prism version 10 n'est pas encore prêt pour le remote total puisqu'il ne peut pas agir en cas de danger. Ma conclusion est-elle erronée?

 

Merci.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now