F1ATB forum
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)

Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29


RE: Plus d'accès aux données de la passerelle Enphase Envoy - Ecubitus - 22-06-2026

Téléchargement de la V17.22, la communication avec la passerelle, en D8.3.5528, s'effectue correctement et le routeur est actif.
Merci à tous.

3 KW avec 8 panneaux en monophasé, routeur actif depuis Juin 2024.


RE: Plus d'accès aux données de la passerelle Enphase Envoy - Fuster13 - 22-06-2026

bonjour.
La nouvelle version ne fonctionne pas chez moi.

Session Id Not Received from Enphase
Token Not Received from Enphase

et JSON loading failed

Vous parlez de la MAJ d'enphase D8.3.5528 alors que quand je vais sur l'appli en phase j'ai la dernière version V26.6.1. Peut etre que vous ne parlez pas de l'application mais de s meter envoy ?


RE: Plus d'accès aux données de la passerelle Enphase Envoy - Francky - 22-06-2026

(Il y a 7 heures)Fuster13 a écrit : bonjour.
La nouvelle version ne fonctionne pas chez moi.

Session Id Not Received from Enphase
Token Not Received from Enphase

et JSON loading failed

Vous parlez de la MAJ d'enphase D8.3.5528 alors que quand je vais sur l'appli en phase j'ai la dernière version V26.6.1. Peut etre que vous ne parlez pas de l'application mais de s meter envoy ?

Oui l'ENVOY


RE: Plus d'accès aux données de la passerelle Enphase Envoy - Pliz72 - 22-06-2026

Petit retour sur la version 17.22 avec système en triphasé.

Tous semble OK, valeur et pilotage du SSR. Smile Je vais surveiller cela de près !

Merci a vous tous


RE: Plus d'accès aux données de la passerelle Enphase Envoy - ROPA 59 - 22-06-2026

Bonjour @all,
idem,
La nouvelle version ne fonctionne pas chez moi.

Session Id Not Received from Enphase
Token Not Received from Enphase

et JSON loading failed

suis en triphasé

pour info, j'ai repris un vieux portable avec W10, et installé ce fameux pilote Silicon lab , pour réinstaller votre dernière version sur l'ESP32 qui fonctionnait avant notre galère Enphase ( le même pilote qui ne veux s'installer sur mon W11 Pro !
Merci encore aux développeurs .


RE: Plus d'accès aux données de la passerelle Enphase Envoy - lahuchette - 22-06-2026

Bonjour,
je viens de faire la MAj en 17-22

Session Id Ok Received from Enphase
Token Ok Received from Enphase


mais j'ai le message "Envoy refused request"
Ma passerelle est en 8.3.5528

En tout cas, merci à tous pour votre mobilisation !!!!!


RE: Plus d'accès aux données de la passerelle Enphase Envoy - Placo84 - 22-06-2026

Bonjour à tous,

Je remercie tous ceux qui ont pu contribuer à cette dernière version.
J'ai mis à jour mon routeur en version 17.22 avec une passerelle en D8.3.5528.
Je verrai demain pour le routage mais voici une copie d'écran de ma page données brutes, on voit que j'ai un message d'erreur de connexion qui apparait 5 min après le boot : Connection failed to Envoy-S server!
J'ai testé deux fois avec le même résultat.

Encore Merci à tous et à André !!!


RE: Plus d'accès aux données de la passerelle Enphase Envoy - Alain_C38 - 22-06-2026

(Il y a 4 heures)Placo84 a écrit : Bonjour à tous,

Je remercie tous ceux qui ont pu contribuer à cette dernière version.
J'ai mis à jour mon routeur en version 17.22 avec une passerelle en D8.3.5528.
Je verrai demain pour le routage mais voici une copie d'écran de ma page données brutes, on voit que j'ai un message d'erreur de connexion qui apparait 5 min après le boot : Connection failed to Envoy-S server!
J'ai testé deux fois avec le même résultat.

Encore Merci à tous et à André !!!


J'ai la même situation avec ce msg au bout de 5 minutes, puis régulièrement ensuite sans que ce soit toujours le même timing. C'est un msg résiduel qui ne semble pas traduire un fonctionnement anormal. En effet, comme on le voit sur ton screenshot la connection envoy est ok et les données sont actualisées normalement (à comparer avec l'appli Envoy pour comparer). 

Code :
ESP32 On depuis :    0h 43mn
(...)
Messages    
22/06/2026 19:44:29 : session_id :xxxxxxxxx    
22/06/2026 19:44:29 : Connected to :entrez.enphaseenergy.com    
22/06/2026 19:44:29 : routeur_rms connecté au broker MQTT    
22/06/2026 19:44:40 : Connection failed to RTE server :www.services-rte.com    
22/06/2026 19:45:10 : 2026-06-22 : TEMPO_BLEU | 2026-06-23 : TEMPO_BLEU    
22/06/2026 19:49:19 : Connection failed to Envoy-S server! : https://10.0.0.5    
22/06/2026 19:55:11 : Connection failed to Envoy-S server! : https://10.0.0.5    
22/06/2026 19:59:57 : Connection failed to Envoy-S server! : https://10.0.0.5    
22/06/2026 20:09:19 : Connection failed to Envoy-S server! : https://10.0.0.5    
22/06/2026 20:17:35 : Connection failed to Envoy-S server! : https://10.0.0.5


Petit bug à corriger.


RE: Plus d'accès aux données de la passerelle Enphase Envoy - michy - 22-06-2026

Bonjour,

  Ok le résultat est fonctionnel (encore quelques ratées chez certain), bravo à ceux qui ont bossé de près (ou de loin) sur le sujet

  **********
  dans la nouvelle version Enphase 17.22 :

  Une première passe pour le bonne cohérence et améliorer la fluidité lors de future révision de code :

Il n'y a plus de traitement pour Firmware V5 => si quelqu'un tourne encore en V5 qu'il se manifeste !
Code :
//***********************************
//* Source EnPhase Envoy V5 ou V7   *
//***********************************
-----------------

  Les commentaires qui viennent du code que j'avais publier mais qui n'ont pas été considérer sont a supprimer : 
Code :
// exploite la puissance de ArduinoJson :
et
  // ============================================================
  // CORRECTION 1 : Initialisation explicite du filtre Envoy V7
  // ============================================================
  n'ont pas de sens puisque qu'il n'y a pas une seule ligne qui utilise ArduinoJSON et ses filtres associés
----------------

Code :
  // établi ou rétabli la connexion qu'on garde ouverte entre les appels

n'a pas de sens puisque "client" est détruit et recréer a chaque appel avec la ligne "NetworkClientSecure client;"
----------------------------

Code :
      TelnetPrintln("Envoy refused request");
      StockMessage("Envoy refused request");
La ligne TelnetPrintln est inutile ici, l'appel de StockMessage fait déja le job (suite a l'appel de PrintScrool)
-----------------------------

Sans utilisation de ArduinoJson (mais usage des les fonctions de parsing inclus à la fin du module), pas d'intérêt de lire les 8 sections  (nGlobalIndex < 8)(nGlobalIndex < 2) suffit
pour ne traiter que la [0] et la [1] avec 
if (nGlobalIndex == 0) {
et 
} else if (nGlobalIndex == 1) {
Ok le bouclage s'arrête avec la variable bJsonLoadingFinished
--------------

Code :
    // Saute L'entete d'ouverture de la trame JSON.
    jsonPayload = client.readStringUntil('[');
Le commentaire n'est pas bon, c'est "saute du retour code http (attendu 200) au premier crochet ouvrant" ...
c'est un piège, si l'entête contient un crochet ouvrant (un cookie ou autre info retournés dans la section header), ça décale toute la logique, il faudrait finir de lire l'entête et seulement après, chercher le crochet ouvrant dans le corps du message (qui devrait être le 1er octet...)

il faut passer la séquence \r\n\r\n pour arriver au début du body [a traiter]
---------------

=> Reste a confirmer que la situation monophasé et toujours sur la phase L1 sinon c'est échec d'obtention des données correct
-----------------

dans le passage
Code :
        if (!bMonoPhase) {
          PactProd = ValJson("activePower", jsonPayload);
          Tension_M = ValJson("voltage", jsonPayload);
          Intensite_M = ValJson("current", jsonPayload);
        }
c'est quasiment sur qu'on va lire le tension cumulé des 3 phases (soit ~700V) et pareil c'est le cumul des intensité par phase, pas grave ces infos ne sont pas utile (mais elles s'affiche sur le page données brutes)
la fonction ValJson utilisée et telle que définit mérite quelques corrections (ne semble pas impacté le fonctionnement sur les trames obtenu par passerelle) :
Le nom rechercher pourrait être la fin d'une autre variable car on ne cherche pas nom encadré entre guillemet
elle impose une virgule dans la suite du Json
Ouf : Avec la trame de la passerelle, on n'a jamais de nom qui se termine pareil (exemple de bug on demande la valeur de "toto" et il y a une variable "xyztoto" placé avant, c'est planté) et on ne va jamais récupérer la dernière variable avant l'accolade final
-----------------------

