Enphase - Envoy - Script - Json Node-Red

Tags: #<Tag:0x00007f242fefdd78>

vous pouvez me mettre un résultat de ça pour voir si il y a des différence svp :
http://adresseenvoy/api/v1/production/inverters
vous pouvez faire un screen pour effacer les numéros de séries

[
  {
    "serialNumber": "121734049xxx",
    "lastReportDate": 1577706684,
    "devType": 1,
    "lastReportWatts": 8,
    "maxReportWatts": 40
  },
  {
    "serialNumber": "121802045xxx",
    "lastReportDate": 1577706688,
    "devType": 1,
    "lastReportWatts": 8,
    "maxReportWatts": 40
  },
  {
    "serialNumber": "121734042xxx",
    "lastReportDate": 1577706681,
    "devType": 1,
    "lastReportWatts": 9,
    "maxReportWatts": 41
  },
  {
    "serialNumber": "121802044xxx",
    "lastReportDate": 1577706687,
    "devType": 1,
    "lastReportWatts": 7,
    "maxReportWatts": 40
  },
  {
    "serialNumber": "121802045xxx",
    "lastReportDate": 1577706690,
    "devType": 1,
    "lastReportWatts": 9,
    "maxReportWatts": 41
  },
  {
    "serialNumber": "121910033xxx",
    "lastReportDate": 1577706700,
    "devType": 1,
    "lastReportWatts": 188,
    "maxReportWatts": 208
  },
  {
    "serialNumber": "121905008xxx",
    "lastReportDate": 1577706698,
    "devType": 1,
    "lastReportWatts": 52,
    "maxReportWatts": 205
  },
  {
    "serialNumber": "121910032xxx",
    "lastReportDate": 1577706703,
    "devType": 1,
    "lastReportWatts": 59,
    "maxReportWatts": 215
  },
  {
    "serialNumber": "121910032xxx",
    "lastReportDate": 1577706709,
    "devType": 1,
    "lastReportWatts": 196,
    "maxReportWatts": 212
  },
  {
    "serialNumber": "121910033xxx",
    "lastReportDate": 1577706700,
    "devType": 1,
    "lastReportWatts": 195,
    "maxReportWatts": 208
  },
  {
    "serialNumber": "121910032xxx",
    "lastReportDate": 1577706709,
    "devType": 1,
    "lastReportWatts": 34,
    "maxReportWatts": 216
  },
  {
    "serialNumber": "121910033xxx",
    "lastReportDate": 1577706707,
    "devType": 1,
    "lastReportWatts": 196,
    "maxReportWatts": 210
  },
  {
    "serialNumber": "121910032xxx",
    "lastReportDate": 1577706705,
    "devType": 1,
    "lastReportWatts": 141,
    "maxReportWatts": 212
  },
  {
    "serialNumber": "121910033xxx",
    "lastReportDate": 1577706703,
    "devType": 1,
    "lastReportWatts": 195,
    "maxReportWatts": 206
  },
  {
    "serialNumber": "121905008xxx",
    "lastReportDate": 1577706695,
    "devType": 1,
    "lastReportWatts": 151,
    "maxReportWatts": 202
  },
  {
    "serialNumber": "121734049xxx",
    "lastReportDate": 1577706684,
    "devType": 1,
    "lastReportWatts": 9,
    "maxReportWatts": 42
  },
  {
    "serialNumber": "121802044xxx",
    "lastReportDate": 1577706688,
    "devType": 1,
    "lastReportWatts": 7,
    "maxReportWatts": 39
  },
  {
    "serialNumber": "121802045xxx",
    "lastReportDate": 1577706692,
    "devType": 1,
    "lastReportWatts": 11,
    "maxReportWatts": 42
  },
  {
    "serialNumber": "121802045xxx",
    "lastReportDate": 1577706694,
    "devType": 1,
    "lastReportWatts": 8,
    "maxReportWatts": 41
  },
  {
    "serialNumber": "121802044xxx",
    "lastReportDate": 1577706685,
    "devType": 1,
    "lastReportWatts": 10,
    "maxReportWatts": 42
  },
  {
    "serialNumber": "121802045xxx",
    "lastReportDate": 1577706690,
    "devType": 1,
    "lastReportWatts": 9,
    "maxReportWatts": 42
  },
  {
    "serialNumber": "121802045xxx",
    "lastReportDate": 1577706694,
    "devType": 1,
    "lastReportWatts": 9,
    "maxReportWatts": 41
  }
]

