Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Reset led alarm JSY-MK-333
#1
Bonjour André et toute la communauté des codeurs ,

Serait il envisageable d'avoir une commande logicielle, ie un "bouton" - "Reset Alarm" qui apparaît quand un UxLx3 est sélectionné et qui permet l'envoie de la commande logicielle de "reset" à l'interface JSY-MK-333.

La commande qui remet à zéro le statut de la led de droite qui s'allume définitivement sans cette commande , si il y a une "erreur" comme la déconnection live d"un des trois capteurs...

Merci beaucoup!

Eric 

Ps: car évidemment la mienne s'est allumée suite à une manip et impossible de l'éteindre ! Je ne vois pas de solution autre que l'envoie d'une commande soft?
@ZenViewStudiosLab / Ex N2EBM / F0IEQ   Rolleyes !
Répondre
#2
Je suis également à la recherche d'un reset pour cette même carte, j'ai effectivement la led alarme qui clignote,
Répondre
#3
aves vous essayer avec le soft d'origine ?
https://www.jsypowermeter.com/uploads/JS...301101.rar

https://www.jsypowermeter.com/download/?...tkketkke4m
Répondre
#4
(17-09-2025, 10:33 PM)grostoto a écrit : aves vous essayer avec le soft d'origine ?
https://www.jsypowermeter.com/uploads/JS...301101.rar

https://www.jsypowermeter.com/download/?...tkketkke4m

Bonjour , 
Merci non j'ai téléchargé grâce au lien  Smile !

Je vais voir comment on peut effectivement mettre en œuvre... vu que le soft sera sur PC, l'interface est du RS485 et no RS232... Des que j'ai la possibilité de bricoler un câble (entre deux réparations) et de me déconnecter de l'ESP32 du routeur principal a l'étage  Smile

C'est à cause de la petite complexité que je suggère un éventuel ajout d'un bouton un jour dans le soft lui même  Cool

Après cela ne m'empêche pas de dormir  Big Grin, cela éclaire plus la zone compteur dans l'entrée où est notre bon vieux compteur électronique non linky ce trouve  Cool!

Bonne journée 

Dès que j'ai fait je reviens avec commentaires et photos  Smile


Eric
@ZenViewStudiosLab / Ex N2EBM / F0IEQ   Rolleyes !
Répondre
#5
Merci d'avance pour votre réponse, effectivement directement dans le soft, serait bien le meilleur solution ???
Répondre
#6
Je reviens vers vous pour savoir si des avancées on été réalisés, concernant cette probable fonction ? 
Bonne fin de journée. 
Cordialement
Répondre
#7
Quelqu'un connait la commande à envoyer ?

André
Répondre
#8
Pince coupante et crackkk
Sinon il faudrait lire le registre 133h pour déterminer quelle alarme est activée pour allumer la led. Quand on aura la cause de l alarme on pourra sans doute corriger l erreur à sa source et donc éteindre cette led

Programme non testé pour lire et décoder ce registre de status

Code :
#include <ModbusMaster.h>

// Créer une instance de ModbusMaster
ModbusMaster node;

// Adresse de l'esclave (JSY-MK-333)
#define SLAVE_ID 1

// Broches UART sur ESP32 (adapter selon câblage)
#define RXD2 16
#define TXD2 17

void setup() {
  Serial.begin(115200);
  Serial2.begin(9600, SERIAL_8N1, RXD2, TXD2);

  node.begin(SLAVE_ID, Serial2);

  Serial.println("Lecture du registre d'alarme JSY-MK-333...");
}

void loop() {
  uint8_t result;
  uint16_t alarmReg;

  // Lire 1 registre à l'adresse 0x0133
  result = node.readHoldingRegisters(0x0133, 1);

  if (result == node.ku8MBSuccess) {
    alarmReg = node.getResponseBuffer(0); // valeur du registre

    Serial.print("Registre 0x0133 = ");
    Serial.println(alarmReg, HEX);

    // Décode les bits selon manuel
    uint8_t highByte = (alarmReg >> 8) & 0xFF;
    uint8_t lowByte  = alarmReg & 0xFF;

    if (highByte & 0x01) {
      Serial.println("⚠️  Inversion de phase détectée !");
    }

    if (lowByte & 0x01) {
      Serial.println("⚠️  Surtension phase A !");
    }
    if (lowByte & 0x02) {
      Serial.println("⚠️  Surtension phase B !");
    }
    if (lowByte & 0x04) {
      Serial.println("⚠️  Surtension phase C !");
    }

    if (lowByte & 0x10) {
      Serial.println("⚠️  Surintensité phase A !");
    }
    if (lowByte & 0x20) {
      Serial.println("⚠️  Surintensité phase B !");
    }
    if (lowByte & 0x40) {
      Serial.println("⚠️  Surintensité phase C !");
    }

    if (alarmReg == 0x0000) {
      Serial.println("✅ Pas d'alarme active.");
    }

  } else {
    Serial.print("Erreur Modbus: ");
    Serial.println(result, HEX);
  }

  delay(2000); // lire toutes les 2 secondes
}
Répondre
#9
Bonsoir, personne n'as essayé ce code de reset led ? 
Cordialement
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)