Accès à data.cgx de mon serveur WES

Bonjour et bonne année à vous

J’utilise le plugin Wes pour visualiser ma teleinfo Enedis, des compteurs d’impulsions et des sondes température 1wire

Le Wes propose dans son fichier data.cgx beaucoup d’autres infos, comment est-il possible de les voir dans un virtuel ou autrement

Je pense que le plugin Wes attaque le fichier data.cgx, par contre il ne propose pas tous les champs disponibles et il possible de les rendre disponible

Bonjour,

Pourrais-tu préciser lesquelles ?

Bonjour

le fichier data.cgx n’est pas celui d’origine il a était modifier par un membre du forum Cartelectronique
il possédé plus d’infos
Le but est de récupérer directement des infos du Wes sans avoir besoin de faire des calculs dans Jeedom (plus simple pour les personnes qui ne maitrisent pas les scripts, virtuel ou autres)

Data.cgx de base extract des datas Impulsion

t <impulsion>
c pp1 <PULSE1>%d</PULSE1>
c pIU1<INDEX1>%.0f</INDEX1>
c pp2 <PULSE2>%d</PULSE2>
c pIU2<INDEX2>%.0f</INDEX2>
c pp3 <PULSE3>%d</PULSE3>
c pIU3<INDEX3>%.0f</INDEX3>
c pp4 <PULSE4>%d</PULSE4>
c pIU4<INDEX4>%.0f</INDEX4>
c pp5 <PULSE5>%d</PULSE5>
c pIU5<INDEX5>%.0f</INDEX5>
c pp6 <PULSE6>%d</PULSE6>
c pIU6<INDEX6>%.0f</INDEX6>
t </impulsion>

Nouveau data.cgx extract zone impulsion

t <impulsion>
c pp1 <PULSE1>%d</PULSE1>
c pIU1<INDEX1>%.03f</INDEX1>
c pIJ1<INDEXJ1>%.03f</INDEXJ1>
c pIM1<INDEXM1>%.03f</INDEXM1>
c pIA1<INDEXA1>%.03f</INDEXA1>
c pp2 <PULSE2>%d</PULSE2>
c pIU2<INDEX2>%.03f</INDEX2>
c pIJ2<INDEXJ2>%.03f</INDEXJ2>
c pIM2<INDEXM2>%.03f</INDEXM2>
c pIA2<INDEXA2>%.03f</INDEXA2>
c pp3 <PULSE3>%d</PULSE3>
c pIU3<INDEX3>%.03f</INDEX3>
c pIJ3<INDEXJ3>%.03f</INDEXJ3>
c pIM3<INDEXM3>%.03f</INDEXM3>
c pIA3<INDEXA3>%.03f</INDEXA3>
c pp4 <PULSE4>%d</PULSE4>
c pIU4<INDEX4>%.03f</INDEX4>
c pIJ4<INDEXJ4>%.03f</INDEXJ4>
c pIM4<INDEXM4>%.03f</INDEXM4>
c pIA4<INDEXA4>%.03f</INDEXA4>
c pp5 <PULSE5>%d</PULSE5>
c pIU5<INDEX5>%.03f</INDEX5>
c pIJ5<INDEXJ5>%.03f</INDEXJ5>
c pIM5<INDEXM5>%.03f</INDEXM5>
c pIA5<INDEXA5>%.03f</INDEXA5>
c pp6 <PULSE6>%d</PULSE6>
c pIU6<INDEX6>%.03f</INDEX6>
c pIJ6<INDEXJ6>%.03f</INDEXJ6>
c pIM6<INDEXM6>%.03f</INDEXM6>
c pIA6<INDEXA6>%.03f</INDEXA6>
t </impulsion>

Ajout dans ce fichier de ces infos
Nombre d’impulsion Aujourd’hui
Index début de Journée
Index début de Mois
Index début d’Année

Ma demande fait référence à une autre question:

Sur la page web de mon serveur Wes je peur visualiser les infos suivantes

Sur Jeedom je peux voir que ça

Dans l’absolu, ce serait effectivement possible de rajouter ce qu’il faut dans le plugin pour récupérer ces informations mais comme cela vient d’une customisation du fichier data.cgx, je ne pense pas que l’équipe Jeedom voudra les intégrer. Si le fichier data.cgx venait à évoluer de façon officielle, cela changerait la donne côté Jeedom.

De plus, d’après ce que j’ai compris, Nicolas de Cartelectronic considère que les informations importantes sont déjà dans le fichier et il ne souhaite pas alourdir le fichier data.cgx avec ces informations.

Pour le nombre de chiffre après la virgule, comme indiqué dans votre autre post, il n’y a pas de modification à faire côté Jeedom. Il faudrait également que Nicolas modifie de façon officiel le data.cgx.

Néanmoins, si vous souhaitez vous lancer dans la modification pour ajouter ces infos, c’est possible. Mais cela voudra dire qu’il faudra les réappliquer à chaque mise à jour du plugin.

Le mieux pour ces informations « custom » serait peut être de les récupérer via le plugin Script comme vous semblez l’avoir fait ici :

Je suis ok il y a pas mal d’info dans le fichier de Nicolas,
Comme je l’ai écris ci dessous je ne suis pas un expert programmation donc il est pour moi plus simple de récupérer des infos directement sur le Wes sans avoir à faire des scripts compliqués sur jeedom que je ne suis pas capable de faire
je ne demande pas de modif dans le plugin Wes ou de modif de Nicolas je sais que je devrai faire attention aux modif de Nicolas
je vois bien que je vais devoir faire un truc spécifique pour moi

