Bonjour Mr. le visiteur, si vous lisez ceci, cela signifie que vous n'êtes pas enregistré. Cliquez ici pour vous inscrire en quelques étapes simples, vous pourrez profiter de toutes les fonctionnalités de notre Forum. Vous pourrez évidemment nous faire partager vos connaissances avec nous ! et voir les images ou vidéos postées


Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Intégration GROWATT SPH6000
#1
Wink 
Bonjour,

Après moultes test & tatonnements ... j'arrive a recuperer les valeurs du SPH, mais pour emmetres des ordres, PB !
Pour ce GROWATT : Protocol RS232 / IP (ELFIN) / MQTT

Pour la recuperation :
   

Je souhaiterais envoyer des ordres a l'onduleur via MQTT / MODBUS genre :
   

Merci d'avance pour votre aide.
Répondre
#2
Hello NeoTokyos ,

Alors prenons les choses les unes après les autres. J'ai besoin de ça pour comprendre.
  • C'est donc une liaison RS232 protocole Modbus.
  • Tu arrives à lire les données. Peux-tu me montrer une capture écran du setup de ton nœud Modbus
  • Idem pour ton nœud Write
  • Peux-tu me montrer les payload que tu souhaites envoyer
  • Surtout, surtout as-tu la documentation des registres que tu utilises et donc la déposer ici.
  • Je vois que dans tes flows tu utilies MQTT, as-tu configuré le Elfin pour MQTT donc ?
  • Si oui pourquoi ?

Comme tu le sais nous avons travaillé sur un SPF et non pas un SPH. Ces 2 modèles n'ont rien en commun à part le nom.
Il me semble que le SPH peut se gérer avec une intégration Solax. A vérifier pour confirmation ou pas. Si oui cela peut nous donner une base de travail.

Voilà, a toi de jouer Thumbsup
Jean-Luc
Répondre
#3
OK, alors : 

- Pour le noeud MODBUS (Read):
   
   

- Pour le noeud MODBUS (Write):
   
- Pour ce qui est des payloads, je ne sais pas gerer encore j'essaye de changer une valeur "basique pour le moment"  Blushing
       Ex : J'envoie 0 / 1 / 2 via MQTT pour changer la valeur demandé ! (dis moi si je me trompe)

- Pour la documentation MODBUS & Protocol :

.pdf   New-Modbus Protocal Latest Ver.pdf (Taille : 729.7 Ko / Téléchargements : 194)

- Pour le ELFIN : Je n'en est que sur les PYLONTECH avec HAOS, là c'est un cable RS232/USB

Pour ce qui est du raprochement avec SOLAX je ne sais pas te dire.
J'espere ne pas etre trop fouilli dans mes reponses.
Répondre
#4
Alors quelques remarques.
Dans ton Write, tu veux adresser le registre 1044. Mais si tu regardes la documentation, ce registre est en Read. Tu ne peux donc pas le changer

   

Dans le cas de registres Write c'est bien écrit W ou W / R

   

Donc j'en déduis que tu ne tapes pas au bon endroit.
De plus je ne comprends pas pourquoi tu me parles de MQTT du coup vu que tu souhaites parler directement à l'onduleur via le port série ?

On va y aller petit bout par petit bout
Jean-Luc
Répondre
#5
OH la boulette ...
Je n'avait pas vu ce detail   Gross

Le MQTT c'est pour astreindre mon onduleur / pylontech sous consignes global : Heure / Soleil / Age du Capitaine ... (bref tu as compris)
Le tout est pilote via jeedom et dans le futur avec un bouton sur la borne VE pour : Charge avec batterie (Rapide) / Charge sans batterie (Rapide) / Charge "Green" (juste soleil et sans Batterie)
Répondre
#6
Alors tout soudain tu vas nous donner de bonnes nouvelles. N'hésite pas avec les photos, c'est tellement parlant.
Pour le Elfin, tu lui cause via MQTT ?
Jean-Luc
Répondre
#7
Je ne comprends pas!
Le ELFIN prends le RS232 vers une VM HAOS pour Home-Assistant (avec la nouvelle mouture SMARTPHOTON Kiss )pour les batteries : Renvoi les infos en MQTT.
Le cable USB/RS232 sur une autre VM "Debian Test" pour un NodeRed qui envoi lui aussi en MQTT.

