Pour faire un retour sur mon post précédent avec la chute soudaine d'ORP observée après des semaines de stabilité autour de 650mV.
Je suis rentré a la maison ce soir, et effectivement il y a eu un événement en mon absence qui a fait chuter l'ORP : un coup de vent a envoyé beaucoup de feuilles dans les skimmers et les paniers étaient quasi bouchés. Plus de chlore dans les paniers, des grosses variations de température ce weekend et des traces d'algues commençaient à se développer sur les parois.
J'ai ajouté du chlore ce soir et mon ORP est remonté instantanément.
En conclusion : j'ai bien reçu mon alerte de seuil bas de chlore, qui était bien corrélé avec l'ORP mesuré. La chute était bien physique et les sauts sans doute liés à ma chambre de mesure en dérivation.
Donc : Bravo abulcke ça marche bien !
Info supplémentaire pour les intéressés de la relation ORP/pH/chlore libre : j'ai reçu mon kit de mesure de turbidité pour intégrer a l'abaque le taux de stabilisant. En ajoutant une courbe de recalage du taux de chlore en fonction du taux de Cya, mon taux de chlore libre est pas trop mal corrélé avec ce que je mesure a la bandelette et au réactif. Je mesure donc périodiquement le taux de Cya et je le consigne dans l'input number qui va bien pour compléter l'équation de correction. On voit bien ci-dessous mon ajout de chlore a la fin et avant mon taux bas sous 1ppm qui a provoqué l'apparition des algues.
Je n' ai pas pris le temps de recalibrer la sonde (plus de liquide d étalonnage) Par contre je l'ai plongé dans l eau du robinet et je n' ai eu aucune variation de la.mrsurr.du chlore
l eau de la piscine etant a 660mv , apres la dose de choc que j ai mis dans le verre il devrais avoir au moins 900mv minimum car quand je choc ma piscine mon astral monte generalement vers 880mv .
oui le ph decolle bien et il suit parfaitement mon astralpool que sa soit a la monté ou a la descente .
pour etre honnete en interrogeant les ia a plusieurs reprises avec le schema du github j ai eut plusieurs fois la reponse de ph et redox inversé mais comme le ph est vraiment parfaitement coherant avec mon regul sa me parraissait bizarre , donc je n est jamais tenu compte de cette reponse .
je vais tester sa demain .
donc j inverse 'A0_A1' avec 'A2_A3' mais est ce que je modifie quand meme la ligne
Je teste tout à l'heure mais je viens de voir que j'ai inversé les sondes sur ma carte . Ça expliquerait pourquoi ça fonctionne pour moi et pas pour toi. Par contre mes valeurs d'ORP doivent être fausses.
Je suis intéressé par un détail de ce qu'il faut regarder tester ou modifier car j'ai un peu perdu le fil entre les modifications ESP home et Arduino. Tu pourrais nous faire un topo récapitulatif de ce qu'il faut regarder et changer ? Toutes les cartes que tu as fournies ont une inversion ou c'est les sondes qu'il faut inverser ?
Suite à un soucis de mesure de l'ORP j'ai investigué sur ESPHome et Arduino et je pense avoir identifié LA BOULETTE ! Je n'ai pas pu tester hier soir mais j'essayerai ce soir.
J'ai dû inverser les broches de l'ADS1115 dans le code. Je teste et si c'est confirmé je corrige.
Si tu veux/peux essayer tu peux modifier les fonctions readORPmv() et readPHmv() comme ci dessus. Ensuite, recalibrage ...
salut tout le monde j ai compiler cet apres midi en inversant a0a1 et a2a3 et c est encore pire qu avant
deja quasi impossible de faire l etalonnage du ph les mesure partent a la derive a chaque mise a jour
le ph passe du negatif au positif a chaque mise a jour , la tension de la sonde dans la solution 4 ou 7 est exactement la meme 2.54v .
le redox passe de 1000 a 700 a 200 a 300 etc a chaque mise a jour .
j ai repris ton schema kikad et la photo du pcb sur ton github , on est bien daccord que face au boitier sonde ph a gauche et sonde redox a droite comme sur ma photo ?
EDIT : j ai remis le code du github et les valeurs sont de nouveaux coherante pour le ph et pour le redox je pense qu a force de faire des etalonnage ma solution commence a ne plus etre bonne .
Bien que j'utilise une version modifiée du code 1.5. Après étalonnage, valeurs renseignées dans HA pour les valeurs du pH, la sonde se comporte normalement puis chute d'un coup et je me retrouve avec un pH de 1,88 dans l'eau de ma piscine. Après avoir remis manuellement ces valeurs d'étalonnage via Zigbee2MQTT, j'ai à nouveau un bon pH de valeur qui varie entre 7 et 7,12 pH.
4 nouveaux endpoints Zigbee analog output (EP13-16) avec :
Callbacks onPH401Val / onPH700Val / onPH1001Val / onORPVal — chaque fois que tu changes la valeur depuis HA, elle est sauvegardée en NVS (calib.putFloat) et le polynôme est recalculé
Initialisation au démarrage — les endpoints affichent immédiatement la valeur NVS (plus de slider vide au reboot)
Dans readPH() : si la tension brute dépasse ±500 mV, la fonction retourne NAN au lieu de calculer un pH aberrant. Le log série indique WARN: pH mv=XXX hors plage (electrode deconnectee ou hors eau). Le pH n'est pas publié sur Zigbee.
Voilà tout est corrigé. Voici le résumé complet :
Ce qui était perdu et pourquoi
Le device perdait les valeurs de solution (ph700.ph = 7.00 au lieu de ton tampon réel 6.88) pour deux raisons :
Raison 1 — EP13-16 supprimés en v1.5
Les sliders dans HA envoient des valeurs à des endpoints qui n'existent plus dans le firmware → ignorés silencieusement → NVS jamais mis à jour → defaults au reboot.
Raison 2 — Zigbee.factoryReset() efface tout
En interne, cette fonction appelle nvs_flash_erase() qui efface tout le NVS y compris le namespace calibration. Un appui long accidentel sur le bouton physique du device effaçait ta calibration. La nouvelle fonction resetZigbeeOnly() sauvegarde la calibration en RAM, efface le NVS, restaure la calibration, puis redémarre.
Attention : je remets ce message au cas où, ça ne concerne que ma version que j'ai volontairement modifiée.
mais factuelement de mon coté ton code esphome fonctionne parfaitement pour le ph , et la valeur redox est pas trop mauvaise apres etalonnage mais juste elle reste figé par la suite .
peut etre qu un deuxieme point d etalonnage 470mv en plus du 256mv avec au autre calcul ferais le job mais je n est pas les connaissances pour repondre a ca .
pourtant quand on on regarde ton schema on vois bien que que A0A1 et A2A3 n ont pas l air d etre au bon endroit .
Pour ma part si tu mets a jour le GitHub avec les bons codes et modifs a réaliser ça sera bon. Préviens nous juste ici quand c'est clean de ce côté et je déroule.