une version plus sécure (conforme composition d'une trame JSON base json.org) pour extraire les infos incluant le dernier item d'une chaine JSON
Code :
// recherche nom encadré par double quote, avance jusqu'au double dot, puis optionnellement une double quote qui encadrerai la data
// retourne le float dispo a cet endroit (ou 0.0f si la chaine ne représente pas un début de nombre)
float ValJson(const String &nom,, String Json) {  // évite une duplication de chaine
  int p = Json.indexOf("\"" + nom + "\""); // le nom encadré avant et après évite d'extraire une correspondance en fin de nom
  if (p == -1) return 0.0f;  // pas trouvé le nom recherché, retourne 0.0f
  Json = Json.substring(p);  // commence la chaine juste après le guillemet fermant
  p = Json.indexOf(":");  // avance au :
  if (p == -1) return 0.0f; // si pas de ":" on retourne 0.0f
  Json = Json.substring(p + 1); avance après le ":"
  Json.trim();  // supprime l'éventuel espace qui suivrait le ":"
  if (Json.charAt(0) == '\"') Json = Json.substring(1); // supprime l'éventuel 1er double quote qui encadre la donnée
  return Json.toFloat();  // lit et retourne le float (ou 0.0f si les premiers caracteres ne représente pas un numérique), la lecture du float s'arrêtera sur tout caractères autre qui +-[0..9]E
}



RE: Plus d'accès aux données de la passerelle Enphase Envoy - Ploufdanlo - 22-06-2026

(Aujourd’hui, 11:32 AM)F1ATB a écrit : Publication de la version 17.22 :
- Réécriture source Enphase pour s'adapter à la version D8.3.5528. Merci à rdsoft30 et les nombreux autres participants pour s'adapter à la nouvelle version.
- Fourniture dans le message Source externe des tensions et courants pour la variante du programme adaptée aux Véhicules Electriques

Un grand merci à tous les membres du forum qui ont travaillé pour trouver une solution à la modification de l'API d'Enphase.
N'hésitez pas à faire des retours pour améliorer si besoin.

Cordialement
André / F1ATB

Maj installée par OTA.

Pour moi ca fonctionne bien 

Je suis en D8.3.5528 en monophasé et j'avais perdu la connexion suite à la mise à jour. Je suis revenu  à un fonctionnement normal.

Merci à tous