cdlog2

Forum Replies Created

Affichage de 15 réponses de 976 à 990 (sur un total de 1,620)
  • Replies
    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: Un oublie important, dans la version à double site, le Bug mentionné dans le précédent Post, à été corrigé aussi bien dans la version Modifiée et celle d’Origine. Seule la version à 1 site actuellement en téléchargement n’intègre pas encore cette correction.

        Nicolas est au courant.

        0
        0
        cdlog2
        Modérateur

          Bonsoir,

          Merci de votre retour d’info.

          Oui en effet j’avais constaté de façon aléatoire un blocage en ouverture de la page d’accueil et j’avais déposé lors d’un Post fin décembre 2020 l’archive MAJ-Page-accueil-27-12-2020.zip avec les corrections apportés aux 2 fichiers concernées pour la version à double site en invitant les personnes concernées par ce bug à implémenter ces correctifs. Nicolas à été mis au courant par mail du problème.

          Ces corrections ne sont pas encore implémentés dans la version à simple site et ont été intégrées depuis peu dans la version à double site
          WES V 0.84A4 BETA05 en date du 17 Janvier 2021.

          Si cela vous intéresse, je vous invite à lire les discussions ci-dessous ou je détaille l’origine du bug :

          https://www.cartelectronic.fr/blog/?topic=mise-a-jour-0-84a3/#post-10279

          https://www.cartelectronic.fr/blog/?topic=mise-a-jour-0-84a3&paged=2#post-10307

          Cdt

          0
          0
          cdlog2
          Modérateur

            Bonjour Richard,

            Avec le WES on peut tout faire !  mais avec Jeedom c’est plus simple !

            Pour récupérer le nombre de Kwh consommés ainsi que le Coût journalier des Pinces et des Pulses il suffit de rajouter les lignes ci-dessous dans votre Data.cgx.  Le calcul en rapport au HP/HC est réalisé par le WES par rapport au choix de tarification entré dans les Pages Configs respectives. Les infos que vous recevrez sont ceux que vous lisez dans les Pages Web Graphs Respectives du WES.

            Je ne donne ici que les Codes pour la Pince n°1 et le Pulse n°1. Pour les « Autres (n°) » vous changer le Chiffre 1 en fin des CodeClés du début des lignes et le chiffre 1 des <TAG1></TAG1> par leurs Numéros Respectifs.

            # Code à mettre dans le groupe <impulsion> du Data.cgx
            c pCj1 <PLSCJ1>%.02f</PLSCJ1>      # PULSE 1 Conso Jour Kwh
            c pej1 <PLSPJ1>%.02f</PLSPJ1>        # PULSE 1 Prix Jour €

            # Code à mettre dans le group <pince> du Data.cgx
            c PCj1 <PCECJ1>%.02f</PCECJ1>     # PINCE 1 Conso Jour Kwh
            c Pej1 <PCEPJ1>%.02f</PCEPJ1>       # PINCE 1 Prix Jour €

            // Rajoutez dans le Script Jeedom les lignes ci-dessous. Bien sur changer le chiffre  1 pour les n° des « Autres (n) »

            lireValeurXml($xml, ‘impulsion’, ‘PLSCJ1’, xxxx, 0);     // PULSE 1 Conso Jour Kwh
            lireValeurXml($xml, ‘impulsion’, ‘PLSPJ1’, xxxx, 0);     // PULSE 1 Prix Jour €
             
            lireValeurXml($xml, ‘pince’, ‘PCECJ1’, xxxx, 0);     // PINCE 1 Conso Jour Kwh
            lireValeurXml($xml, ‘pince’, ‘PCEPJ1’, xxxx, 0);     // PINCE 1 Prix Jour €

            Cdt

            0
            0
            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
              cdlog2
              Modérateur

                Bonjour Aurélien,

                Il n’y a pas vraiment de différence côté Visuels, Applications et Interactions avec le Serveur, entre les Pages WEB des ces différentes Versions.

                Par ailleurs, la version Web Simple Site en Téléchargement et la version Web d’Origine que l’on vous propose au lancement du « Double Site » sont pratiquement identiques, hormis quelques correctifs apportés au niveau de la page d’accueil pour celle intégrée dans le « Double Site »

                La grosse différence se situe sur la Conception, l’Architecture et la Gestion des Pages Web en Interne de la version Modifiée du « Double site  » par rapport à la version d’Origine.

                Dans la version Modifiée, on ne charge dans le navigateur qu’une partie significative des Pages Web en Dynamique, alors que dans la version d’Origine on charge la totalité des Page Web.

                Le fait de charger qu’une partie des Pages Web permet normalement d’avoir une ouverture des Pages plus rapide. Par contre les temps d’affichage des informations spécifiques des Pages sont tributaires des mêmes Temps d’accès aux requêtes avec le Serveur. La gestion des ressources et variables JS au niveau du cache du navigateur est aussi différent et plus simple à gérer dans la version Modifiée.

                Il est assez facile de vérifier ces différences, si vous regardez depuis les « Outils » du navigateur, le Code Source des Pages WEB. Vous constaterez qu’avec la version Modifiée vous restez toujours en visuel sur la même Page quelque soit la Page Web chargée alors que pour la version d’Origine vous voyez la structure de chacune des Pages qui sont chargées.

                L’Objectif premier de Nicolas était d’avoir un 2éme site WEB identique mais réalisé différemment ce qui permet en autre de déceler plus facilement les bugs communs.

                Le choix d’utiliser la version Modifié ou celle d’Origine contenues dans le « Double Site » vous appartient et nous faire un retour sur votre préférence et  vos remarques sont les bien venue.

                Cdt,

                Christian

                 

                0
                0
                cdlog2
                Modérateur

                  Bonjour,

                  Si vous avez déjà une portion en câble Cat5 , poursuivez avec le même câble, cela évitera des erreurs de câblage.

                  Pour vos autres questions, je ne peux pas m’avancer avec certitude. Je ne peux que supputer aux regard de ce que je constate chez moi.

                  Je possède deux Serveurs WES V2. L’un est en Service depuis quelques années et gère mes consommations et délestage et mon Autre WES, plus Récent, me sert pour faire des Tests.

                  Sur mon 1er WES qui est en Service, je constate en haut à droite une prise d’extension type RJ12. Sur mon WES de Test j’ai à la place un bornier à 2 vis sérigraphié A B. La plasturgie sur mon WES de Test est retirée afin de pouvoir le manipuler plus facilement. Je constate sur le PCB de ce WES de Test, à l’arrière du bornier A B, une puce de type HDV75. C’est une interface RS485 avec une sortie Bus sur 2 Fils.

                  Je ne veux pas démonter mon WES qui est en service, donc je ne sais pas comment est interfacée la prise RJ12 sur la carte PCB de ce WES. Si vous possédez une Carte WES, comme sur mon WES de Test, avec un bornier à deux vis visible en haut à droite. Alors vous pouvez vous inspirer des spécificités techniques du DataSheet de la Puce HDV75 que vous pouvez télécharger depuis ce lien :

                  https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjjv9OSsajuAhXAAWMBHRAOAf0QFjAAegQIBRAC&url=https%3A%2F%2Fwww.ti.com%2Flit%2Fgpn%2FSN65HVD78&usg=AOvVaw2-M-bOqe9oQ8jcYI5aXTpk

                  Mais seul Nicolas peut vous donner des infos précises sur la prise d’extension et cette future liaison RS485.

                  Cdt

                   

                  0
                  0
                  cdlog2
                  Modérateur

                    Bonjour,

                    Concernant votre câblage, prévoyez de passer un câble de type à Paire Torsadés. Un câble de type Téléphonique devrait faire l’affaire pour ce Type de transmission. Prévoyez du 6/10 si vos distances sont importantes.

                    Prévoyez une disponibilité d’au moins 2 Paires pour la transmission plus un fil pour une référence GND, comme cela vous n’aurez pas de surprise et vous répondez à tous les protôcles et prévoyez en complément une paire supplémentaire pour alimenter éventuellement un périphérique distant avec le 12Volt du WES si suffisamment puissant ou autre Alim. En principe un câble Téléphonique avec au minimum 4 Paires torsadés devrait faire l’affaire.

                    Je pense que Nicolas pourra donner plus ample informations,

                    Cdt

                    0
                    0
                    cdlog2
                    Modérateur

                      Bonjour à Tous,

                      La version WES V0.84A4 BETA04 double site est passé à la version WES V0.84A4 BETA05 double site.

                      Voir le détail de la Mise à jour sur ce lien :
                      https://www.cartelectronic.fr/blog/?topic=wes-v-0-84a4-beta05-17-janvier-2021-version-double-site/#post-10452

                      Cordialement
                      Christian

                      0
                      0
                      cdlog2
                      Modérateur

                        RE : Peut être de façon plus ‘BRUTUS’ et sans TEST la fonction scenario, vous pouvez créer un 3eme Bloc Action juste après vos deux bloc existant et vous mettez en DUR l’ACTION start sans autre test. De cette façon qu’il y ait une Erreur ou Pas, vous forcer systématiquement à relancer le scénario dès le début du groupe sur le 1er bloc sleep et il s’enchaîne ensuite tout seul. Rendu à la fin il se relance avec start et etc.etc ….

                        pour créer une autre et 3eme bloc dans le même groupe de bloc : juste après le Bloc Code

                        Vous cliquez  à droite dans Ajoutez et vous choisissez ACTION comme vous l’avez déjà fait pour le sleep. Dans le Champs qui va apparaître vous rentrez start .  Ensuite vous enregistrez et tester le scénario. S’il n’y a pas d’erreur alors vous avez gagné !

                        Cdt

                         

                        0
                        0
                        cdlog2
                        Modérateur

                          RE : pour le test SI/ALORS/SINON >> SI scenarion(scenario) == 0 , ALORS …… action start , prenez l’exemple du bloc de l’exemple while(1) :

                           https://jeedomiser.fr/article/les-scenarios-dans-jeedom/#boucle-dun-scenario-simuler-while

                          0
                          0
                          cdlog2
                          Modérateur

                            Bonjour,

                            Tout est expliqué ici :  https://jeedomiser.fr/article/les-scenarios-dans-jeedom/#la-conception-du-scenario

                            J’ai mis en pratique l’exemple du scénario Whil(1) : https://jeedomiser.fr/article/les-scenarios-dans-jeedom/#boucle-dun-scenario-simuler-while

                            Concernant l’arrêt du scénario, je pense qu’il y a eu une erreur dans le Script PHP lors d’une lecture du data.cgx.  Il faudrait rajouter return null; dans le catch de la function getwesxml () comme ceci :

                            } catch (Exception $e) {
                            log::add(« WES », « INFO », « HTTP erreur: ».$e->getMessage(), «  »);
                            return null;   // ICI à RAJOUTER
                            }

                            et pour la function lireValeurXml() un simple return comme ceci :

                            } catch (Exception $e) {
                            log::add(« WES », « INFO », « XML erreur on Id: ».$pId. »: ».$e->getMessage(), «  »);
                            return;     // ICI à rajouter
                            }

                            Il existe une fonction Action Jeedom qui permet de tester si un scénario Tourne ou Pas.
                            c’est la fonction scenario(scenario)https://jeedomiser.fr/article/les-scenarios-dans-jeedom/#autres-fonctions

                            il suffit de créer un Autre BLOC ACTION parmis vos deux blocs déjà existant et de tester par une Action ‘ SI/ALORS/SINON’
                            le status de retour de la fonction  scenarion(scenario) (scenario = nom scénario ou ID scénario ??)  et Tester SI le status retourné de cette fonction est = 0 et ALORS lancer la fonction Jeedom ‘ START ‘ ( start mais en minuscule) qui redemmare le scenario 

                            Pareil cherchez des exemples pour créer ce bloc spécial.

                            Cdt

                            0
                            0
                            cdlog2
                            Modérateur

                              Je pense que vous pouvez essayer de créer cet autre Scénario et désactiver provisoirement le votre pour TEST.

                              Vous créez un nouveau Scénario. Dans le Nouveau Scénario vous aurez un autre ID.

                              Dans l’onglet général remplissez les champs avec un autre NOM , visible et vous cocher l’option Multi-lancement. vous laissez le Mode Scénario à droite à Provoqué.

                              Ensuite en haut à droite de la fenêtre Scénario vous cliquez dans Ajouter un Bloc. On vous demande de sélectionner une Action. Vous choisissez ACTION et Enregistrez.

                              Ensuite vous cliquez dans Ajouter et vous choisissez BLOC ACTION.
                              Ensuite Vous cliquez dans le bloc qui c’est construit à droite dans Ajoutez et vous choisissez ACTION

                              Dans le Champs qui va apparaître vous rentrez Sleep. on va vous proposer de rentrer une tempo en seconde, vous rentrez exemple 2s pour l’instant.

                              Vous cliquez à nouveau dans Ajouter de droite et cette fois vous choisissez Bloc CODE. On vous ouvre un Champs dans lequel vous allez faire un
                              Copier / coller de votre Script PHP.

                              C’est terminé, vous sauvegardez. après je ne sais pas comment relier ce nouveau Scénario à votre Objets Virtuel. Mais je pense que vous savez le faire.

                              Normalement votre Script devrait fonctionner de façon cyclique avec votre Tempo comme intervalle d’appel au Data.cgx

                              Voila c’est ce que j’ai compris, mais je ne peux pas le mettre en pratique

                              Cdt

                              0
                              0
                              cdlog2
                              Modérateur

                                RE : je fais référence à votre remarque !

                                « les remontés dans Jeedom sont toutes le 2 minutes (je ne trouve rien pour passer à 1 mn) »

                                Vous avez du crée un Mode de Scénario Programmé avec */2 *  *  *  * pour 2 minutes. Pour une minute c’est */1 *  *  *  * tout simplement.

                                Il y a je pense un autre moyen de lire le Script plus rapidement en créant un Scénario avec ajout d’un Bloc Action dans lequel vous mettez la Cde Sleep et on vous demandera combien de seconde, vous pourrez mettre 1s ou 2 s  et il fau rajouter juste derrière un autre Bloc Code, dans lequel vous copiez votre Script PHP. Dans la section général du Scénario il faut cocher ‘Multi-lancement

                                Pour plus info, interroger le Blog Jeedom pour activer le Scénario. Je pense que c’est possible avec un while (1) , personnellement je n’ai pas Jeedom.

                                Cdt

                                0
                                0
                                cdlog2
                                Modérateur

                                  Bonjour,

                                  Vos 4 commandes sont spécifiques pour lire la Conso de vos compteurs à Impulsion. Si vous voulez que votre Script Jeedom reconnaisse ces nouveaux codes, il faut insérer ces 4 nouveaux Code dans le DATA.CGX entre les TAG du Groupe <impulsion>…. à mettre ici ….</impulsion>

                                  Exemple : La ligne dans votre script PHP pour lire le DEBIT1 du PULSE1 = lireValeurXml($xml, ‘impulsion‘, ‘DEBIT1‘, xxxx, 0);  On voit bien que le Script Jeedom va essayer de lire Tag <DEBIT1> dans le Groupe Tag <impulsion> et pas à la fin du fichier Data.cgx Ne pas oublier de donner une valeur ID à la place des xxxx pour chaque ligne dans votre Script pour ces 4 nouveaux Codes

                                  Les commentaires commencent par bien par ‘ # ‘ dans les fichiers CGX comme le confirme Nicolas. N’oubliez pas que plus petit sera le fichier DATA.CGX mieux cela sera. Pas la peine de rajouter du BLABLA  dans ce fichier pour rien.

                                  Cdt

                                  0
                                  0
                                Affichage de 15 réponses de 976 à 990 (sur un total de 1,620)