› Forums › Serveur WES › Installation & Configuration › Ajouter commentaires dans Data.cgx
- 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 souhaite ajouter des commentaires dans mon fichier spécifique data.cgx
Cela pose t’il un problèmela 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>00
- Replies
-
-
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é Wes00 -
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 »
00 -
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
00 -
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 WesPour le commentaire cela peux ressembler à ça
c pd1 <DEBIT1>%.02f</DEBIT1> # mes commentaires
Ou plus à ça
# mes commentaires
c pd1 <DEBIT1>%.02f</DEBIT1>00 -
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
00 -
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 fonctionner00 -
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 ACTIONDans 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
00 -
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 secondesjuste 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.00 -
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-fonctionsil 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 scenarioPareil cherchez des exemples pour créer ce bloc spécial.
Cdt
00 -
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
00 -
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
00 -
Merci
je connais jeedomiser, j’aime bien c’est assez clair.
Pour vos dernières remarques je vais les intégrer dans mon scenario
00
-
- Vous devez être connecté pour répondre à ce sujet.