je suis donc parti sur le tuto sur le script du tuto ci joint

le script tourne sans erreur maintenant

Le pb maintenant et que je n’arrive pas dans un virtuel à accéder à ces datas pour les visualiser
quelles infos je doit écrire dans les champs ci dessous

Bonjour,

Je ne voudrais pas m’avancer mais il me semble que le plugin wes est en cours de révision dans ce sens (récupérer plus de data en fonction du matériel).

Wait and see

1 « J'aime »

Merci @Salvialf pour l’info.

Je ne suis pas sure que cela sera rapide ils ont d’autres développements en cours
Il n’ai pas évident que dans ce fichier contiendra le besoin de chacun.

Pour cette raison je préfère devenir un peu autonome via un script perso plus des virtuels

Coté script j’ai maintenant un truc correct qui fonctionne reste le virtuel et c’est la que j’ai besoin de votre aides

Comment récupérer l’info et les afficher dans un virtuel
J’ai 2 choix:
1-Taper directement sur le fichier du Wes (je ne sais pas comment faire poiur me connecter à ce fichier)

2-Taper dans le script présenté dans le tuto joint

Extract data.cgx sur serveur Wes

t <impulsion>
c pp1 <PULSE1>%d</PULSE1>

Extract du script du tuto joint

 lireValeurXml($xml, 'impulsion', 'PULSE1', 862, 0);

Je ferai la même chose après pour d’autres éléments du script

Bonjour

J’ai trouver un sujet similaire, par contre encore une fois je n’arrive pas à l’appliquer à mon besoin.

Fichier XML, données separée par des points virgules, comment les recuperer?

je m’adresse à vous tous pour m’aider à sortir de ma galère et peux être plus particulièrement à
@olive , @Salvialf , @jpty qui ont résolu le Pb d’ @olive

Bonne journée

1 « J'aime »

Les informations de ta page web me semble pertinentes.
Que ce soit des données xml ou html tu peut toujours les charger, les parcourir et en extraire le contenu.

regarde aussi ici :

Le principe reste le même

Merci pour tes infos, PB je suis loin de comprendre les infos que tu m’as communiqués (encore du chinois pour moi)
Suivant le tuto que j’avais joint, je pense que le virtuel doit récupérer les infos ici

lireValeurXml($xml, 'impulsion', 'PULSE1', 862, 0);

Pb est que dans le virtuel j’ai bien le même id (862) et j’ai un retour 0 lorsque je clique sur test.
il demande de cocher ‹ afficher ›, ‹ événement ›’ et historique’ pb je ne trouve pas l’info événement
il est possible que pb viennent de la

moi j’ai ceci


Encore une fois je bloque

C’est du grand n’importe quoi ce tuto …

# Lecture des données
$xml = getWesXml($User, $WesIP, $dataPage);
if($xml===null){  
log::add("WES", "INFO", "XML is null","");
}else {
 # Temperatures  
lireValeurXml($xml, 'temp', 'SONDE1', 525, 0);  
lireValeurXml($xml, 'temp', 'SONDE2', 526, 0);

les # sont des commentaires pour du langage python …
en php c’est …

// commentaires sur une ligne

ou

/*
commentaires 
commentaires sur plusieurs lignes.
*/

si tu copie du code comme ça cela ne risque pas de fonctionner …

J avais trouvé que ça sur le sujet
je n’avais même pas à quoi cela corresponds comme langage ( aujourd’hui je travail globalement en copier coller)
Je corrige de ce pas avec tes infos
Par contre pourquoi lorsque tu exécutes il ne te retourne pas des erreurs (Que je n’aurai pas sus traiter probablement)

Je vais regarder ce tuto, je ne garantis pas que cela corresponde à mon niveau (il est toujours bon de regarder les choses pour des fois en retenir les grandes lignes qui pourrons nous servir ultérieurement)
Dans un premier temps je me lance sur la correction du code.

Après corrections sur la base de tes infos j’ai maintenant un virtuel qui récupére les infos
Je vais finaliser mon virtuel pour les éléments que je veux visualiser et rentrer les ID dans le script

Comme quoi ça tiens pas a grand choses …

J’ai été un peu trop vite en besogne et je viens de constater que ce la fonctionne à moitié et encore.

if($xml===null)
{
 log::add("WES", "INFO", "XML is null","");
}
else {
// Impulsion
 //############################################################################
 lireValeurXml($xml, 'impulsion', 'PULSE1', 1453, 0);
 //lireValeurXml($xml, 'impulsion', 'PULSE2', 1453, 0);
 lireValeurXml($xml, 'impulsion', 'PULSE3', 1375, 0);
 lireValeurXml($xml, 'impulsion', 'PULSE4', 862, 0);
}

Je remonte des 0 de pulse 1 et 3 et une valeur de pulse 4

Normalement j’ai des valeurs dans les 3 pulses
Je pense que j’ai encore un pb de syntaxe (, ; ou autres ou je pense mal)

Bonjour
Je reprends le sujet
Après un peu d’aide le code dans le scenario est bon
Le problème maintenant et que j’ai une mesure toute les 5mn (je n’ai rien fait, je pense que c’est une valeur par défaut)
Comment faire pour définir un intervalle de temps différent
Action au niveau de scenario ou du virtuel

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.