Enphase - Envoy - Script - Json Node-Red

Salut @Emlivyo
Pour moi le plugin script n’est pas fait pour faire du traitement de texte. Il est capricieux.
Perso je n’affiche pas le script sur le dashboard. Je passe par un scénario déclenché toutes les minutes qui pioche les valeurs du script et du TIC linky pour avoir un affichage propre et global dans un virtuel synthese. De cette manière tu peux tout paramétrer dans ton scénario y compris les arrondis et calcul avec « event »

Bonjour à tous

Me revoilà…

J’ai enfin réussi à obtenir de mon compteur Linky qu’il puisse me délivrer au travers de son TIC les valeurs d’injections du surplus dans le réseau EDF.

Par contre ne soyer pas pressé, ma demande auprès d’EDF pour le passage en mode producteur date de 3 semaines. Mon TIC est donc passé en mode production à minuit hier

Je vous confirme donc que nous avons bien les nouvelles valeurs que nous attendions impatiemment pour compléter notre besoin manquant sur l’API Enphase pour nos reventes de surplus donc l’injection dans le réseau.

Ces valeurs sont remontes automatiquement dans Jeedom. Ne pas coché pour cela la case « Bloquer la création automatique des compteurs » dans « configuration »

Voila donc ce qui apparaît et qui nous intéresse pour la revente

SINSTI Puissance instantanée injectée
EAIT Index injection
Injection jour
Injection jour -1
Puissance Max injectée

ATTENTION: Pour pouvoir obtenir ces valeur il faut impérativement avoir:

« VTIC » : Un version du TIC sur « 2 » Mode Standard et non historique « 1 » (ex compteur bleu)

« STGE »: informations sur la version du TIC Linky

STGE vous donne une valeur en hexadécimal. Il faut convertir ce chiffre en binaire. Le BIT 8 doit être sur 1 ce qui signifie que vous êtes bien en mode producteur d’énergie. Si le bit 8 est sur 0 vous êtes toujours en mode « consommateur ». donc pas de valeur d’injection.

exemple:

Mon STGE avant 003AC401 Q
003AC401 = 1110101100010000000001 le 8eme est à 0 donc pas déclarer en producteur, il faut leur demander de faire ce changement.

Mon STGE depuis hier
003A8100 = 1110101000000100000000 le 8eme est à 1 donc déclarer en producteur

voila un lien de convertisseur
http://sebastienguillon.com/test/javascript/convertisseur.html
Coller votre valeur STGE dans le champs du milieu

Attention on compte de droite à gauche et on commence par le bit 0

Je profite de ce post pour remercier une nouvelle fois Nicolas de Cartelectronic qui m’a expliqué ce point non négligeable.

Normalement en combinant ces informations avec nos recherches précédent sur « Enphase » dans ce post initialement lancé par @olive je pense que nous avons maintenant toutes les informations nécessaires pour piloter nos installations d’autoconsommation avec vente du surplus.

Voila. Il ne vous reste plus qu’a demander à « EDF Production » de vous passez en mode « Producteur » et d’avoir un peu de patience.

Merci de ce retour @Vandoule

Salut juste pour savoir tu l’a bien fait sur ton compteur linky qui alimente aussi ton habitation ? A que endroit a tu contacter EDF pour faire la démarche ?

Bonjour @freeman32

Oui je te confirme. Linky habitation
Appeler le service Producteur voila le numéro. 0969321800. Faire le choix serveur vocal numero 2
Demander le mode producteur et standard. Bien insister sur producteur Voir mon post plus haut.
Et attendre !! Et relancer.
Voila ce que ça donne pour moi a l’instant T.
Comme expliqué plus haut on a maintenant toutes nos infos souhaitées en complément de celles d’Emphase pour gérer la production solaire.
A ta dispo si besoin

Screenshot_20200316-142353_ImperiHome|590x368

Super mais il sont en confinement depuis ce matin il va faloir attendre.

Moi il mon planté mon compte normal et je peut refaire le compte mais pas ajouter de compteur

Pas faut !!!
Ca tombe mal, puisque nous allons avoir du temps pour peaufiner nos installent Jeddom…
C’est ballot !!

Bonjour @olive

J’espère que tu vas bien

Petite question pour laquelle je suis certain que tu vas pouvoir m’aider

Le plugin enphase_prod ne me sert que pour recupere la puissance par panneau puisque les autres info se font via plugin script.
Depuis queques jours le plugin enphase_pro ne se met plus à jour automatiquement
Il n’a pas de cron donc pas possible de forcer sa mise à jour.
Un scénario rafraîchissement ne fonctionne pas non plus. Visiblement pas prévu.
La seule solution que j’ai trouvé c’est de générer un « visible » via mon scénario minute cela génére automatiquement un enregistrement du plugin et la sa fonctionne bien. Les info se mettent à jour toutes les minutes. Même si ça fonctionne comme ça, cela fait un peu bidouille
Y a til une solution plus propre via un script par exemple ?
Merci pour ton aide

Yes je ne me sert absolument pas de enphase pour récuperer les infos des panneaux c’est du script panneau par panneau

l’ip est l’ip de la machine sur laquelle tourne le script ci-dessous

#!/usr/bin/python