Et JEEDOM qui prends toutes ces infos MQTT et les intergrent dans mon system !

   

   
jlm aime ce post
Répondre
#8
je pensais que tu communiquais avec tes elfin via MQTT pour lire et écrire en lieu et place d'un serveur TCP avec socket.
MQTT c'est pour les liaisons entre Jeedom et tes VM.
As-tu trouvé le bon registre pour modifier certains paramètres du Growatt ?
As-tu eu un bon plan pour l'achat du growatt ?
Jean-Luc
Répondre
#9
A vrai dire je ne savais pas qu'il pouvait faire MQTT !?!?
Oui c'est ce qui me sert a pas mal de peripheriques/Devices/serveur pour JEEDOM.
Je viens de tester un ID : Prenons le HOLDING 4.1 // 122 (dans le manuel c'est le Limit Export)

   

Dans le Debug "Test" c'est la valeur lu en 12, donc 1 (en Prod)
Dans le Debug "Test_LMDG" j'envois la valeur "1" que j'essaie d'ecrire en direct mais les logs m'insultent sur 8 generations !!!

Je te screen les parametres de ExportLimit 122 :

   

Pour ce qui est du bon plan, NON payer 1800€ il y a 2ans (a peu pret)
Répondre
#10
sorry là je dois partir.
Peux-tu simplement faire un noeud inject pour lire le registre 122 et mettre le debug derrière le read
et faire un autre inject avec 0 ou 1 qui va vers le modbus write et le debug ensuite.
Capture d'écran des debug stp
Et stp pose moi ton flow pour que je regarde cela plus à fond
Jean-Luc
Répondre
#11
Je crois avoir solutionné le truc c'etait la valeur =)> FC5 : Force Single Coil qu'il fallait mettre en FC6 : Preset Single Register !

   
jlm aime ce post
Répondre
#12
Petit UPDATE :

   

Le virtuel avec Liste (sur valeur deja presente) :

   

Et le NodeRed derriere :

   

PS : @JLM je vais avoir besoin de toi pour simplifier le coté NodeRed !!!!  Love STP
Répondre
#13
Eh bien, on a pas mis longtemps a ce que tu puisses écrire dans ton Growatt Angel 

L'idée de base, c'est de se parler, d'exposer, discuter, cela résous quasi tous les soucis. Évidemment c'est pas du 100% on est d'accord, mais un gros morceau ça oui souvent.

Alors pour ceux que cela intéresse voici la base pour écrire dans un registre Modbus
J'ai repris ton test avec les mêmes valeurs.

Le flow:

   

La configuration du noeud fonction juste avant d'envoyer les données au noeud Modbus qui va se charger de communiquer avec dans ce cas un Elfin qui lui va en fin de course parler à l'onduleur. On peut évidemment changer par le port série si on est en direct. Du genre ttyUSB0 ou COM3 par exemple

   

Donc maintenant, a toi préparer les divers paramètres que tu peux changer sur le Growatt SPH6000.
Citation :STP j'apprécierai que tu partages ensuite ton-tes flows pour que de futurs acquéreurs de Growatt SPH puissent faire la même chose Cool
Jean-Luc
Répondre
#14
J'allais oublier un point très important.

Il ne faut pas mettre 50 noeuds Read Modbus, l'appareil ne va pas pouvoir suivre.
Il faut en une seule passe lire plusieurs registres. Souvent minimum 15 mais cela peut aller à bien plus, style 40. Cela va dépendre de l'appareil.
N'oubliez pas que la vitesse de communication est relativement lente.
Une fois lu tous les registres en une seule phase, vous n'avez plus qu'a décortiquer la réponse unique en plusieurs valeurs qui sont celles que vous voulez.
Donc en gros on peut avoir 3 ou 4 registres selon la plage d'adresses recherchée si elle est étendue.

