Demande avis

Forums Serveur WES Installation & Configuration Demande avis

  • Post
    kouros
    Participant

      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.

       

      0
      0
    Vous lisez 11 fils de discussion
    • Replies
        cdlog2
        Modérateur

          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

           

           

           

           

           

           

          0
          0
          Richard
          Participant

            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 pulse

            Je 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.cgx

            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

            Bonne journée

            0
            0
            kouros
            Participant

              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

              0
              0
              Richard
              Participant

                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

                0
                0
                cdlog2
                Modérateur

                  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-10442

                  Je 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-10482

                  Pour @Richard et @Kouros

                  Le 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 virgule

                  On 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

                  0
                  0
                  cdlog2
                  Modérateur

                    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

                    0
                    0
                    Richard
                    Participant

                      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

                      0
                      0
                      Richard
                      Participant

                        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és

                        Merci à @Cdlog2 pour son aide

                        0
                        0
                        cdlog2
                        Modérateur

                          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

                          0
                          0
                          kouros
                          Participant

                            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

                            0
                            0
                            cdlog2
                            Modérateur

                              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

                               

                              0
                              0
                              Richard
                              Participant

                                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 produits

                                Les 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 envisageable

                                Ces derniers points au regard des cotés positifs du produit ne sont que du détail.

                                0
                                0
                            Vous lisez 11 fils de discussion

                            Étiqueté : 

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