import time
import os
import json
import requests
from requests.auth import HTTPDigestAuth
import pprint
import sys

def question_envoy():
    EnvoyBaseURl = 'http://ippasserelle'
    envoyPWD = 'motdepasseenvoy' 
    envoyuser = 'utilisateur'
    
    headers = {'cache-control': 'max-age=0, no-cache'}
    
    envoyUrl = EnvoyBaseURl + '/api/v1/production/inverters'
    
    resp = requests.get(envoyUrl,auth=HTTPDigestAuth(envoyuser,envoyPWD), headers=headers)
    
    if resp.status_code == requests.codes.ok:
       print('ca marche')
       reponse = str(resp.text)
       print ('reponse OK')
       
    else:
        print('ca marche pas')
        reponse=''
        
    print('fin')
    return reponse



#***********************DEBUT DU MODE SERVEUR*******************************

import socket


s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 8085))
s.listen(5)
print('Attente de connection ...')

while True:
    try:
      conn, addr = s.accept()
      reponse = question_envoy()
      print('Connection de %s' % str(addr))
      request = conn.recv(1024)
      request = str(request)

      conn.send('HTTP/1.1 200 OK\n')
      conn.send('Content-Type: text/html\n')
      conn.send('Connection: close\n\n')

      #reponse='Salut Francky'

      conn.sendall(reponse)
      conn.close()
      print('Fermeture de %s' % str(addr))
      print('Attente de connection ...')
    except KeyboardInterrupt:
      print('interruption clavier')
      sys.exit()

il te faudra lancer au démarage de la machinne qui supporte ce script
et ajuster les paramètres suivant:
EnvoyBaseURl = ‹ http://ippasserelle ›
envoyPWD = ‹ motdepasseenvoy ›
envoyuser = ‹ utilisateur ›

résultat :

Bonjour messieurs,

Au final @Vandoule, j’ai suivi ce qu’avait fait @olive et je récupère tout par script et je n’utilise plus le plugin enphase:

Désolé mes captures sont moins belles que vous :frowning:
Capture2

Cela me donne ca en historique et ca me va très bien:

J’aimerais faire des calculs sur ces valeurs pour retrouver l’info d’import/export journalier qui est dispo dans l’appli mais pas dans les fichiers JSON:

Mais pas eu de retours pour le moment, @olive si tu as une idée, n’hésites pas :slight_smile:.

Il me manque que ces calculs mais j’ai déjà ce qu’il me faut grâce au script (encore merci @olive)

A+

Attention livyo ce dont je parle au dessus permet d’avoir simplement le détail par onduleur a l’aide de api/v1/production/inverters.
et pour ta question j’avait vu ton post mais j’ai pas vraiment d’idée …

Oui j’ai bien vu @olive, j’expliquais « juste » à @Vandoule comment je procède au final sans le plugin enphase avec le plugin script dont tu avais parlé au début de ce fil de discussion.
Dommage si tu n’as pas d’idées pour mes calculs…

Je viens de vérifier mes deux version V3 et V4 elle se mettent a jour toute les deux si jamais essaie de redémarrer le deamon, et le plugin n’a pas de cron parce que sinon il ne ferais un relever seulement toute les minutes au lieu de toute les 10s au minimum

Ok @freeman32 pas pensé. Merci
@olive je vais regarder pour mettre ton scipt des que je sort du taf merci dailleurs et le dispenser totalement de enphase_pro
@Emlivyo pour ton injection si tu as un linky se serai plus simple de demander à edf de te passer en pro comme je l’explique plus haut dans ce fil pour récupérer tes valeurs

ok n’hésite pas si c’est pas clair qq part

ok merci a toi

Salut @olive

Jai essaye de mettre en œuvre ton scrip pour récupérer mes onduleurs mais je t’avoue que je patauge avec cette procédure réalisation de script qui m’échappe.
Ca fonctionne pas il m’affiche des erreurs. Multiplie le code. Bref des truc s bizarres que je ne maîtrise pas mais qui m’intéresse bigrement d’essayer Je suis donc à la ramasse
Pourrais tu soit faire un tuto un peu plus détaillé dans les actions à suivre les unes derrière les autres ou sinon on se cale en MP si tu préfères e pas polluer ce fil car la on est plus dans le cours de scrip :laughing: merci pour ton aide

Merci à toi

ok
1 a tu remis les paramètres de ta passerelle dans le script ?
2 a tu donner des droits d’execution au script chmod 777 fichierscript.py
3 arrive tu dans une console a lancer ./fichierscript.py

une fois lancé ne ferme pas la console

ouvre un navigateur et vérifie qu’il n’y a pas d’erreur tu doit voir a peut prés ca

ce script est un micro serveur web qui d’un coté interroge ta passerelle et de l’autre renvoi du json sur une requette http.

si ca ca fonctionne c’est cette adresse que tu doit utiliser dans ton plugin-script

Bonjour juste pour vous prévenir que depuis hier mes infos de production remonte par mon téléinfo, et je n’ai même pas appelé EDF pour le faire, j’ai reçu un relevé d’injection de mon compteur, est ce que ENEDIS aurai activer le mode producteur en même temps que le relevé ? bonne question en tous cas belle surprise hier :slight_smile: