TEMPO Prédict : affichage et récupération des informations

Forums Serveur WES Installation & Configuration TEMPO Prédict : affichage et récupération des informations

  • Post
    psk
    Participant

      Bonjour,

      J’ai mis à jour mon Wes avec la dernière version et j’ai bien les informations TEMPO Prédict qui s’affichent.

      J’ai bien les bonnes informations sur la page TMPOPRDT.HTM ; il y a juste l’information « Dernière réponse » qui semble mal formatée : j’ai ça qui s’affiche :  « OK 200: Req Time 11:10’hui ! ».

      Par contre, sur la page index.htm, en ajoutant le widget TEMPO Prédict, les informations liées aux nombre de jours des couleurs ne sont pas du tout à jour (j’ai 196/300, 30/43 et 22/22 alors que je devrais avoir (104/300, 13/43 et 0/22).

      D’autre part, je récupère pour ma domotique (XTension sur Mac), les informations du Wes par une requête du genre http://login:motdepasse@192.xxx.x.x/pince.cgx pour les valeurs des pinces. Je n’ai pas trouvé comment récupérer de cette manière les informations liées à TEMPO Prédict ; j’imagine qu’il faut ajouter les bonnes entrées dans le fichier data.cgx mais je n’ai pas compris lesquelles. Quelle est la bonne syntaxe à utiliser ?

      Philippe

      0
      0
    Vous lisez 8 fils de discussion
    • Replies
        nicolas_cartelec
        Maître des clés

          Le nombre de jour est correcte mais inversé par rapport à votre demande !

          Il reste 30 jours blancs sur les 43 totaux ! (donc bien 13 jours de passés)

          Pour les valeurs CGX:

          # TEMPO predict
          c STj <java><var>TMPO_AUJ</var><value>%d</value></java>
          c STd <java><var>TMPO_DEM</var><value>%d</value></java>
          c STn <array><var>NBJOUR</var><value>%d,%d,%d</value></array>

          Après on peut les formater autrement suivant vos besoin !?

          0
          0
          psk
          Participant

            Bonjour,

            Merci pour la réponse mais je crois que j’e n’ai toujours pas bien compris ce qu’il fallait faire pour pouvoir lire les informations par une requête http. Je pensais, en me basant sur la syntaxe de la réponse et sur ce qui est actuellement dans le fichier, qu’en ajoutant dans le fichier data.cgx, les lignes :

            t <tempopredict>
            c STj <TMPO_AUJ>%s</TMPO_AUJ>
            c STd <TMPO_DEM>%s</TMPO_DEM>
            t </tempopredict>

            je pourrais récupérer les informations XML avec une requête http://login:motdepasse@192.xxx.x.x/tempopredict.cgx

            Mais cela ne fonctionne pas (La requête URL n’a pas été trouvée sur le serveur.).

            Que manque t-il ?

            Merci.

            Philippe

            0
            0
            cdlog2
            Modérateur

              Bonjour psk,

              Vous faites en effet deux Erreurs.

              Nicolas vous fourni les commandes CGX pour récupérer la couleur du jour et celle du lendemain.
              c STj <java><var>TMPO_AUJ</var><value>%d</value></java>
              c STd <java><var>TMPO_DEM</var><value>%d</value></java>

              De votre côté vous avez condensé la structure CGX par :
              c STj <TMPO_AUJ>%s</TMPO_AUJ>
              c STd <TMPO_DEM>%s</TMPO_DEM>

              Avoir condensé la structure est très bien, mais vous ne respectez pas le type de Valeur rendue par ces deux commandes CGX qui sont des Valeurs Numérique %d et non des Valeurs String %s comme vous l’avez rédigé. Vos deux lignes CGX doivent ressemblez à ceci :

              c STj <TMPO_AUJ>%d</TMPO_AUJ>
              c STd <TMPO_DEM>%d</TMPO_DEM>

              En effet ces deux commandes CGX vous retourne soit les valeurs :  0, 1, 2, 3

              La valeur 0 spécifie que la couleur n’est pas encore connue
              La valeur 1 indique que c’est une couleur Bleu
              La Valeur 2 indique que c’est une couleur Blanc
              La valeur 3 indique que c’est une couleur Rouge.

              C’est à vous de faire la conversion entre la valeur Numérique 0, 1, 2, 3 vers les Strings Null, Bleu, Blanc, Rouge.

              L’autre Errur que vous faites c’est de penser que la commande CGX t est un LABEL, une sorte Clé CGX qui permet d’isoler et d’extraire les commandes comprise entre l’ouverture de la Clé < Clé >  et la fermeture de cette Clé </ Clé >. Vous vous Trompez !

              La Commande CGX t permet uniquement de mettre un texte en commentaire et de le conserver parmi les résultats avec les autres commandes rendu du fichier CGX.  

              Pour visualiser vos deux commandes CGX, soit vous les copiez dans le fichier data.cgx et vous devez alors lancez la requête sur le fichier data.cgx : http://login:motdepasse@192.xxx.x.x/data.cgx

              Soit vous créez un fichier CGX spécifique comme celui présenté ci-dessous en respectant le point en fin du fichier.
              Vous donnez un nom à ce fichier par exemple monpredict.cgx  et vous le copiez dans la racine de la carte SD de votre WES:

              t <form>
              # TEMPO predict
              c STj <TMPO_AUJ>%d</TMPO_AUJ>
              c STd <TMPO_DEM>%d</TMPO_DEM>
              t </form>
              .

              Vous pouvez ensuite lancer la requête sur le Nom de votre fichier CGX : http://login:motdepasse@192.xxx.x.x/monpredict.cgx

              Voila, bonne fetes

              Cdt

              Christian

               

              0
              0
              psk
              Participant

                Bonjour cdlog2,

                Merci pour cette réponse détaillée !

                Je n’avais effectivement pas tout compris. Avec vos instructions, cela fonctionne parfaitement. Merci.

                Si on voudrait en plus récupérer les nombres de jour restants pour chaque couleur, est-ce que cette ligne serait correcte dans le .cgx ?

                c STn <NBJOUR>%d,%d,%d</NBJOUR>

                Encore merci.

                Philippe

                0
                0
                cdlog2
                Modérateur

                  Je confirme, vous pouvez rajouter cette dernière commande Cgx dans votre fichier cgx.

                  voici le format du fichier CGX complet monpredict.cgx

                  t <form>
                  # TEMPO predict
                  c STj <TMPO_AUJ>%d</TMPO_AUJ>
                  c STd <TMPO_DEM>%d</TMPO_DEM>
                  c STn <NBJOUR>%d,%d,%d</NBJOUR>
                  t </form>
                  .

                  Voici le résultat de la requête

                  <form>
                  <TMPO_AUJ>3</TMPO_AUJ>
                  <TMPO_DEM>2</TMPO_DEM>
                  <NBJOUR>105,13,1</NBJOUR>
                  </form>

                  Cdt

                   

                  0
                  0
                  psk
                  Participant

                    Merci pour la confirmation !

                    Très utile ce Tempo Prédict : je reçois bien un mail vers les 11h de la part de info-tempo@mon-contrat-edf.fr pour la couleur, mais je ne reçois pas l’information sur les nombres de jours restant.

                    Philippe

                    0
                    0
                    plruffin
                    Participant

                      Je récupère la couleur de demain par predict pour mon HomeAssistant avec l’ajout de cette ligne dans le fichier data.cgx: (avec la balise t <demain> c STd <DEM>%d</DEM>t </demain>

                      0
                      0
                      cdlog2
                      Modérateur

                        Bonjour piruffin,

                        Pas de problème, votre séquence de lignes est correcte.

                        C’est la Commande cgx: c STd qui demande au Serveur WES de renvoyer une Valeur numérique indexée sur 3 Valeurs de Couleur du Lendemain possible et le Serveur va chercher à fournir la Valeur en réponse dans un %d qui doit impérativement se trouver dans la même ligne que la Cde.

                        Si par contre la Commande lambda exemple : cgx c XXX fait référence à une réponse du Serveur de type String, alors le Serveur va rechercher un %s dans la même ligne que la Cde.

                        Ensuite tout le reste est de l’habillage. votre ligne <DEM>%d</DEM> pourrait être aussi remplacé par <demain>%d</demain> si la balise <demain> est utile pour vous ou bien par <toto>%d</toto> qui fait aussi l’affaire.

                        le Nom des Balises que vous donnez servent uniquement lors du traitement, à retrouver vis à vis de ces Nom de Balises, les Valeurs attendues en Réponse en retour de la requêtes CGX.
                        Les Noms que vous donnez à vos Balises n’ont aucune signification pour le WES qui n’en tient pas compte, mais qui renvoie ces Noms de Balises tel qu’il les trouve, dans sa Réponses.

                        La commande cgx t en début d’une ligne, indique au Serveur que le texte qui suit le t est un simple commentaire et que ce commentaire doit être inscrit au même endroit dans la réponse du CGX.

                        Si ce commentaire est formé comme une Balise XML

                        t <blabla>
                        …………..

                        t </blabla>

                        ces commentaires pourront être analysés comme une Balise XML dans la réponse du CGX.

                        Par contre vous pourriez Commenter une ligne provisoirement pour vous facilité la lecture de votre fichier CGX en mettant le symbole # « devant votre commentaire temporaire ».  Mais ce commentaire ne sera pas visible dans la réponse de la requête rendu par le Serveur.

                        Bonne fêtes

                        Cdt

                        Christian

                         

                         

                         

                         

                        0
                        0
                        plruffin
                        Participant

                          Mon cher Christian,

                           

                          Je suis totalement Ok avec vous , j’ai parfaitement compris le XXXX.CGX et en l’occurrence le data.cgx qui me sert pour l’échange avec HA (sens WES vers HA).

                          Le Wes ne connait que la variable memory suivante: c STd qu’il récupère  et format  effectivement selon le %truc (s,d,…) dans la réponse.

                          J’ai mis la balise <DEM> que j’aurais pu appeler <Prevision> ou tout autre chose ok avec vous n cohérence avec ce que je vais parser dans HA

                          Pour la balise commenté par t c’est pour que mon parsage soit sur deux niveaux voir ci dessous le code yaml. ([« demain »][« DEM »]) Section et valeur

                          Qui me permettrait si besoin de mettre dans la section demain (predict serait mieux) une balise pour aujourd’hui et nombre de jours si besoin

                          (Tout comme j’ai une section < TIC > avec des balises pour chaque  valeur ex <PTEC>)

                          Pour le commentaire c’est fait des deux cotés (WES et HA)

                          Effectivement les balises que j’utilise me sont utiles dans mon traitement HA (parser en Yaml) ci dessous (je reviendrais sur la liaison HA / Wes conforme aux dernières mouture de HA avec rest full)

                          Traitement dans mon HA script parser  (Wes-Template-Capteurs.yaml) du contenurenvoyé par le fichier data.cgx:
                          #Capteur pour connaitre la couleur du lendemain
                            – default_entity_id: sensor.wesdemain
                              name: « Couleur demain »
                              unique_id: wesdemain
                              state: >
                                {% if »1″in states.sensor.wesdata.attributes[« demain »][« DEM »]| string  %}
                                    « bleu »
                                {% else %}
                                {% if »2″in states.sensor.wesdata.attributes[« demain »][« DEM »]| string  %}
                                    « blanc »
                                {% else %}
                                {% if « 3 » in states.sensor.wesdata.attributes[« demain »][« DEM »]| string  %}
                                    « rouge »
                                {% else%}
                                    « inconnue »
                                {% endif %}
                                {% endif %}
                                {% endif %}
                          • Cette réponse a été modifiée le il y a 1 mois et 1 semaine par plruffin.
                          0
                          0
                      Vous lisez 8 fils de discussion

                      Étiqueté : 

                      • Vous devez être connecté pour répondre à ce sujet.