Forum Replies Created
- Replies
-
- 16 août 2021 à 2 h 52 min
- in reply to: Probleme Sonde 1Wire
RE: Quand je relie vos anciens Post, je comprend que votre Bus 1Wire est composé de câbles à deux fils et que vous fonctionnez en mode Parasite ? Ces paires uniques sont t’elle torsadés ?
Le Mode Parasite, n’est pas le meilleur mode surtout si vous avez un Bus 1Wire câblé en étoile avec de longue distance. Vous risquez d’avoir des Pbs de fonctionnement comme actuellement lors d’extension de nouveaux composants. Certaines sondes, voir cartes à Relais 1Wire, pourraient ne plus répondre comme il faut, s’il n’y a pas de résistance de 4,7k placé en Pull-Up pour équilibrer le BUS, connectée entre le signal 1W et le 5volt en bout des lignes.
Avez vous récemment rajouté des sondes ou tout autre composant 1Wire sur votre BUS ? Avez vous installé un ou plusieurs Capteur d’humidité sur votre BUS ?. Le 5 volt est recommandé pour alimenter ces petits boîtiers.
Vous utilisez à priori des prises RJ12 serties pour câbler vos sondes. Utilisez vous des multi-prises RJ12 pour raccorder toutes vos sondes sur le Bus. Est t’il possible d’y avoir de mauvais contact si pour une raison quelconque vous avez touché au Bus lors de travaux annexes ces derniers temps ?
Cdt
00- 16 août 2021 à 1 h 09 min
- in reply to: Probleme Sonde 1Wire
RE : Autre Hypothèse : Il suffit d’avoir un seul Composant 1Wire défectueux, qui tombe en panne et perturbe le signal 1Wire, pour mettre la panique sur le BUS Global.
00- 16 août 2021 à 0 h 35 min
- in reply to: Probleme Index Compteur Pulse depuis MAJ
Bonjour @Nicolas,
C’est moi qui est préconisé à @philou15 de faire la Mise à jour de son WES qui été en version V0.83C.
On sait très bien que cela n’a rien à voir avec les Pbs des Sondes 1Wire de @philou15, mais comme il a des Pbs, Autant en profiter pour mettre son WES à niveau avec la dernière version qui est beaucoup plus stable.
Y a t’il quelque chose à redire ?
00- 15 août 2021 à 23 h 49 min
- in reply to: Probleme Sonde 1Wire
Juste une hypothèse !
Personnellement j’habite la campagne, dans une maison en pierre totalement rénovée. Malgrés les diverses isolations, il m’arrive parfois en été de constatez que de tout petits intrus à moustaches, réussissent à pénétrer chez moi depuis les aérations de la toiture. Heureusement, elles ne résistent à l’odeur du beurre de cacahuète que je place dans des pièges au grenier !.
Je ne suis jamais envahie, juste une ou deux à chaque saison, mais ces petites souries des champs peuvent se multiplier rapidement si on les laisse vivre leur vie. Ce n’est pas tant ces mignones qui posent problème, mais je sais qu’à défaut de trouver de la nourriture, elles peuvent s’attaquer à certains câbles à leur goût.
Si un des câbles du bus 1Wire est abïmé par ces bestioles, vous pourriez avoir des pbs tel que vous l’évoquez avec vos sondes 1Wire. Si le 5volt est mis en contact avec le signal 1W dans un câble d’une des branches du Bus, L’ensemble des liaisons 1Wire seront désabilisés. Cela explique peut être qu’en mode parasite votre équipement en USB détecte bien votre BUS.
Mais à priori vous n’avez pas un court circuit entre le GND et le 5volt vue que certaines sondes sont néanmoins détectées par le WES.
Si vous habitez comme moi la campagne, il est possible que vous soyez squatté par un de ces petits rongeurs !?Une autre hypothèse, c’est que vous ayez un câble 1Wire entérré dans une buse pour alimenter une dépendance distante. Comme il a pas mal plu dans certaines régions de la France, possible qu’une remonté d’humidité provoqué par capillarité modifie l’impédance du BUS à cet endroit.
Je ne sais pas comment est câblé votre BUS 1 Wire, mais à priori vous avez plusieurs départs depuis un point central ce qui évoquerait un câblage en étoile. la déconnéxion provisoire de chaque départ devrait permettre de trouver la/les branche(s) qui pose(nt) problème.
Pour terminer le circuit qui interface le bus 1Wire dans le WES est un composant DS2482-100 qui est une interface I2C to 1-Wire Bridge. Ce circuit n’est pas en principe fragile, mais je ne sais pas si un 5 volt connecté pendant une longue durée sur son signal OutPut 1Wire pourrait l’endommager. Je ne sais pas non plus si Nicolas à interfacé la sortie de ce circuit avec des MosFets.
Si vous connectez seulement une seule Sonde directement en sortie du 1Wire du WES (sans autre câble du Bus) et qu’elle soit toujours reconnue lors de Scan, alors vous pouvez déjà éliminer l’hypothèse d’une malfonction depuis le WES.
Cdt
00- 14 août 2021 à 9 h 34 min
- in reply to: Probleme Sonde 1Wire
Bonjour,
Cela peut venir de plusieurs choses !
Etes vous sûr de n’avoir fait aucune modification dans la configuration du WES peut avant ces Pbs ? Modif Prog, Enregistrement de Config ou Ajout nouveaux élements ?
Avez vous constatez d’autres problèmes hormis ceux de vos sondes ? Avez vous les même Pbs avec des Cartes Relais 1Wire si vous en avez ?
Vos autres Capteurs: Pinces, Pulses, etc présentent t’ils des PBs de configurations, Perte des Nom symboliques ?
Le WES est t’il à la bonne Heure et Date ?Avez vous eu de l’orage et/ou coupure électrique ?
Avez vous autorisé l’accès à votre WES depuis Internet ?La config des Sondes est sauvegardée dans le fichier S1WIRE.CFG situé dans le Dossier CFG du WES. Lorsque vous éditez ce fichier (bloc-Notes, NotePad ..) est t’il vide ? Dans ce fichier normalement vous devriez trouver les Adresses ROM et Noms des Sondes que vous aviez sauvegardés. si vous n’avez pas fait de sauvegarde depuis ! Voici une vue partielle de mon propre fichier :
ACT=1
CSV=0
28-4A-5A-A3-4-0-0-33-0-0.0-Mitigeur
28-21-BC-A5-4-0-0-47-0-0.0-Dep. ECS
28-8F-6E-A3-4-0-0-DC-1-0.0-Retour PAC
28-C8-53-A3-4-0-0-44-1-0.0-Dep RadiatSi ce fichier est vide maintenant et surtout si vous n’avez pas fait d’enregistrement des Sondes depuis vos dysfonctionnements, Cela peut venir de la Carte SD ! C’est à travers ce fichier que le WES retrouve les Infos et Noms des Sondes après un Reboot.
Vos problèmes peuvent aussi avoir pour cause :
Pb d’alimentation ?, mesurez la tension du WES si vous avez un Voltmètre et vérifiez si cela respecte la tension normalement fournie par son Alim ?
Cela peut venir d’une faiblesse de la Pile bouton au lithium CR1220 3V 36mAh situé sur la Carte PCB du WES ?.
Cela peut aussi venir de la Carte SD si d’autres fichiers ont perdus des infos alors que vous n’avez fait aucun enregistrement depuis ?.
Peut probable, mais cela peut être dû suite un accès malveillant si la CNX du WES est autorisé en fTP depuis l’Extérieur (Internet) ?Pas facile de deviner la raison de vos dysfonctionnement ! sans un minimum de vérifications !
Profitez de mettre votre WES à Jour avec la dernière MAJ WES V0.84A10. Elle est beaucoup plus stable que la Version V0.83C actuellement chargée dans votre WES.
Cdt
00- 11 août 2021 à 19 h 16 min
- in reply to: Explication c aT1 ….
Il faut avoir la même valeur comme référence afin de comparer.
Oublier le Data cgx Jeedom !?
Dans votre data_tic.cgx agencer les deux lignes ensemble provisoirement.
c aT1 <CONSO_ANNEE>%.03f</CONSO_ANNEE>
c aT1 <CONSO_ANNEE_DECI>%d</CONSO_ANNEE_DECI>Ensuite lancer la requête depuis votre navigateur : 192.168.0.x/data_tic.cgx
Comme cela vous pourrez comparez les 2 valeurs rendus.CONSO_ANNEE_DECI devrait être le nombre ENTIER de CONSO_ANNEE.
Si dans Jeedom les Infos affichées sont différentes, alors le PB est du côté Jeedom
00- 11 août 2021 à 18 h 06 min
- in reply to: Explication c aT1 ….
==> %s => valeur attendue => format String » 0123456789 »
==> %d => valeur attendue => nombre Absolu ENTIER ( 0123456789 , pas de décimale)
==> %02d => valeur attendue => nombre Absolu ENTIER limité à 2 chiffres (0 <-> 99, pas de décimale)
==> %f => valeur attendue => nombre Décimal FLOTTANT (0.0, 123456789,1234….)
==> %.02f => valeur attendue => nombre Décimal FLOTTANT avec 2 chiffres après la virgule (0.00, 123456789.12)
==> %.03f => valeur attendue => nombre Décimal FLOTTANT avec 3 chiffres après la virgule (0.000, 123456789.123)00- 10 août 2021 à 1 h 00 min
- in reply to: MàJ V0_84A9 prise en compte conso Année HP et HC
Bonjour @Richard,
Pour répondre à votre question, pourquoi ne pas avoir utilisé le Terme « LireValeur » au début du NOM de la Fonction que j’ai nommé : SetJeedomIdxValue.
La réponse est simple, cette fonction ne lit aucune Valeur et ne fait qu’enregistrer une Valeur, passé en argument, dans un Virtuel Jeedom Identifié par un n° ID fourni aussi comme argument. J’aurais pu lui donner le NOM : EnregistreUneValeurDansUnIdentifiantJeedom
Pourquoi utiliser l’anglais comme langue ?
1er : La langue anglaise est compréhensible de tous les Programmeurs du monde entier ce qui n’est pas vraie pour le Français ou tout autres Langues. C’est la Langue communément Utilisée par tous les Programmeurs.
2eme : Les termes et raccourcies en anglais sont plus courts à écrire que leurs homologues écrits en Français ou tout autre langueLes Noms que vous donnez aux Fonctions, hormis ceux existantes dans les librairies des API de Base, sont seulement des Noms Symboliques pour référencer votre Fonction lorsque vous l’écrivez. Vous pouvez lui donner le Nom que vous voulez. Le but malgré tout est de pouvoir décrire de façon sommaire ce que fait la Fonction de par son NOM Symboliques.
Prenez la Fonction lireValeurXml qui existe de base dans votre Script. Lorsque l’on interpréte le NOM de cette fonction, on suppose que la fonction Lit une Valeur XML ???.
Hors cette Fonction fait deux choses. En effet elle Lit la Valeur d’un TAG d’un Flux XML puis elle enregistre cette Valeur dans un Virtuel Jeedom Identifié par un N° ID.
Moi j’aurais donné à cette Fonction le NOM Symbolique : GetXmlTagValueAndSetVirtualID, ce qui décrit de façon plus compréhensible ce que fait réellement la Fonction.
Quelque soit le NOM donné à une Variable ou à une Fonction, le But est de respecter dans le Programme lors de leur utilisation, Le NOM ainsi que la Caste tel que défini.
Cdt
00- 9 août 2021 à 10 h 10 min
- in reply to: MàJ V0_84A9 prise en compte conso Année HP et HC
Re : Complément : Vous ferez attention à bien donner le même NOM défini dans votre fichier CGX spécifique qui identifie le Tag Parent du Tableau XML TIC1, avec le NOM du Tableau XML fourni en argument lors des Appels des Fonctions du Script pour en extraire les Infos :
Extrait du résultat de votre CGX que vous avez fourni dans votre 1er Post :
<TblanTIC1>
<tr class=’A0′><td>Année HP</td><td align=right>4808</td><td align=right>733</td></tr> <tr class=’A0′><td>Année HC</td><td align=right>3549</td><td align=right>404</td></tr>
</TblanTIC1>Contenu de votre Script avec les appels pour en extraire les Infos du Tableau XML TIC 1
//# TblanTIC1 Kwh HP / HC et Coût TIC1
//############################################################################// Ajout MODIF DU 09 Aout 2021 ////
// CALCUL TOTAL KW ANNEE = SOMME KW AN HP + KW AN HC$KwAnHP = GetValeurTableauXml($xml, ‘TblanTICA1‘, 2); // valeur KW HP >>> TblanTICA1 pris en Exemple à vos Ligne Active
$KwAnHC = GetValeurTableauXml($xml, ‘TblanTICA1‘, 5); // valeur KW HC >>> TblanTICA1 pris en Exemple à vos Ligne Active
$TotKwAn = $KwAnHP + $KwAnHC; // $TotKwAn = Calcul total KW Année : KW HP + KW HC
SetJeedomIdxValue($TotKwAn, 1234); // Assigne la Valeur $TotKwAn (total KW Année) à l’Identifian IDX 1234 JeedomlireValeurTableauXml($xml, ‘TblanTICA1‘, 2, 253, 0); // valeur KW HP >>>> ICI VOUS UTILISEZ ‘TblanTICA1‘ ??
//lireValeurTableauXml($xml, ‘TblanTIC1’, 3, 1507, 0); // valeur Coût HP >>>> ICI VOUS UTILISEZ ‘TblanTIC1’ ??
lireValeurTableauXml($xml, ‘TblanTICA1‘, 5, 254, 0); // valeur KW HC >>>> ICI VOUS UTILISEZ ‘TblanTICA1‘ ??
//lireValeurTableauXml($xml, ‘TblanTIC1’, 6, 1904, 0); // valeur Côut HC >>>> ICI VOUS UTILISEZ ‘TblanTIC1’ ??Si vous regardez bien ! Je fourni le même NOM ‘TblanTICA1’ dans mon exemple pour référencer le Tableau XML du TIC1 que celui que vous utilisez dans vos Lignes Actives (ceux non commentées) de : lireValeurTableauXml(…..), de votre fichier Script Scenario-TIC.txt que vous m’avez joint.
Mais le NOM du Tag qui fait référence dans votre fichier CGX donné en résultat dans votre 1er Post est <TblanTIC1>
Soit c’est le Nom est <TblanTICA1> ou bien <TblanTIC1> dans votre fichier CGX, mais ce n’est pas possible de mélanger les deux NOM dans les appels depuis votre Script.
Je vous laisse mettre de l’ordre dans les Noms fournis en référence. Modifier aussi l’Identifiant 1234 que j’ai utilisé pour envoyer à Jeedom le résultat du calcul Total Kw Année : SetJeedomIdxValue($TotKwAn, 1234);
Cdt
00- 9 août 2021 à 8 h 04 min
- in reply to: MàJ V0_84A9 prise en compte conso Année HP et HC
RE : correction : Une Fonction en PHP s’écrit : function suivi du Nom Fct (..,…) {……}
Votre Script est écrit en PHP et non en C, je ne suis pas encore réveillé !
Cdt
00- 9 août 2021 à 7 h 51 min
- in reply to: MàJ V0_84A9 prise en compte conso Année HP et HC
Bonjour,
J’ai précisé que l’ajout ( la copie ) de mes 2 nvelles Fonctions se fait à la suite des 3 fonctions existantes.
Une Fonction en C ou CPP s’écrit : function suivi du Nom Fct (..,…) {……}
J’ai rajouté ces deux Nvelles Fct. à la suite des 3 Fcts existantes ainsi que l’exemple d’appel, dans votre fichier TXT joint « Modif-Scenario-TIC.txt »
Par contre comme je n’ai pas le contenu de votre Fichier DATA_tic.CGX avec le Code Clé Cgx » Total KW Année » qui pose PB, pourriez vous le transmettre (en format archive ZIP ) pour @Nicolas afin qu’il comprenne de quoi vous parlez.
Vous donnez le résultat du CGX lu depuis votre navigateur mais @Nicolas n’a pas votre fichier CGX spécifique pour voir le Code Clé qui nécessite une correction dans son mode de calcul ( KW HP + HC ) !
Cdt
Attachments:
You must be logged in to view attached files.00- 8 août 2021 à 21 h 36 min
- in reply to: MàJ V0_84A9 prise en compte conso Année HP et HC
- 8 août 2021 à 21 h 18 min
- in reply to: MàJ V0_84A9 prise en compte conso Année HP et HC
Bonjour @Richard
En attendant que @Nicolas corrige le Bug sur la Fct clé CGX Total Année KW qui doit être la somme de KW HP + KW HC au lieu de KW HP seul
Vous pouvez provisoirement faire ce Calcul directement dans Jeedom
Il suffit de rajouter dans votre Script WES les deux fonctions ci-dessous à la suite des fonctions existantes :// FONCTIONS EXISTANTES
function getWesXml($pUser, $pWesIP, $pDataPage)
function lireValeurXml($pXml, $pXmlNoeud, $pXmlAttribut, $pId, $pUnite)
function lireValeurTableauXml($pXml, $pXmlNoeud, $pItem, $pId, $pUnite)// NOUVELLES FONCTIONS A RAJOUTER JUSTE EN DESSOUS A LA SUITE
/*
# Retourne la Valeur d’un flux XML type Tableau HTML relative à un Index dans le Tableau
# Paramètres:
# – $pXml: contient l’ensemble du document XML à lire.
# – $pXmlNoeud: contient le nom du noeud parent XML à lire.
# – $pItem: contient le n° Index du TAG à lire (NOUVEAU)
*/
function GetValeurTableauXml($pXml, $pXmlNoeud, $pItem) {
try {// récupération de la zone XML parent du tableau HTML
$Tabl = $pXml->getElementsByTagName($pXmlNoeud)->item(0)->nodeValue;// suppression des caractères espaces et textes parasites.
$Tabl= str_replace( » align=right », « », $Tabl);
$Tabl= str_replace(« <tr class=’A0′> », « », $Tabl);
$Tabl= str_replace(« </td> », « », $Tabl);
$Tabl= str_replace(« </tr> », « », $Tabl);
$Tabl= str_replace(« \n », « », $Tabl);// récupération de la valeur du N° Item d’un enfant TAG <TD>
$Tagtd = explode(« <td> », $Tabl);
$valeur = $Tagtd[$pItem];
return $valeur;} catch (Exception $e) {
echo « Erreur Exception lireValeurTableauXml = « .$e->getMessage();
return 0;
}
}/*
# Permet d’assigner directement une Valeur à un IDX jeedom
# – $valeur: Valeur à stocker
# – $pId: Identifiant du virtuel Jeedom dans lequel la valeur de l’attribut XML doit être stockée.
*/
function SetJeedomIdxValue($valeur, $pID) {$cmd=cmd::byId($pId);
$cmd->setValue($valeur);
$cmd->event($valeur);
}// VERS FIN DU FICHIER
//# Temperatures
//############################################################################
lireValeurXml($xml, ‘temp’, ‘SONDE1’, 1507, 0);
lireValeurXml($xml, ‘temp’, ‘SONDE2’, 1508, 0);
//lireValeurXml($xml, ‘temp’, ‘SONDE3’, 1899, 0);
//lireValeurXml($xml, ‘temp’, ‘SONDE4’, 1900, 0);
//lireValeurXml($xml, ‘temp’, ‘SONDE5’, 1901, 0);
//lireValeurXml($xml, ‘temp’, ‘SONDE6’, 1902, 0);
//lireValeurXml($xml, ‘temp’, ‘SONDE7’, 1903, 0);
//lireValeurXml($xml, ‘temp’, ‘SONDE8’, 1904, 0);
//############################################################################//# TblanTIC1 Kwh HP / HC et Coût TIC1
//############################################################################
//
// AJOUT DU CALCUL TOTAL KW ANNEE = SOMME DE KW An HP + KW An HC
$KwAnHP = GetValeurTableauXml($xml, ‘TblanTIC1’, 2); // Récupère la valeur de KW Année HP
$KwAnHC = GetValeurTableauXml($xml, ‘TblanTIC1’, 5); // Récupère la valeur de KW Année HC
$TotKwAn = $KwAnHP + $KwAnHC; // $TotKwAn = Calcul total KW Année égal somme de : KW HP + KW HC
SetJeedomIdxValue($TotKwAn, 1234); // Assigne la Valeur $TotKwAn (total KW Année) à l’Identifiant IDX 1234 JeedomlireValeurTableauXml($xml, ‘TblanTIC1’, 2, 1899, 0); // valeur KW HP
//lireValeurTableauXml($xml, ‘TblanTIC1’, 3, 1901, 0); // valeur Coût HP
//lireValeurTableauXml($xml, ‘TblanTIC1’, 5, 1903, 0); // valeur KW HC
//lireValeurTableauXml($xml, ‘TblanTIC1’, 6, 1904, 0); // valeur Côut HC//#############################################################################
Attention : Vous le savez maintenant, le Blog transforme les caractères simple et double cote par des caractères visuel similaire mais qui pose pb en Language C
Je vous joint un fichier TXT avec les deux fonctions à rajouter dans votre Script et un exemple d’appels à ces nouvelles fonctions comme ci-dessus
Cdt
Attachments:
You must be logged in to view attached files.00- 3 août 2021 à 12 h 55 min
- in reply to: Programmation periodique
Pour Info : Lien vers la description de la nvelle MAJ WES V 084A9 déposé par Nicolas en téléchargement :
https://www.cartelectronic.fr/blog/?topic=mise-a-jour-0-84a9/#post-10898
00- 3 août 2021 à 12 h 38 min
- in reply to: Programmation periodique
Juste pour INFO, Je ne sais pas si vous l’avez vu,
Nicolas à déposé une nouvelle MAJ WES V 0.84A9 en téléchargement.
00