Forum eedomus
https://forum.eedomus.com/

[Résolu] Panneaux solaire avec Enphase
https://forum.eedomus.com/viewtopic.php?f=14&t=7717
« Précédent  Page 10 sur 15  Suivant »
Auteur:  lancevo7 [ 07 Juin 2023 10:39 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

jack a écrit:
lancevo7 a écrit:
qwench a écrit:Bonjour
Si je mets l'url http://192.168.0.xxx/production.json dans mon navigateur, j'obtient un json complet et détaillé, même sans ajouter de token:

Code : Tout sélectionner
{
  "production": [
    {
      "type": "inverters",
      "activeCount": 8,
      "readingTime": 1685693149,
      "wNow": 2005,
      "whLifetime": 5744476
    },
    {
      "type": "eim",
      "activeCount": 1,
      "measurementType": "production",
      "readingTime": 1685693351,
      "wNow": 2005.743,
      "whLifetime": 5784894.885,
      "varhLeadLifetime": 0.002,
      "varhLagLifetime": 2106444.785,
      "vahLifetime": 7705762.107,
      "rmsCurrent": 8.64,
      "rmsVoltage": 699.201,
      "reactPwr": 137.99,
      "apprntPwr": 2013.779,
      "pwrFactor": 1.0,
      "whToday": 4271.885,
      "whLastSevenDays": 131150.885,
      "vahToday": 5550.107,
      "varhLeadToday": 0.002,
      "varhLagToday": 1475.785
    }
  ],
  "consumption": [
    {
      "type": "eim",
      "activeCount": 1,
      "measurementType": "total-consumption",
      "readingTime": 1685693351,
      "wNow": 221.202,
      "whLifetime": 15744004.769,
      "varhLeadLifetime": 3067396.202,
      "varhLagLifetime": 9575945.571,
      "vahLifetime": 22576142.686,
      "rmsCurrent": 0.836,
      "rmsVoltage": 699.316,
      "reactPwr": -495.147,
      "apprntPwr": 584.31,
      "pwrFactor": 0.38,
      "whToday": 2449.769,
      "whLastSevenDays": 59163.769,
      "vahToday": 6631.686,
      "varhLeadToday": 3057.202,
      "varhLagToday": 1530.571
    },
    {
      "type": "eim",
      "activeCount": 1,
      "measurementType": "net-consumption",
      "readingTime": 1685693351,
      "wNow": -1784.541,
      "whLifetime": 13962600.848,
      "varhLeadLifetime": 3067396.201,
      "varhLagLifetime": 7469500.786,
      "vahLifetime": 22576142.686,
      "rmsCurrent": 7.804,
      "rmsVoltage": 699.431,
      "reactPwr": -357.157,
      "apprntPwr": 1819.589,
      "pwrFactor": -0.98,
      "whToday": 0,
      "whLastSevenDays": 0,
      "vahToday": 0,
      "varhLeadToday": 0,
      "varhLagToday": 0
    }
  ],
  "storage": [
    {
      "type": "acb",
      "activeCount": 0,
      "readingTime": 0,
      "wNow": 0,
      "whNow": 0,
      "state": "idle"
    }
  ]
}



Moi je dois mettre le token, il me le demande, apres j'ai le resultat


C'est parce que Qwench tu dois avoir une session d'ouverte avec tes mots de passe enregistrés dans ton navigateur

Sur ce lien https://support.enphase.com/s/question/0D53m00008vPvHLCA0/access-iq-gateway-through-curl-commands-with-tokenauthentication-only-allowed-for-some-urls-not-all-urls-giving-401-authorization-required-error-message, d'autres utilisateurs mentionnent le fait que certaines adresses marchent avec le token et d'autre non par la call d'API.
Il est écrit qu'il faut utiliser les cookies pour que cela marche.
J'ai fait les test et cela marche avec http://192.168.0.xxx/production.json

Voilà ce que j'ai fait :
1. je me connecte sur le navigateur avec le token sur l'adresse http://192.168.0.xxx/production.json
2. Aller dans les outils de développeur du navigateur (appuyer sur F12) puis onglet application puis dans storage aller dans cookie, repérer l'adresse de la passerelle.
3. récupérer sur la droite le nom dans la colonne "name" et la valeur dans la colonne "value"
Capture-cookie.PNG

4 ajouter dans le code du script eedomus dans le code du httpquery le cookie :
Code : Tout sélectionner
$request       = httpQuery($url, $action = 'GET', $post = NULL, $oauth_token = NULL, $headers = array("Authorization: Bearer eyJraWQ.......etc......"[b][u], "cookie: nom_du_cookie=valeur_du_cookie"[/u][/b]), $use_cookies = false, $ignore_errors = true);


cela marche mais j'imagine que dès que je vais fermer mon navigateur, le cookie sera supprimé et cela ne marchera plus
Est-ce que quelqu'un sait comment récupérer un cookie en script pour pouvoir automatiser ?



interressant, ce qui est fou c'est que le token fonctionne, la page json donne l'info, mais le script eedomus renvoi 0
Auteur:  jack [ 09 Juin 2023 13:57 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

3 jours après, cela marche toujours et j'ai fermé mon navigateur et éteins mon PC...
Auteur:  lancevo7 [ 09 Juin 2023 14:37 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

jack a écrit:3 jours après, cela marche toujours et j'ai fermé mon navigateur et éteins mon PC...


Hello, bizarre sur ta syntax il me dit que ca merde au niveau guillemet et du coup il veut pas du script
Auteur:  jack [ 09 Juin 2023 15:04 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

je voulais mettre en gras et italique les ajouts dans le code mais cela a rajouté les balises [b][u] dans le code. Bref, le code est le suivant :
Code : Tout sélectionner
$request       = httpQuery($url, $action = 'GET', $post = NULL, $oauth_token = NULL, $headers = array("Authorization: Bearer eyJraWQ.......etc......", "cookie: nom_du_cookie=valeur_du_cookie"), $use_cookies = false, $ignore_errors = true);
Auteur:  slurt [ 28 Juin 2023 17:31 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

Bonjour,

Malgré toutes vos indications, je persiste à avoir la valeur 0 comme retour...
j'ai bien changé la ligne 239, mis le token, le nom du cookie sessionId = b2U...

bref je suis un peu perdu !
Auteur:  slurt [ 01 Juil 2023 18:58 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

J'ai trouvé ! Ligne 238, il faut mettre https et çà semble fonctionner ! A voir sur la durée !
Auteur:  lancevo7 [ 03 Juil 2023 09:29 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

slurt a écrit:J'ai trouvé ! Ligne 238, il faut mettre https et çà semble fonctionner ! A voir sur la durée !



Hello du coup tu peux donner ta ligne complete ?
Auteur:  slurt [ 03 Juil 2023 10:11 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

du coup ca fait aux lignes 238-239 :

Code : Tout sélectionner
$url           = 'https://'.$address_envoy.'/production.json';
$request       = httpQuery($url, $action = 'GET', $post = NULL, $oauth_token = NULL, $headers = array("Authorization: Bearer eyJra...etc...", "cookie: sessionId : gHS8...etc..."), $use_cookies = false, $ignore_errors = true);
Auteur:  slurt [ 03 Juil 2023 10:20 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

Par contre, le widget ne fonctionne pas correctement :

Image

L'export/import fonctionne bien mais il n'y a rien pour les panneaux ou la maison. (pour la batterie, c'est surement normal, je n'en ai pas !)
Auteur:  lancevo7 [ 03 Juil 2023 10:26 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

slurt a écrit:Par contre, le widget ne fonctionne pas correctement :

Image

L'export/import fonctionne bien mais il n'y a rien pour les panneaux ou la maison. (pour la batterie, c'est surement normal, je n'en ai pas !)



Tu as mis le code avec le cookies du coup ou c'est pas necessaire
Auteur:  slurt [ 03 Juil 2023 10:29 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

Oui dans le code que j'ai mis avant, il faut remplacer les parties où j'ai mis ...etc... donc le token et le cookie
Auteur:  merguez07 [ 03 Juil 2023 19:20 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

slurt a écrit:Par contre, le widget ne fonctionne pas correctement :

Image

L'export/import fonctionne bien mais il n'y a rien pour les panneaux ou la maison. (pour la batterie, c'est surement normal, je n'en ai pas !)


Bonjour , le Widget va chercher les informations sur les différents devices mais il faut que ces derniers contiennent, dans leur noms, a minima les textes suivants

"Etat des batteries"
"Energie stockée"
"P échangée"
"Nb de batteries"
"P import/export"
"P réelle de production"
"Production journalière"
"Consommation journalière"
"P consommée"
"Consommation journalière"
"Consommation sur 7 jours"

Cordialement
Auteur:  lancevo7 [ 05 Juil 2023 06:56 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

yes ca marche !
en effet le https a permet l'affichage
Auteur:  lancevo7 [ 05 Juil 2023 08:25 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

slurt a écrit:Par contre, le widget ne fonctionne pas correctement :

Image

L'export/import fonctionne bien mais il n'y a rien pour les panneaux ou la maison. (pour la batterie, c'est surement normal, je n'en ai pas !)


dans le script raccourcie les mot ici pour eviter les accents


Code : Tout sélectionner
    foreach ($api_child as $api){
       $a=getValue($api);
       if (strpos($a["full_name"],"% de charge")              !==false)         $pourcent_batteries  = $a["value"]."%";
       if (strpos($a["full_name"],"Etat des batteries")       !==false)         $State_batteries     = $a["value"];
       if (strpos($a["full_name"],"Energie stockée")          !==false)         $W_Charge_batteries  = round($a["value"])."Wh";
       if (strpos($a["full_name"],"P échangée")               !==false)         $P_Charge_batteries  = round(abs($a["value"]))."W";
       if (strpos($a["full_name"],"Nb de batteries")          !==false)         $Nb_batteries        = $a["value"];
       if (strpos($a["full_name"],"P import/export")          !==false)         $P_import_mes        = $a["value"];
       if (strpos($a["full_name"],"de production")   !==false)         $P_onduleurs_mes     = round($a["value"])."W";
       if (strpos($a["full_name"],"Production journali")   !==false)         $W_prod_j_mes        = round($a["value"])."Wh";
       if (strpos($a["full_name"],"Consommation journali") !==false)         $W_conso_j_mes       = round($a["value"])."Wh";
       if (strpos($a["full_name"],"P consomm")              !==false)         $P_conso_mes         = round($a["value"])."W";
       if (strpos($a["full_name"],"Consommation journali") !==false)         $W_consoJ            = "Wj=".round($a["value"])."Wh";
       if (strpos($a["full_name"],"Consommation sur 7 jours") !==false)         $W_conso7J           = "W7j=".round($a["value"])."Wh";
    }

    if
Auteur:  slurt [ 05 Juil 2023 15:12 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

En effet, c'est bien les lettres accentuées qui posaient problème !
Auteur:  nitro62210 [ 07 Juil 2023 12:05 ]
Sujet du message:  Re: [EN cours] Panneaux solaire avec Enphase

Bonjour
Depuis ce matin , les informations des onduleurs ne remonte plus sur la box Eedomus ,et ducoup plus aucune information...
J'ai reboot les panneaux et la Eedomus
pas d'actualiation
J'ai desinstallé Enphase de la eedomus et reinstallé via le store
tjr aucune remonté des informations.

quand je fait le test de la requete il indique :
Résultat XPath :
ERREUR: Valeur lue vide

URL LAN : http://192.168.1.12/script/?exec=envoy_ ... ule_id=***
***=caché pour le forum


une idée sur le probleme ?

cdt

Capture.PNG
Eedomus
Capture.PNG (111.4 Kio) Consulté 2718 fois
Auteur:  Julian40 [ 07 Juil 2023 15:13 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

Hello,

Comme moi je pense que tu as eu ce matin la mise à jour du Firmware en version 7...
bienvenue au Token...

Du coup, j'essaye de mettre à jour le script comme indiqué dans les messages ci dessus, mais à chaque fois que je veux sauvegarder, j'ai droit au message ci dessous (et rien ne se sauvegarde...) :

"Veuillez vous connecter à votre compte eedomus au préalable
Retourner à votre page de scripts eedomus"

Merci par avance pour votre aide.
Auteur:  Julian40 [ 07 Juil 2023 15:19 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

Julian40 a écrit:Hello,

Comme moi je pense que tu as eu ce matin la mise à jour du Firmware en version 7...
bienvenue au Token...

Du coup, j'essaye de mettre à jour le script comme indiqué dans les messages ci dessus, mais à chaque fois que je veux sauvegarder, j'ai droit au message ci dessous (et rien ne se sauvegarde...) :

"Veuillez vous connecter à votre compte eedomus au préalable
Retourner à votre page de scripts eedomus"

Merci par avance pour votre aide.



Quand j'exécute le script avant de sauvegarder, j'ai le message ci dessous :

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<ENPHASE>
<cached>1</cached>
<ETAT> ok </ETAT>
<NB_ONDULEURS>4</NB_ONDULEURS>
<P_ONDULEURS_CALCULEE>570</P_ONDULEURS_CALCULEE>
<P_ONDULEURS>602.74</P_ONDULEURS>
<PRODUCTION_J>7636.19</PRODUCTION_J>
<PRODUCTION_7J>46454.19</PRODUCTION_7J>
<P_CONSOMMATION>491.01</P_CONSOMMATION>
<CONSOMMATION_J>5271.58</CONSOMMATION_J>
<CONSOMMATION_7J>55979.58</CONSOMMATION_7J>
<P_IMPORT_RESEAU>-111.72</P_IMPORT_RESEAU>
<NB_BATTERIES>0</NB_BATTERIES>
<P_CHARGE_BATTERIES>0</P_CHARGE_BATTERIES>
<ENERGIE_STOCKEE>0</ENERGIE_STOCKEE>
<ETAT_BATTERIES>idle</ETAT_BATTERIES>
<POURCENT_CHARGE/>
</ENPHASE>

Merci par avance pour votre aide
Auteur:  Julian40 [ 07 Juil 2023 16:03 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

Bon et bien ça a fini par le prendre, les valeurs sont revenues.

Merci en tout cas pour votre aide grâce aux détails du script à mettre à jour.
Auteur:  jack [ 07 Juil 2023 16:07 ]
Sujet du message:  Re: [Résolu] Panneaux solaire avec Enphase

"Veuillez vous connecter à votre compte eedomus au préalable
Retourner à votre page de scripts eedomus"

C'est "normal". Il faut se connecter sur secure.eedomus.com avant de revenir sur IP_eedomus/script
et ensuite tu pourras sauveragder normalement
Mais il fait faire tout cela vite car si tu attends 1 min alors tu es déconnecté et tu as encore le message... :cry:
Page 10 sur 15 Le fuseau horaire est UTC+1 heure