Il faut bien laisser un peu de communication libre pour écrire dans l'appareil lorsque l'on souhaite. Si il est toujours en train d'être interrogé, il va y avoir des soucis.
Jean-Luc
Répondre
#15
Bonjour,
Je comprends le principe, mais je n'arrive pas a mettre en pratique :
Peux tu me partager leflow d'exemple pour que je puisse m'en inspirer stp ?
Répondre
#16
Je t'avais proposé de faire ceci: https://domosimple.eu/forum/thread-740-p...ml#pid5822
As-tu essayé ? est-ce que cela fonctionne ?
Peux-tu me mettre ici ton flow ainsi que les réponses des debug pour se faire une idée de ce qu'il se passe s.t.p

N'hésites pas à me montrer ce qui coince ainsi que me repasser la documentation des registres du SPH6000 si tu l'as sous la main.
Jean-Luc
Répondre
#17
Re,
Je te poste mon flow que j'ai pas mal retravaillé avec tes remarques :p

[attachment=2365]

Et la doc :


.pdf   New-Modbus Protocal Latest Ver.pdf (Taille : 729.7 Ko / Téléchargements : 154)

Je pense avoir encore un PB dans le module Write_Modbus
Répondre
#18
Je regarde demain si j'y arrive.
Jean-Luc
Répondre
#19
Alors voilà, j'ai regardé ta partie "write". 
Je te propose de remplacer le noeud "Write_Modbus" par un noeud nommé "Modbus Flex Write". Ça doit mieux se passer du coup. Thumbsup

Petites remarques:
  • Les modifications provenant de MQTT ne doivent pas arriver en même temps. Il faudrait sinon penser à les mettre en file d'attente
  • Peux-tu ajouter les nœuds debug comme sur la capture d'écran et nous faire une capture de ce qu'il en sort. Juste pour vérifier que c'est bien préparé.

Tiens nous au "courant"

   
Jean-Luc
Répondre
#20
Merci pour ton aide.
Je te tiens donc au "courant"  Laughing !

Voici les screen que tu m'a conseillés :

   

Et son debug :

   

Par-contre pour la valeur 1038 cela ne fonctionne pas ! ce n'est peut etre pas du FC6.1038 (Non relier car cela tourne en boucle et polu le debug) ?
Je ne comprends pas non plus les valeurs "messageid" 

J'ai aussi des valeurs en rouge quand cela ne fonctionne pas bien :

   

PS : J'ai retiré le flow car non terminé pour le moment et ne veux pas que cela fasse la "grouille" chez les gens; Si tu veux un acces sur mon NodeRed je peux te donner les acces  Cool
Répondre
#21
Mais dis moi, le flex write se passe donc bien à ce que je vois. 
Qu'en est-il du Growatt, change-t-il ses paramètres du coup ?    Surprised
Si tu lui envoie disons 1 comme valeur et que tu la relis ensuite, a-t-elle bien changée du coup ?
En regardant l'adresse 123, il semble bien que la valeur 1 soit au rendez-vous


Citation :J'ai aussi des valeurs en rouge quand cela ne fonctionne pas bien :

J'ai pas réussi à comprendre ou voir ce que tu me dis là.

Pourquoi pas en effet venir sur ton Nodered mais je ne modifie jamais à distance un paramètre onduleur si la personne n'est pas à coté. 
J'ai trop peur de casser qcq chose et de ne pouvoir m'en apercevoir.
Et de plus n'ayant pas d'expérience avec ces machines, j'ai besoin que la personne me dise ce qu'il se passe.

J'attends déjà tes retours et on verra par la suite


Mais il semble que tu sois sur la bonne piste  Thumbsup
Jean-Luc
Répondre
#22
Oui cela fonctionne bien les valeurs envoyées pour 122/123/230 sont OK.
Mais celles 1037/1038 (CTAdjust & CTMode) ne sont pas OK et donc en ROUGE (dans value sur la derniere image au dessus)

Dans la Doc. il y a marqué : 'Six group for Storage Power' (Page 27/85) donc peut etre pas FC6 ???!!!???
Répondre
#23
Bon c'est quand même pas mal d'avoir pu écrire dans le growatt. Laisse moi savourer Cool

