› Forums › Serveur WES › Installation & Configuration › Demande avis
- Ce sujet contient 12 réponses, 3 participants et a été mis à jour pour la dernière fois par
Richard, le il y a 4 années et 8 mois.
- Post
-
Bonjour, je dispose d’un site internet ou j’envoi par des requêtes du WES les données pour faire des graphes de conso, de prod, de conso d’eau de niveau d’eau et de températures, vous me direz c’est un doublon du WES !!!
Donc pour se faire j’envoi 4 requêtes espacées de quelques minutes.
Il y a peu, je viens de découvrir la façon de parser le fichier data.cgx et en faisant 2 petites modifications dessus, j’ai les mêmes infos nécessaires pour mon site, en faisant une tache » cron » sur le serveur du site toutes les x minutes.
Je ne sais pas vraiment ce qui est le mieux ? pour ne pas surcharger l exécution du WES.
Merci de vos avis.
00
- Replies
-
-
Bonjour kouros
Pourriez vous être plus précis quand vous dites : j’ai parsé le fichier Data.cgx ? Doit on comprendre que vous avez découpé le fichier Data.cgx en plusieurs petits fichiers Data(n).cgx ?
On peut modifier le Data.cgx en Supprimant ou en Ajoutant des Cde.Clés du Serveur. On peut découper le fichier Data.cgx en Tronçon et créer des fichiers CGX spécifiques plus petit : par exemple regrouper les Cde.Clés du Groupe TAG Pinces et en faire un fichier Pince.cgx.
Ces petits fichiers CGX peuvent être envoyés au WES de façon cyclique les uns après les autres avec des intervalles de temps de l’ordre de 1 à 2 seconde entre chaque petits fichiers CGX sans problème.
Cdt
00 -
Bonjour cdlog2
Je rebondis sur ce sujet qui évoque les possibilités autour du fichier data.cgx
J’ai ouvert plusieurs questions sur le sujet ou j’ai eu des réponses intéressantes pour avancer dans mon besoin de dialoguer avec un autres system, en l’ occurrence Jeedom
Hc et HP pour l’ensemble des capteurs
Ajouter commentaires dans Data.cgx
Visualisation infos Wes sur Dashboard Jeedom
Explication infos teleinfo vs pulseJe vois dans votre réponse la notion de découpage du fichier data.cgx
Ceci me semble intéressent dans le sens ou je n’ai pas besoin de récupérer tous les infos au même rythme
Pouvez vous développer le sujet et nous dire comment faire la mise en place de ces petits fichies dataxx.cgxVous écrivez « Ces petits fichiers CGX peuvent être envoyés au WES de façon cyclique »
je ne comprend pas, moi j’interprète « ces fichiers peuvent être lu sur le Wes »
Pouvez vous me expliquer ce pointBonne journée
00 -
Bonjour,
je n’ai pas découpé le fichier data.cgx, j’ai rajouté seulement des informations sur l’info des consommations des TIC qui n’apparaissent pas dans ce fichier.
C’est suite justement aux discutions sur Jeedom, que j’ai récupérer en modifiant le script pour l’adapter pour mon site.
Mon script récupère complètement les infos du fichier data.cgx pour en extraire les données intéressantes pour les incorporées dans des bases de données.
Vous signaler que l’on peut créer un autre fichier ……cgx regroupant simplement les infos qui nous intéresse, si c’est cela, c’est intéressant, car je n’aurais pas besoin de faire des modifications du fichier original data.cgx, chaque mise a jour du WES.
Cdt
00 -
Bonjour
je suis bien d’accord il faut un fichier data de base pour le besoin standard et pour les autres applis qui se connectent au Wes ex Jeedom
En cas de PB il ne sera donc pas possible de mettre au cause les modifs coté Wes
Les fichiers data spécifiques seront pour les bidouilles spécifiques.
Bonne journée
00 -
Bonjour,
Pour @Richard, je fais suite à vos remarques :
« Vous écrivez « Ces petits fichiers CGX peuvent être envoyés au WES de façon cyclique »
je ne comprend pas, moi j’interprète « ces fichiers peuvent être lu sur le Wes »
Pouvez vous me expliquer ce point »Le Scénario Jeedom que je vous ais détaillé dans le lien ci-dessous et lu de façon cyclique. Cela veut dire que votre Jeedom envoie une requête DATA.CGX au WES de façon répétitive toutes les 10 secondes tel que vous l’avez défini dans le 1er BLOC du sleep. de ce scénario
https://www.cartelectronic.fr/blog/?topic=ajouter-commentaires-dans-data-cgx/#post-10442Je suppose aussi que vous avez vue mon post relatif à votre quetion sur les consos HP/HC
https://www.cartelectronic.fr/blog/?topic=hc-et-hp-pour-lensemble-des-capteurs/#post-10482Le Data.cgx peut être découpé en petits fichier.cgx sans problème. il est structuré comme tous les fichiers CGX du WES.
Par contre le format des fichiers CGX du WES diffère un peu par rapport au format XML du Data.cgx.Tous ces fichiers CGX respecte la même logique. Chaque ligne commence toujours par un CodeClés compris du WES suivi de TAG qui cloisonne une valeur <TAG>valeur</TAG>.
Dans les fichiers CGX du WES vous avez toujours un premier TAG qui englobe un Identifiant qui sera reconnu dans la page WEB. Cet Identifiant n’est pas interprété par le WES, cela peut être n’importe quel mot à discrétion du programmeur <id>Identifiant</id> ou <var>identifiant</var> etc..
Ensuite vous avez un second TAG qui englobe cette fois la réponse du WES en rapport au CodeClés <value>%valeur</value>Dans le fichier DATA.CGX vous n’avez pas le TAG identifiant. Après le CodeClés du début de ligne, on trouve de suite un TAG qui englobe la réponse du WES en rapport au CodeClés <TAG>%valeur</TAG>. Le nom du TAG peut être n’importe quel mot. Il n’est pas interprété en tant que tel par le WES. Le WES va chercher seulement le signe % dans la ligne pour trouver l’endroit et le format de la variable attendue pour donner sa réponse
le CodeClés ‘ t ‘ au début des lignes précise au WES que le reste de la ligne est un commentaire et ne doit pas en tenir compte. Par contre vous aurez en réponse du WES ce commentaire sans la Clés ‘ t.’ Exemple t <impulsion> dans le DATA.CGX sera rendu par la requête WES par <impulsion>
On peut demander au WES d’écrire La valeur d’une variable rendue sous un format type. Le format des variables attendu est toujours défini par un % suivi du type de format souhaité. exemple non exaustif :
%s = valeur type string, format acscii texte
%d = valeur d’un entier numérique
%.0f = valeur d’un float sans virguleOn peut demander une valeur d’un entier sur 2 chiffres exemple %02d, un nombre comme l’index d’un TIC avec 9 chiffres %09u, Un Float avec 2 chiffres après la virgule %.02f. etc…
Je pense que vous n’utilisez pas les fichiers CGX du WES mais plutôt le DATA.CGX étant le plus utilisé dans les Appli domotique comme Jeedom, EEdomus, Domoticz.
Donc voici comment faire des petits fichiers data-perso.cgx : Le fichier de base VIDE est structuré comme ci-dessous. Il faut respecter le point final :
t <?xml version= »1.0″ encoding= »UTF-8″?>
t <data>t </data>
.A l’intérieur vous rentrez les lignes avec les CodeClés que vous voulez. Mais comme le fichier Data.cgx est structuré sous forme d’un ensemble de plusieurs GROUPE de TAG par type de Capteurs, il faut rajouter, afin que votre fichier soit correctement reconnu par Jeedom mettre le TAG correspondant au GROUPE du Capteur que vous créez.
Exemple d’un fichier que vous nommez par exemple Pulse1.cgx à copier dans la racine de la carte mémoire et qui vous renvoie uniquement les infos du compteurs à impulsions n° 1 compatible pour être lue par Jeedom :
t <?xml version= »1.0″ encoding= »UTF-8″?>
t <data>
t <impulsion>
c pp1 <PULSE1>%d</PULSE1>
c pIU1<INDEX1>%.0f</INDEX1>
t </impulsion>
t </data>
.voila un exemple d’un petit fichier CGX au format du standard DATA.CGX qui pourra être lue par le Script Jeedom ou autres Interfaces compatible avec la structure du DATA.CGX.
Il faut savoir que plus petit est votre fichier CGX, plus rapide sera la requête avec le WES et moins vous sollicitez le temps CPU du WES pour ce travail. Donc il est inutile de demander des infos au WES que vous n’utilisez pas dans votre requête CGX.
Cdt
00 -
Re: Attention, le Blog transforme certains caractères comme les guillemets par d’autres caractères. Dans l’entête du Data.cgx vous trouvez en 1ere ligne :
t <?xml version= »1.0″ encoding= »UTF-8″?> c’est des guillemets qui englobe ‘1.0’ et ‘UTF-8’ . Pour ne pas vous tromper récupérez cette 1ere ligne directement depuis votre fichier Data.cgx.
Un complément parfois utile, on sait maintenant que dans cet exemple <TOTO>%.02f</TOTO> le WES va rentrer une valeur type Float avec 2 chiffres après la virgules en fonction du CodeClés sollicité. Exemple 18,50.
Vous pouvez par exemple rajouter un autre Signe en complément pour personnaliser la valeur que vous lirez en retour de la requête dans Jeedom. Exemple pour lire un Prix en € <TOTO>%.02f € </TOTO> la réponse dans Jeedom sera par exemple 18,50 € ou bien pour lire des M3 d’un compteur d’eau avec 3 chiffres après la virgule <TOTO>%.03f m3</TOTO> la réponse dans Jeedom sera par exemple 20,012 m3.
Cdt
00 -
Merci Clog2 pour toutes ces précisions
Je vais donc appliquer dans un premier temps avec mes infos « impulsion »
Si je réussi à faire tourner avec jeedom, je reviendrai au fichier data.cgx d’origine.Après je ferai d’autres petits fichiers qui seront lancés à des rythmes différents suivant le besoin (cela évitera de charger le Wes avec des requêtes inutilement)
Je suis Ok c’est bien les applis externe qui consulte le wes
00 -
Premier test avec fichier Data_impulsion.cgx ok
je vais construire les autres fichiers dédiés avec un pointage dessus en fonction du besoin
Remise en place du fichier data.cgx d’origine
Une méthode ou les risques de casse sont limitésMerci à @Cdlog2 pour son aide
00 -
Bonsoir
Puisque vous avez compris comment créer les fichiers CGX, Je vous donne une Astuce pour trouver les CodeClés du WES relatifs à des valeurs que vous souhaitez intégrer dans votre DATA.CGX.
Je vous ais donné les CodeClés pour récupérer le Nb Kwh et le Prix Journalier de la Pulse1.
Ces infos sont visibles dans la page Graphique des Pulses. Admettons maintenant que vous souhaitez aussi récupérer le Nb Kwh Mensuel de cette même Pince1. Il faut allez dans la page WEB Graphique des Compteurs à Impulsions. Vous trouvez au bas du graphique les valeurs que vous souhaitez intégrer dans Jeedom.Pour connaître le CodeClés d’un valeur numérique qui vous intéresse, exemple la conso mensuel du Pulse1, vous faites un clic droit de la sourie sur la valeur du Nb de Kwh affichés dans la Page. Ensuite si vous êtes sous Firefox vous cliquez dans Examiner l’élément. Et si vous êtes sous Chrome vous cliquez dans Examiner. La Console du Navigateur va s’ouvrir et vous verrez une partie du code HTML de cette Page Web.
Une zone est sélectionné en bleu. C’est la ligne qui contient la valeur qui vous intéresse.
Si vous regardez bien, à coté de la valeur numérique vous trouver un Identifiant entre guillemet sous la forme id= »PLSCM_1″.
PLSCM_1 est l’identifiant qui permet au fichier CGX de trouver ou placer cette valeur numérique dans la Page Web via une fonction JS.Bon maintenant vous connaissez l’identifiant de la rubrique qui vous intéresse soit : PLSCM_1. Il vous faut maintenant rechercher le CodeClés qui permet d’afficher la valeur pour cet Identifiant PLSCM_1.
La Page Web ou vous êtes est PLSGRAPH.HTM ou PLSGRAPH.HTML suivant la version de la page ouverte.
Vous allez Chercher dans le dossier WEBPROG/CGX/ le fichier PLSGRAPH.CGX. Vous éditez le fichier et vous cherchez la ligne qui contient l’Identifiant PLSCM_1.Normalement vous allez trouver la ligne suivante : c pCm1 <html><id>PLSCM_1</id><value>%.0f %s</value></html>.
comme vous le savez maintenant les CodeClés se trouve en début de ligne avant les <TAG> donc le CodeClés pour récupérer le Nombre de Kwh mensuel du Pulse 1 = c pCm1
Il ne vous reste qu’a construire votre ligne pour le Data.cgx : Vous pouvez mettre le nom que vous voulez comme TAG de reconnaissance pour JEEDOM disons pour s’amuser : <PULSE_KWH_MENSUEL> bien sur vous mettrez un NOM plus court.
c pCm1 <PULSE_KWH_MENSUEL>%.0f</PULSE_KWH_MENSUEL>
Cette ligne si placée dans le Groupe des TAG impulsions, va retourner dans Jeedom la conso Mensuel en kWh. Si vous souhaitez faire rajouter le symbole kWh en plus de la valeur, comme affiché dans la page WEB, il suffit de rajouter comme dans le TAG <value> de la ligne du fichier CGX le 2eme %s soit :
c pCm1 <PULSE_KWH_MENSUEL>%.0f %s</PULSE_KWH_MENSUEL>
Voila vous savez maintenant construire vos lignes dans le DATA.CGX avec les Infos qui vous intéresse.
J’attire toutefois vote Attention. Les CodeClés du Data.cgx de Base ne changeront pas concernant les éléments déjà existant. Mais cela n’est pas vraie pour les CodeClés des fichiers CGX du dossier WEBPROG/CGX/.
Ces CodeClés et les Identifiants en relatifs peuvent être modifiés par Nicolas à discrétion suivant ces besoins dans de prochaine Release.
Donc si lors d’une MAJ, vos Lignes spécifiques ne fonctionnent plus sous Jeedom, Alors cherchez à trouver les nouveaux Codes.Un dernier Point Important , n’allez pas saturer le WES avec des Centaines de requêtes de CodeClés dans votre Data.cgx, Le WES pourrait ne pas trop aimer !
Cdt
00 -
Bonjour, encore merci de toutes ces explications qui nous font comprendre un peu mieux le fonctionnement. Je ne veux pas du tout faire des multiples requêtes car le but de ma démarche en premier, c’est justement d’éviter 4 requêtes pour les regrouper que sur une seule mais de façon différente pour le même résultat au final.
Je voudrais connaitre aussi la presence du fichier data.cgx, est ce un fichier nécessaire au fonctionnement du WES pour le web ou est un fichier utilisable seulement pour les autres applications.
Cdt
00 -
Bonjour,
Le WES offre de part sa conception, une Ouverture au Dialogue avec d’autres système, par des échanges HTTP via des Scripts (cgx). Le Fichier Data.cgx n’est pas un fichier nécessaire au fonctionnement du WES.
Nicolas à souhaité créer un format d’échange XML Standard permettant aux autres Systèmes d’accéder facilement aux principaux Datas et Capteurs connectés au WES et quelque soit la version du Serveur.
On peut comparer le fichier Data.cgx à une interface, comme un Pilote (Driver), avec des Codes d’échanges Connus et Immuables.
Cdt
00 -
Bonjour
Le principe est super, de fait il ouvre sont produit à plein d’autres applications qui savent que leurs développements resteront valables indépendamment des évolutions matérielles et logicielles du Wes.Si un utilisateur à des besoins particuliers, les fichiers CGX à faire soit même sont la cerise sur le gâteau.
@Cdlog2 n’est pas avare en informations et propose des choses relativement simples à mettre en œuvre sans toucher le cœur du Wes et donc de planter notre wes
Mon choix s’est porté sur se produit car il offre dans le même boitier l’interfaçage avec la teleinfo, les sondes 1Wire, les pinces, les compteurs impulsions, et bien d’autres, et ce n’est pas fini de nouvelles possibilités vont arrivées prochainement.
Je n’ai pas trouvé de produit qui font autant de choses
Pour arriver à la même chose il faut en général plusieurs boitiers
Depuis peu je viens d’interfacer le Wes avec Jeedom
J’ai maintenant de la domotique qui associe le meilleur des 2 produitsLes seuls points noirs à mon avis sont:
le changement de pile (il faut tous arrêter, tous débrancher ouvrir le wes et refaire la manip dans l’autre sens)
Pas simple et à faire, et tous les 2 ans environs
La carte SD idem, il faut ouvrir son cache compteur pour accéder au Wes (j’ai trouver sur internet des câbles déport carte SD, je vais tester)
Autre remarque sur la SD il faudrait voir si un SSD ou un autre type de mémoire plus fiables ne serai pas envisageableCes derniers points au regard des cotés positifs du produit ne sont que du détail.
00
-
Étiqueté : pagdata
- Vous devez être connecté pour répondre à ce sujet.