![]() |
Solution simple RAZ compteurs JSY_MK_194T - Version imprimable +- F1ATB forum (https://f1atb.fr/forum_f1atb) +-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html) +--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html) +---- Forum : Evolutions faites, à faire, dont vous rêvez... (https://f1atb.fr/forum_f1atb/forum-10.html) +---- Sujet : Solution simple RAZ compteurs JSY_MK_194T (/thread-775.html) |
Solution simple RAZ compteurs JSY_MK_194T - F6AAM - 24-11-2024 Bonjour, Jusqu'à présent il n'était pas possible de remettre à zéro les compteurs d'énergie du module JSY-MK-194T lors d'un appui sur le bouton RAZ de la page Paramètres. Voici quelques lignes de code à intégrer dans la version 12.06 pour remédier à cet inconvénient sans recourir à une programmation du module JSY-MK_194T 1-Dans fichier Solar_Routeur_V12_06.ino, créer la variable RAZ_JSY après la ligne 268 : bool RAZ_JSY= false; 2-Dans le fichier Server.ino juste avant la fin de la fonction void handleajaxRAZhisto() , insérer à la ligne 596 : RAZ_JSY = true; voici la fonction void handleajaxRAZhisto() modifiée (en vert) : void handleajaxRAZhisto() { RAZ_Histo_Conso(); for (int i = 0; i < 600; i++) { tabPw_Maison_5mn = 0; //Puissance Active:Soutiré-Injecté toutes les 5mn tabPw_Triac_5mn = 0; for (int j = 0; j < 4; j++) { tabTemperature_5mn[j] = 0; } for (int j = 0; j < LesActionsLength; j++) { tab_histo_ouverture[j] = 0; } } for (int i = 0; i < 300; i++) { tabPw_Maison_2s = 0; //Puissance Active: toutes les 2s tabPw_Triac_2s = 0; //Puissance Triac: toutes les 2s tabPva_Maison_2s = 0; //Puissance Active: toutes les 2s tabPva_Triac_2s = 0; } server.sendHeader("Connection", "close"); server.send(200, "text/html", "OK"); RAZ_JSY = true; // ajout F6AAM à la ligne 596 } 3-Modifier le fichier Source_UxIx2.ino comme suit : voici un extrait du début du fichier Source_UxIx2.ino modifié (l'ajout en vert) / ******************************* // * Source de Mesures UI Double * // * Capteur JSY-MK-194 * // ******************************* void Setup_UxIx2() { MySerial.setRxBufferSize(SER_BUF_SIZE); MySerial.begin(4800, SERIAL_8N1, RXD2, TXD2); //PORT DE CONNEXION AVEC LE CAPTEUR JSY-MK-194 } void LectureUxIx2() { //Ecriture et Lecture port série du JSY-MK-194 . int i, j; // début ajout F6AAM if (RAZ_JSY) { byte msg_send[] = { 0x01, 0x10, 0x00, 0x0C, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xFA }; // Envoi commande raz sur le JSY-MK_194T for (i = 0; i < 13; i++) { MySerial.write(msg_send[i]); } RAZ_JSY = false; } // Fin ajout F6AAM byte msg_send[] = { 0x01, 0x03, 0x00, 0x48, 0x00, 0x0E, 0x44, 0x18 }; // Demande Info sur le Serial port 2 (Modbus RTU) for (i = 0; i < 8; i++) { MySerial.write(msg_send[i]); } .... André, si tu valides tu pourras peut-être rajouter cela dans la V13. Cdlt F6AAM Jean-Claude RE: Solution simple RAZ compteurs JSY_MK_194T - F1ATB - 24-11-2024 OK je note la modf pour l'intégrer. André RE: Solution simple RAZ compteurs JSY_MK_194T - jc.guignard@gmail.com - 25-11-2024 Bonjour à tous petite erreur dans la fonction écrire MySerial.write(msg_send[i]); A bientôt RE: Solution simple RAZ compteurs JSY_MK_194T - F6AAM - 25-11-2024 (25-11-2024, 09:01 AM)jc.guignard@gmail.com a écrit : Bonjour à tous Bonjour jc, C'est exacte, j'ai rectifié sur le message du forum ! En fait c'est bien ce que j'ai programmé : MySerial.write(msg_send[i]); mais je ne sais pas pourquoi l'indice [i] de la variable msg_send a disparu lors de la validation de mon message ? j'avais pourtant fait un Aperçu avant de valider, mais manifestement je n'ai pas vu la coquille ! En fait je crois savoir ce qui s'est passé : à l'origine j'avais mis le code en italique ce qui se traduisait par un affichage [i] devant chaque ligne en italique lorsque je vérifiais mon message dans l'Aperçu. Puis j'ai décidé de supprimer l'italique c'est alors que l'éditeur à supprimé tous les [i] qu'il rencontrait dans mon Aperçu et donc y compris les indices des variables msg_send[i] ! C'est un piège dans lequel il ne faut pas tomber !!! Encore merci. Bonne soirée à tous, Jean-Claude F6AAM RE: Solution simple RAZ compteurs JSY_MK_194T - Fabrice49 - 25-11-2024 Il faut mettre ton code entre les balises [ code ] et [ /code ] ou cliquer sur le bouton idoine dans la barre d'édition pour éviter que le contenu ne soit interpréter à tort. RE: Solution simple RAZ compteurs JSY_MK_194T - F6AAM - 25-11-2024 (25-11-2024, 09:49 PM)Fabrice49 a écrit : Il faut mettre ton code entre les balises [ code ] et [ /code ] ou cliquer sur le bouton idoine dans la barre d'édition pour éviter que le contenu ne soit interpréter à tort. Merci Fabrice RE: Solution simple RAZ compteurs JSY_MK_194T - F1ATB - 04-01-2025 Mofif intégrée dans la version 13.01 à sortir André RE: Solution simple RAZ compteurs JSY_MK_194T - F6AAM - 04-01-2025 (04-01-2025, 06:10 PM)F1ATB a écrit : Mofif intégrée dans la version 13.01 à sortir OK, Bonne Année André et peut-être un QSO sur QO100 en SSB ou DATV ? 73's Jean-Claude F6AAM RE: Solution simple RAZ compteurs JSY_MK_194T - Alphajet33 - 05-01-2025 (24-11-2024, 09:12 PM)F1ATB a écrit : OK je note la modf pour l'intégrer. Bonjour André et la communauté. j'attendais le RAZ des donnes de l'énergie actif totale. j'au cru comprendre que le RAZ était fonctionnelle dans la V13.01. Dans mon cas, ces données ne se remettent pas à zéro. mauvaise manip de ma part? le RZA se fait il chez vous? bien cordialement et merci pour vos réponses Alain RE: Solution simple RAZ compteurs JSY_MK_194T - F6AAM - 06-01-2025 Bonjour, Ayant proposé à André cette RAZ totale du JSY-MK-194T , je me dois de vous fournir une solution. En examinant le code de la version 13.01 je remarque que l'instruction RAZ_JSY = true; n'est pas placée à la fin de la fonction void handleajaxRAZhisto() dans le fichier server.ino Je ne sais pas expliquer exactement pourquoi mais lors de mes essais j'avais placé cette instruction comme André et ça ne marchait pas à tous les coups ! En la plaçant à la fin comme dans l'extrait de code source ci-dessous ça fonctionne toujours ( pb de timing et/ou synchro entre le code C et le code html ?) void handleajaxRAZhisto() { RAZ_Histo_Conso(); for (int i = 0; i < 600; i++) { tabPw_Maison_5mn[i] = 0; //Puissance Active:Soutiré-Injecté toutes les 5mn tabPw_Triac_5mn[i] = 0; for (int j = 0; j < 4; j++) { tabTemperature_5mn[j][i] = 0; } for (int j = 0; j < LesActionsLength; j++) { tab_histo_ouverture[j][i] = 0; } } for (int i = 0; i < 300; i++) { tabPw_Maison_2s[i] = 0; //Puissance Active: toutes les 2s tabPw_Triac_2s[i] = 0; //Puissance Triac: toutes les 2s tabPva_Maison_2s[i] = 0; //Puissance Active: toutes les 2s tabPva_Triac_2s[i] = 0; } RAZ_JSY = true; server.sendHeader("Connection", "close"); server.send(200, "text/html", "OK"); RAZ_JSY = true; } Pour ceux qui peuvent recompiler le code dites moi si ça marche ! Cdlt Jean-Claude F6AAM |