Note de ce sujet :
  • Moyenne : 5 (4 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Plus d'accès aux données de la passerelle Enphase Envoy
(Aujourd’hui, 01:02 AM)michy a écrit :
(Hier, 06:48 PM)rdsoft30 a écrit :
(Hier, 08:37 AM)algorytmix a écrit :
(Hier, 08:32 AM)rdsoft30 a écrit : Bonjour à tous,

J'ai remis un lien de la version que j'ai produite qui tourne chez moi depuis hier soir sans soucis.

Merci à tous pour ceux qui vont tester de donner un retour ici ;-)

Le bon lien : https://drive.google.com/drive/folders/1...sp=sharing

A+

ne marche pas en triphasé mais fonctionne effectivement depuis hier soir

(Hier, 06:30 PM)michy a écrit : Bonjour,

  très difficile de gérer les corrections par itération à distance (et c'est fête de la musique Aujourd'hui, donc d'autres occupations ...)

  Je partage le code actuel (en utilisant httpClient qui est natif dans l'ecosystem espressif, ça permet de passer le stream réseau à ArduinoJson sans stockage du paquet entre 10 et 15 ko)
  Surpression et correction dans le fonction interne de parsing du JSON (qui ne sont plus utilisé pour la source enphase)



  si quelqu'un veut continuer l'évolution dans cette direction ... (il y a quelques suppression de variables global a faire : clientSecure, clientFirmV5 ...)
  le code en utilisant httpClient peut être déployé sur d'autre source aussi (et tempoRTE) [Solution plus fiable que la gestion de client.available, timeout, de stop et traitement octet par octet du retour]

  La fin du code pour Enphase c'est d'interpréter les données contenues dans le Json, je ne peux pas la faire n'ayant pas de passerelle (le principe de filtrage mit en place est bon, il faut peut être ajuster ce qu'on souhaite conserver du JSON d'origine)

Salut michy,

Je ne comprends pas pourquoi vous voulez recalculer quelque chose qui est déjà donné par la passerelle Enphase ! La tension et courant et autres infos cumulées de toutes les phases sont déjà disponibles.

Peux tu me dire ce que tu penses de l'explication que je donne sur le décodage de la trame JSON dans le post #229 (https://f1atb.fr/forum_f1atb/thread-2795...l#pid24994) ?

Merci à toi.
A+

En fait le routeur a besoin d'une unique information (la puissance en watt / combinaison des 3 phases en triphasé), le reste n'est que annexe pour remonté sur l'affichage ou par mqtt

Si on considère que le routeur affiche uniquement une tension et une intensité (Sur la page données brute), je préfère afficher une tension et une intensité moyenne que 700 volts et une intensité qui est plus près du triple de ce qui se passe sur une phase / si en triphasé on passe sur un affiche individuel par phase , le calcul /3 n'a plus lieu d'être

En triphasé, dans le bloc échange avec Enedis, on a une valeur dans le bloc d'entête (dans les 700 volt) + dans chaque sous bloc channels, l'info par Phase.
dans le routeur, il y a les variables Tension_M,  Tension_M1,  Tension_M2,  Tension_M3  je charge chaque variable avec une valeur cohérente (pas 700V pour Tension_M mais une moyenne 700/3, qui sera affiché sur la page données brutes) 

Pareil pour Intensite_M et le facteur de puissance

pas d'autres calcul dans le code ...

dans le bloc échange avec Enedis, version réduite a quelques paramètres :
sur une trame en triphasé :
{
        "eid": 704643584,
        "activePower": -1564.87, // Ce paramètre est le seul important utilisé par le routeur pour faire du routage (triphasé ou monophasé)
        "pwrFactor": -0.964, // lui pas besoin de divisé par 3 ça semble être une pondération correcte
        "voltage": 692.84,  // en divisant par 3 on a le tension moyenne monophasé affecté a variable Tension_M
        "current": 6.956,   // en divisant par 3 on a l'intensité moyenne par phase
        "freq": 50.125,  // identique pour chaque phase
        "channels": [
            {
                "eid": 1778385425,
                "activePower": -390.965, // utilisable par l'équipe charge VE pour tirer la puissance maxi possible en fonction d'un plafond
                "pwrFactor": -0.946,
                "voltage": 231.828, //  affecté a variable Tension_M1
                "current": 1.737,
            },
            {
                "eid": 1778385426,
                "activePower": -624.625, // utilisable par l'équipe charge VE pour tirer la puissance maxi possible en fonction d'un plafond
                "pwrFactor": -0.966,
                "voltage": 230.502,  // affecté a variable Tension_M2
                "current": 2.792,
             },
            {
                "eid": 1778385427,
                 "activePower": -549.281, // utilisable par l'équipe charge VE pour tirer la puissance maxi possible en fonction d'un plafond
                "pwrFactor": -0.974,
                "voltage": 230.511, //  affecté a variable Tension_M3
                "current": 2.427,
            }
        ]
    },


sur une trame en monophasé
    {
        "eid": 704643584,
        "activePower": 1154.149,   // Ce paramètre est le seul important utilisé par le routeur pour faire du routage (triphasé ou monophasé), en monophasé, petite dérive possible dû au bruit de mesure
        "pwrFactor": -0.024, // non représentatif
        "voltage": 245.58,  // en monophasé, reprend les 3 phases avec un petit écart parasite, dû au bruit de mesure
        "current": 5.309,
        "freq": 50.062,  // peut importe si c'est L1 L2 ou L3 qui représente la phase active en mono, c'est cette valeur qu'il faut
        "channels": [
            {
                "eid": 1778385425,
                 "activePower": 1148.639,    // si L1 toujours la phase principale en monophasé, on utilise cette valeur, sinon il faut détecter laquelle c'est
                "pwrFactor": 0.975,   // si L1 toujours la phase principale en monophasé, on utilise cette valeur
                "voltage": 231.255,   // Si on confirme que c'est toujours les info en phase L1 qui sont représentative on utilise cette valeur
                "current": 5.099,      // si L1 toujours la phase principal en monophasé, on utilise cette valeur
            },
            {
                "eid": 1778385426,
                 "activePower": -0.0,
                "pwrFactor": -1.0,
                "voltage": 5.844, // bruit de mesure
                "current": 0.0,  // bruit de mesure
            },
            {
                "eid": 1778385427,
                 "activePower": -0.896, // bruit de mesure
                "pwrFactor": 0.0,
                "voltage": 8.497,  // bruit de mesure
                "current": 0.185,  // bruit de mesure
            }
        ]
    },

En mono, le bruit de mesure sur les 2 phases qui ne sont pas 'actives' est négligeable (d'autant plus quand on se rapproche de zéro qui est la cible du routeur)
Je prendrais la valeur de  activePower qui chapeaute les channels qu'on soit en mono ou en tri, sinon il faut identifier la section channel correspondant à la phase active en mono (espérant qua ça soit figé sur L1) pour tirer la valeur en Watt et pour le cas triphase prendre celle chapeau

comme dit plus haut les autres valeurs c'est du luxe inutilisé par le routeur, peut importe si les données sont exact ou pas ...

Salut michy,

C'est exactement ce que j'ai fait dans mon dernier code.
En Multiphases (Tri ou Bi) je prends toutes les valeurs utiles dans la section qui chapeaute les channels de la trame JSON, alors qu'en Monophasé, je prends les valeurs dans le Channel L1.
En monophasé, le bruit dont tu parles sur les section Channel L2 et L3 qui ne sont pas câblés affectent trop à mon sens la vraie mesure de la phase L1.
Il suffit de regarder la tension secteur qui passe à 245V si on prends la section qui chapeaute les channels, alors qu'en prenant la valeur de la tension dans le Channel L1, la tension est correcte de 231V.

A+
Répondre

Bonjour
Pour info, suite à mon message initial sur ce sujet (15-06-2026, 11:00 AM ) et les réponses d'enphase non pertinentes ni aidantes, j'ai réalisé pour la prises des mesures de consommation une interface reliant la prise TIC du linky à un routeur ESP 32 ethernet qui interprète et distribue les infos aux autres routeurs actionnant les relais ou triacs. (merci à F1ATP pour ses tutos!).
Je ne suis ainsi plus tributaire des màj enphase sur la passerelle.
En PJ : des photos explicatives du système.


Pièces jointes Miniature(s)
                   
Répondre

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
Répondre

Merci à tous sincèrement !
Répondre

merci a tous, je teste cette version ce soir et je vous tiens informé
Répondre

Bonjour et merci à l'ensemble des passionnés qui oeuvrent pour la communauté. je ne suis qu'un utilisateur et ne peux vous donner mon aide, cela me dépasse.
bref je viens d'installer la version 17.22 mais malheureusement cela ne fonctionne pas, je suis en tri.
par contre j'ai du mal avec la version citée, D8.3.5528, mon installation a moins d'un an et la version de l'application proposée est la 08.03.5422 du 22/06/26
   
   
Répondre

Bjr, 
17.22 ne marche pas chez moi  V8.3.5289
(Mais 16.10 modifiée par rdsoft (sans mdns), impeccable depuis qqs jours)



15H44  Yessss ! en décochant mDNS , 17.22 c'est bon, CA MARCHE (en monophasé, malgré doute sur P apparente) je retrouve les bonnes valeurs et le routage fonctionnel.
ce doit etre le mDNS qui merdoie sur ma config ( et tjrs avec V 8.3.5289: je vais peut être tenter une mise à jour auto que j'avais décochée sur toolkit !)

Serveur Telnet actif sur le port 23
Source : Enphase
Essai connexion Enlighten server 1 pour obtention session_id!
Connected to Enlighten server:enlighten.enphaseenergy.com
Connected to Enlighten server :enlighten.enphaseenergy.com
headers 1 Enlighten received
session_id :c2ec8b0b65bc0ca49f2b328f758f
session_id :c2ec8b085b85bffb65bc0ca49f2b328f758f
Essai connexion Enlighten server 2 pour obtention token!
Connected to :entrez.enphaseenergy.com
Connected to :entrez.enphaseenergy.com
Attente user est connecté
headers 2 enlighten received
Token :eyJrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
IPv6 globale: [2a01:e0a:cfc:a480:3e71:bfff:fed9:b680]


Merci  à André qui a initié ce beau projet et à toutes les contributions qui le nourrissent de cette intelligence collective.
Répondre

erreur de ma part la iq Gateway est bien en D8.3.5528
la version que j'ai cité est celle de toolkit
dans tous les cas je n'ai aucune remontée
Répondre

De mon coté , Livebox en rideau ce matin ! et plus de monitorin, il était resté au 21/06/2026

j'ai fait un reset , retrouvé mon MP d'admin livebos et relancé .
j'ai appuyé sur le bouton association sur le bloc noir de ma station Enphase
et le monitoring est réapparu de suite .( plus de led rouge sur la ligne du haut.

Je  me bat pour reconnecter l'esp32 simple qui me servait impeccable dans mon montage d'auparavant mais qui ne trouve pas le port Com3, à contrario de celui avec antenne déportée qui reconnait bien ce port Com3 ! et cela avec le même câble USB certifié data.
les drivers  Silicon lab ne s'installent pas bien sur mon W11 pro (officiel)
si cela bloque encore , j'installerais l 'esp32 avec antenne !
6 kWc - Enphase iq8hc
Enphase envoy metered
Répondre

Bravo, marche pafaitement en mono evec 17.22
Répondre



Atteindre :


Utilisateur(s) parcourant ce sujet :
Alain_C38, Matth32, Oniric, Patrick, patrickvalence, 6 visiteur(s)

Moteur MyBB, © 2002-2026 Melroy van den Berg.