![]() |
|
Plus d'accès aux données de la passerelle Enphase Envoy - 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) +--- Sujet : Plus d'accès aux données de la passerelle Enphase Envoy (/thread-2795.html) |
RE: Plus d'accès aux données de la passerelle Enphase Envoy - rdsoft30 - 06-07-2026 Bonsoir André, à tous, J'ai porté les améliorations que j'ai décrite dans un post précédent dans le fichier Source_EnphaseEnvoy.ino. Cette amélioration qui porte uniquement sur la récupération des données Enphase marche très bien et provique beaucoup moins de reconnexion ou perte de données. Je partage donc les fichiers sources modifiés ainsi que le binaire (base de v17.26 André + mes modifications). Je précise que j'ai laissé tout ce qu'il y a dans la version 17.26 sur le site d'André ( donc pas de suppression de la gestion du Linky, ni du Telnet). En revanche j'ai des problèmes assez fréquents d'affichage de la page d'accueil, rien ne se bloque, mais il manque des informations de temps en temps, ..... je n'ai pas la preuve, mais cela fait plusieurs fois que je prends des bases de code différentes et j'obtient toujours les mêmes problèmes si trop de RAM est consommé. pour l'instant je n'ai pas trouvé d'autre solution que de libérer de l'emprunte mémoire pour résoudre le problème. Si certain veulent d'aventurer dans la recherche du problème, je suis preneur de solutions ;-) pour tester. Aussi si d'autres peuvent tester cette version pour faire un retour ici, de si ils ont un soucis d'affichage de la page d'accueil dans son intégralité (aucunes datas manquantes). @André, si tu le souhaites comme tu me l'as demandé, tu peux en faire une version 17.27 telle que j'ai poussé l'ensemble des sources, car je n'ai modifié que: - Source_EnphaseEnvoy.ino - Solar_router.ino https://drive.google.com/drive/folders/1QjxebdRgetn2uR-xglWgiAgOvnJW59M6?usp=drive_link Bonne soirée à tous, David Merci à tous. (06-07-2026, 09:18 PM)michy a écrit : Bonjour, Salut michy, Les améliorations que tu proposes pour la mémoire occupée par la gestion du Linky, j'y ai déjà pensé, penses tu ...., c'est une bonne solution. Pour l'histoire de l'API ArduinoJson, je ne partage pas ton point de vue ..... le travail fait par tsabran mixés au travail que j'avais déjà fait pour optimiser les temps de lecture des datas Enphase ainsi que leur décodage sont bien plus optimiser en utilisant le moins possible la classe String ainsi que les lib Json ..... J'avais fait les mesures de conso de temps, et la gestion des tableaux (qui sont en statique) ainsi que la loop de lecture des data Enphase fonctionne bien mieux sans les String et la librairie AduinoJson. Ensuite, je pense que tu n'as pas toute la subtilité de ce qu'est une variable statique locale. Elle sera de toutes les façon déclarée et utilisera la mémoire dés le démarrage du programme, même si la fonction qui contient la variable statique locale n'est jamais appelée !! C'est équivalent à une variable globale, mais étant statique elle ne sera accessible que dans la fonction en local. C'est la pile mémoire qui s'en trouve soulagée, rien d'autre !! Dernier point qui peut-être pourrait t'échapper, le fait que tsabran ait réecrit la fonction de lecture d'un clientWifi, avec une boucle de lecture octet par octet permet de soulager les autres threads de l'application pendant la boucle de lecture par l'appel à la fonction yield() dans la boucle. A moins que la fonction readStringUntil() rende correctement la main aux autres threads, j'ai constaté une nette amélioration de la réactivité de l'application dans les pages Web en ayant intégrer ces modifications de tsabran. Bref, à suivre. Mais la consommation de RAM semble un point critique à l'heure actuelle dans le code avec toutes les fonctionnalités qu'il contient (Merci André ;-) pour tout ce travail produit qui est énorme !!). A+ David RE: Plus d'accès aux données de la passerelle Enphase Envoy - cmichel - 07-07-2026 Bonjour rdsoft30, Version en test et pour le moment ça fonctionne pas mal, j'ai quelques messages: 07/07/2026 15:21:38 : Envoy error while reading HTTP response status, status= TIMEOUT, partialLen=0 07/07/2026 15:33:14 : Envoy error while reading HTTP response status, status= TIMEOUT, partialLen=0 Mais peu et les graphiques et les pages sont correctes, je laisse en // le fonctionnement pour comparer, à voir la suite RE: Plus d'accès aux données de la passerelle Enphase Envoy - rdsoft30 - 07-07-2026 (07-07-2026, 03:58 PM)cmichel a écrit : Bonjour rdsoft30, Merci pour le retour ;-) A suivre. RE: Plus d'accès aux données de la passerelle Enphase Envoy - F1ATB - 07-07-2026 J’ai mis en ligne la version 17.27, qui intègre les développements de rdsoft30 pour la partie Enphase. J’ai également réduit la taille du buffer du Linky pour qu’il occupe moins de mémoire : je suis passé de 10 Ko à 4 Ko. Pour rappel, une analyse de message Linky traite environ 1 Ko de données. Comme les messages sont espacés de 2 secondes (avec un débit de 9600 bauds), le Linky ne peut pas envoyer plus de 2 Ko par message. Avec un buffer de 4 Ko, il n’y a donc aucun risque de débordement. J’espère que cette nouvelle version satisfera le plus grand nombre de possesseurs de systèmes Enphase. Cordialement, André RE: Plus d'accès aux données de la passerelle Enphase Envoy - Luc1 - 07-07-2026
Nb erreurs non bloquantes du timeout
Je ne suis pas assez compétent pour interpréter ce comportement entre les appels de mon navigateur en "bascule” entre l’Ip interne et externe de mon esp, qui permettent de réinitialiser l'affichage correct de la page par le serveur de l’esp ? RE: Plus d'accès aux données de la passerelle Enphase Envoy - cmichel - 08-07-2026 Bonjour, Je suis en train de tester cette nouvelle version 17.27 et tout me semble bien fonctionner, j'ai quelques messages dans la partie données brutes: 08/07/2026 10:55:03 : JSON Loading failed 08/07/2026 10:55:17 : Envoy error while reading HTTP response status, status= TIMEOUT, partialLen=0 qui se répète à divers intervalles. La taille mémoire minimum est à 6490, les pages s'affichent correctement. Merci. RE: Plus d'accès aux données de la passerelle Enphase Envoy - Rakibou - 08-07-2026 Bonjour à tous, Je teste aussi la version 17.27 Aucun problème constaté, pas de messages d'erreur. C'est tout bon ! Merci à tous les contributeurs pour cette version. RE: Plus d'accès aux données de la passerelle Enphase Envoy - Alain_C38 - 08-07-2026 Je suis passé depuis ce matin à la version 17.27 en exploitation (branché sur le CE). Tout fonctionne, par contre, autant, au début, la réactivité de passage entre les différentes pages était parfaites+, au bout de 5h30 de fonctionnement, c'est un peu plus saccadé, mais parfaitement utilisable. Je suis par contre à 240 octets pour la "Mémoire RAM libre minimum". Les premières heures, on était autour de 2000 octets il me semble. Quelques messages divers apparaissent toujours, mais nettement moins me semble-t-il. Great job ! RE: Plus d'accès aux données de la passerelle Enphase Envoy - aero - 08-07-2026 Bonjour a tous, Je suis passé en 17.27 hier en fin d'après midi. Tout a l'air de fonctionner après quasiment 1 jour de fonctionnement. J'ai encore en Ram libre minimum 3700 octets Mais j'ai pas mal d'erreur de type : 08/07/2026 16:35:26 : JSON Loading failed 08/07/2026 16:37:00 : Envoy JSON Reading 3 failed, status= TIMEOUT, partialLen=430 08/07/2026 16:37:00 : JSON Loading failed 08/07/2026 16:38:04 : Envoy JSON Reading 3 failed, status= TIMEOUT, partialLen=432 08/07/2026 16:38:04 : JSON Loading failed 08/07/2026 16:38:54 : Envoy error while reading HTTP response status, status= TIMEOUT, partialLen=0 08/07/2026 16:39:56 : Envoy JSON Reading 3 failed, status= TIMEOUT, partialLen=434 08/07/2026 16:39:56 : JSON Loading failed 08/07/2026 16:41:02 : Envoy JSON Reading 3 failed, status= TIMEOUT, partialLen=424 08/07/2026 16:41:02 : JSON Loading failed Je précise également que j'ai l'appli sur mon téléphone (pas ouverte de la journée) et que j'ai également le plugin enphase dans mon HA (qui lui doit communiquer toutes les 15 ou 20 secondes de mémoire) Un grand merci a tous pour vos recherches/développements de ce magnifique projet. RE: Plus d'accès aux données de la passerelle Enphase Envoy - rdsoft30 - 08-07-2026 (08-07-2026, 04:45 PM)aero a écrit : Bonjour a tous,Salut, Merci pour le retour. De mon côté j'utilise HA mais j'ai fait en sorte que HA récupère les infos de consommation directement sur le Routeur solaire. Pourquoi ? Ca evite d'avoir 2 applications qui interrogent la passerelle Enphase pour au final avoir les même infos. Si 2 appareils intérrogent en même temps je pense que cela ralenti et perturbe la lecture du routeur solaire qui n'arrive pas tout le temps à ouvrir une connexion avec l'Enphase. Je serais toi, je récupèrerais tout sur le routeur solaire et je désactiverais la lecture de l'Enphase directement depuis HA. Tout dépends de ce que tu veux faire ..... Avec le dernier source "Source_EnphaseEnvoy.ino" j'ai nettement moins de non connexion voire aucunes. Le seul message que j'ai de temps en temps mais plus rare qu'avant c'est que pendant une lecture des données JSON, la connexion est perdue car la passerelle coupe la connexion, je ne sais pourquoi ..... Je pense aussi que le temps de lecture des données Enphase, dépend beaucoup de la qualité de la connexion entre le routeur et la passerelle Enphase. Moi je suis en Wifi avec -57Dbm à -60Dbm de signal Wifi sur l'ESP32. Ensuite je suis certain que le problème d'affichage des pages Web dépend de la quantité de mémoire restante disponible ..... mais je ne sais encore pourquoi. Une autre solution consiste à optimiser fortement le code pour qu'il consomme moins de mémoire RAM en fonction des fonctions activées et non pas même si non utilisées ou activées. Je vais travailler sur cet aspect un peu pour voir ce qu'il est facile de gagner et si je trouve des choses à mettre en place je partagerai à André pour qu'il voit ce que ça donne et pour que des personnes puissent aussi tester. Quand j'aurais quelque chose je partagerai ;-). A+ David |