Le sixième groupe est visiblement une logique de découpage des paramètres en fonction de leurs cadre de fonctions. Là les stockages à voir. Rien de technique.
Je ne vois pas de raison pour laquelle tu ne pourrais pas écrire dans ces 2 registres.

Peux tu commencer simplement par écrire un flow qui (désactive l'actuel):

  1. 1 séquence qui lit les 2 registres 1037 + 1038 et tu me montres la valeur du noeud debug complètement déroulé (que je vois les 2 valeurs)
  2. 1 séquence qui écrit dans le registre 1038 (sans ton noeud MQTT) avec un inject + fonction qui écrit d'abord 1 et debug résultat
  3. 1 séquence qui écrit dans le registre 1037 (sans ton noeud MQTT) avec un inject + fonction qui écrit d'abord 1 et debug résultat
    Le CT en question, c'est une bobine convertisseur de courant ?Si oui, que tu mets autour de quel câble ?
Jean-Luc
Répondre
#24
Cela aurait été sympa d'avoir un retour sur mes questions.
Moi j'essaie d'aider mais si en retour il n'y a pas de réponses c'est "pas cool"    Tired
gazzzzton aime ce post
Jean-Luc
Répondre
#25
Bonjour;
Je n'ai pas encore testé ta solution car pas eu le temps de m'y mettre à 100%
Mais je me suis rendu compte que cela ne vient pas de cette manipulation mais du registre qui n'est en fait pas "WRITABLE" contrairement à la documentation !
Pour ce que j'ai pu en dégrossir il n'est pas possible d'écrire un ordre ON/OFF sur l'onduleur pour déconnecter les batteries !
Je v être oblige à passer par Les ordres IPX sur des relais prévus sur le GROWATT.

Après tu sais, ce n'est pas une question de "ne pas être cool" mais tu sais comme moi que quelque chose de dit sur un forum et souvent tester à la aller sans prendre en compte le contexte ou le cheminement et si PB se retourne contre le forum ou ledit personnage . NON ?

@+ promis je reviens vers toi plus tard (et mon offre d'acces a distance tiens toujours ;) )
Répondre
#26
Merci pour le suivi. C'est clair que si pas "writable" cela n'aide pas ;-)

Pour la proposition j'apprécie vraiment, mais on y arrive pas niveau timing. On aurait besoin d'être une équipe plus étoffée c'est évident.
gazzzzton aime ce post
Jean-Luc
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
[-]
Synthèse
Please login or register to use this functionality.

[-]
discussions récentes
Modification paramètre wks pl...
Salut, Bon ben ça semble fo...gag — 12:49 AM
Ajout écran OLED sur ma Wallb...
esp32 BTserial pour elm327 fla...bishnoi — 08:55 PM
installation Smartphoton Add-...
Le coup du 1Gb, j'ai déjà vécu...jlm — 05:05 PM
retour Pylontech HS
Bonjour, Je confirme. Le chan...claude47 — 03:21 PM
installation Smartphoton Add-...
Bonjour Jean-Luc, . "Do...jeanserien — 03:06 PM
retour Pylontech HS
Bonjour, Les infos que tu don...ghis.dlm — 02:36 PM
installation Smartphoton Add-...
oulllahh  ça va pas être facil...jlm — 11:11 AM
Modification paramètre wks pl...
Bon ben en fait c'est pas si d...gag — 11:02 AM
surcharge pylontech us5000
salut ! oui pas de soucis pous...Le bieslois — 08:47 AM
installation Smartphoton Add-...
le Pi3 m'a juste servi pour vo...jeanserien — 11:25 PM
installation Smartphoton Add-...
jamais vu ce souci pour ma par...jlm — 11:10 PM

[-]
Rechercher








(Advanced Search)

[-]
Who's Online
There are currently 214 online users. [Complete List]
» 2 Member(s) | 212 Guest(s)
AvatarAvatar

[-]
goals
96% of the way to our goal of 7,000 posts!
Only 278 posts left to go!

[-]
Statistics
» Members: 625
» Latest member: robinmarzac56
» Forum threads: 713
» Forum posts: 6,717

Full Statistics

>