Ajouter commentaires dans Data.cgx

Forums Serveur WES Installation & Configuration Ajouter commentaires dans Data.cgx

  • Post
    Richard
    Participant

      Bonjour.

      je souhaite ajouter des commentaires dans mon fichier spécifique data.cgx
      Cela pose t’il un problème

      la syntaxe est elle bien celle-ci

      <! — mes commentaires –>

      Est il autoriser d’écrire sur la même ligne le code et le commentaire

      ex: c pd1 <DEBIT1>%.02f</DEBIT1><! — mes commentaires –>

      Ou faut il des lignes séparées

      <! — mes commentaires –>
      c pd1 <DEBIT1>%.02f</DEBIT1>

      0
      0
    Vous lisez 11 fils de discussion
    • Replies
        Richard
        Participant

          Un oubli dans ma question précédente
          Si j’ajoute mes infos spécifique en fin de fichier, cela à t il un impacte sur le temps d’exécution coté Wes

          0
          0
          nicolas_cartelec
          Maître des clés

            Pour les commentaires il faut mettre # en début de chaque ligne de commentaire

            Cela n’a pas d’impacte sur le temps de chargement sauf si « vous écrivez un roman »

            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
              Richard
              Participant

                J’avais bien respecté la mise en format et le format d’ écriture dans Data.cgx et dans le script.

                Les commentaires sont pour bien faire ressortir les paramètres non présent dans le fichier de base.
                le but est de pouvoir comparer facilement avec un prochain update du Wes

                Pour le commentaire cela peux ressembler à ça

                c pd1 <DEBIT1>%.02f</DEBIT1> # mes commentaires

                Ou plus à ça

                # mes commentaires
                c pd1 <DEBIT1>%.02f</DEBIT1>

                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
                  Richard
                  Participant

                    J’ai déjà regardé sur le forum Jeedom et posé une question (les gens regarde le sujet par contre pas de retour pour le moment)

                    J’ai mis dans le scenario le mode récurant 1mn (par contre le pas réel et de 2 minutes, bizarre)

                    Je n’avais pas pris cette option */1 **** vu que j’avais l’option récurrence.

                    Pour les autres options je ne me suis pas encore lancé, je ne maitrise pas (pour l’instant je regarde à droite à gauche pour trouver des solution similaire)
                    Mes premiers pas sont ce script que j’avais trouvé sur internet et que vous m »avez aidé à faire fonctionner

                    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
                      Richard
                      Participant

                        Bonjour
                        Merci pour votre aide
                        Un tuto pas à pas claire que j’ai appliqué sans PB
                        Comment faite vous pour fournir des infos claires avec un résultat correcte sans avoir testé sur Jeedom.
                        Avez vous trouvé un super tuto sur le web qui vous guide, ou c’est simplement vos compétences qui vous permette d’arriver à ce résultat.

                        Joint présentation des différentes pages ou j’ai appliqué vos commentaires

                        Pour vérifier que le rafraichissement était correcte j’ai modifié le data.cgx
                        j’ai remplacé « c h h <time>%02d:%02d</time> » par « c h h <time>%02d:%02d:%02d </time> » pour visualiser les secondes
                        J’ai mis la tempo à 10s
                        Après lancement j’ai bien constaté sur le Dashboard que j’avais bien un rafraichissement du time toutes les 10 secondes

                        juste un pb ce matin le scenario c’est arrêté (Raison inconnu)
                        vor fichier « 4_log erreurs.jpg »
                        j’ai du le relancer manuellement le scenario
                        Y a il une possibilité de le relancer automatiquement (un truc du genre si time identique pendant 30s alors relancer scenario)

                        Attachments:
                        You must be logged in to view attached files.
                        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

                            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

                              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
                              Richard
                              Participant

                                Merci

                                je connais jeedomiser, j’aime bien c’est assez clair.

                                Pour vos dernières remarques je vais les intégrer dans mon scenario

                                0
                                0
                            Vous lisez 11 fils de discussion
                            • Vous devez être connecté pour répondre à ce sujet.