Mais de mon coté mon script fonctionne trés bien …

oui mais toi sur le script tu va directement chercher l’information du nombre de panneaux dans le production.json dans le enphase_prod il compte le nombre de panneaux par rapport a cette page en comptant le nombre de données $nbrpan = count($json_data); du coup je suis en train de voir pour le faire différement

si tu exécute ceci dans un php en ssh sur ton jeedom, tu l’exécute avec php lenomdetonfichier.php en modifiant l’adresse et le login ca te donne quoi :

<?php
$ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'ADRESSE/api/v1/production/inverters');
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
        curl_setopt($ch, CURLOPT_USERPWD, 'envoy' . ":" . 'MDP');
        $response = curl_exec($ch);
        curl_close($ch);

        $json_data = json_decode($response, true);
        $nbrpan = count($json_data);
        echo($nbrpan);

sans le faire je suppose que ca va me donner 22 :slight_smile:

px

ben justement c’est ce que je veux savoir vu que le plugin enphase_prod ne t’en donne que 4. Si le bout de code que je te donne, donne toujours 4 c’est un problème sur ton jeedom si il te donne les 22 va falloir ajouter des lignes dans la log parce que je ne comprend plus

Il manque pas quelque chose a ton script php ?

le tag <?php est ouvert mais pas fermé

Dans tout les cas çacap fonctionne et le résultat de ton script est bien 22

je comprend pas pourquoi ca vous met 4 dans le plugin enphase_prod alors c’est exactement cette commande qui est utilisée

En plus les données des panneaux ne correspondent a rien …

31

si tu redémarre le demon et que tu refait sauvegarder dans le plugin ca fait toujours pareil ?
Est ce que tu as le bon MDP dans les paramètre parce que je vois qu’il ne te récupère pas non plus les info numéro de série

tu es sous quelle version de jeedom ?

V4
je viens de refaire la manip rien de plus ce qui est bizard c’est que les commandes sont présente il y a bien 22 commande pour chaque infos paneaux

ah je comprend mieux

Ne serait’il pas plus simple et honnête de dire que ce plugin ne fonctionne pas en V4 officiel et beta !

oui actuelement c’est le cas mais j’ai apporté des modifications pour qu’il fonctionne en V4 mais la personne qui a créer le plugin ne l’a pas publié

Pourquoi tu ne publie pas le tiens dans ce cas ?

ben c’est pas moi qui l’ai créer je lui ai envoyer les modifs mais il ne l’a pas publié, je ne fait que donner un coup de main en plus de m’initier a la programmation, mais au final j’ai plus avancé que le créateur mais bon je peux non plus le spolier

Bonsoir,

Merci pour vos réponses.

@freeman32
Je suis avec la version prod stable et V4 pour Jeedom
J’ai une box enphase S-metered pour info.

@olive
J’ai vu votre script, mais pour le moment je ne maîtrise pas trop les scripts dans Jeedom (ou écrire, comment les lancer etc…)

@Vandoule
Je crois que nous sommes dans la même situation (box S-metered et appli enphase avec beaucoup d’infos :slight_smile: ) et nous souhaitons récupérer toutes ces infos sous Jeedom, avez-vous pu avancer pour récupérer ces informations ?

Cordialement

Salut Livyo
pour le 1er ecran (tout en haut du fil il n’y a pas de script en soit
Il te faut avoir installer le plugin script
puis créer simplement les commandes comme indiquer sur le 2ième ecran
la seule chose que tu doit modifier dans cet ecran est l’adresse de ta passerelle envoy…

voilà fait déjà cette partie et reviens ici si problèmes.

Je peut te guider pour la suite aprés :wink: