› Forums › Serveur WES › Installation & Configuration › TEMPO Prédict : affichage et récupération des informations
- Ce sujet contient 9 réponses, 4 participants et a été mis à jour pour la dernière fois par
plruffin, le il y a 1 mois et 1 semaine.
- Post
-
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
00
- Replies
-
-
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 !?
00 -
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
00 -
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
00 -
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
00 -
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
00 -
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
00 -
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>
00 -
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
00 -
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.wesdemainname: « Couleur demain »unique_id: wesdemainstate: >{% 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.
00 -
Cette réponse a été modifiée le il y a 1 mois et 1 semaine par
-
Étiqueté : TEMPO Prédict
- Vous devez être connecté pour répondre à ce sujet.