Si vous avez des panneaux solaires et un onduleur Huawei SUN2000, vous pouvez rapatrier des données directement en TCP/IP via l'onduleur ou via un API sur l'application FusionSolar (a demandé a votre installateur), comme je n'aime pas passer par un système "cloud" qui ne m'appartient pas et donc pas accessible directement, j'ai cherché comment "pomper" les informations directement sur mon onduleur et ca n'a pas été simple. Mon but étant de prendre toutes les infos et de les envoyer sur mon box domotique Jeedom.

Mes recherches

Sur Jeedom il existe quelques plugins "Modbus", c'est une application qui prend en TCP/IP des données d'un tableau interne de l'onduleur mais aucun ne fonctionne, ou plutôt, je n'ai aucune donnée visuel, après 2 jours a avoir tout essayé j'ai abandonné... trop long et fastidieux. J'ai levé donc mes manches de programmeur et j'ai développé un petite application Console (disponible sur Windows et Linux), puis j'ai fais tourner cette application sur mon Synology qui extrait les données de mon onduleur, ca fonctionne ! Maintenant c'est passé la valeur sur une commande virtuel sur Jeedom et bingo !

image

Comment ca fonctionne ?

1) Télécharger la version Windows ou Linux, extraire tous les fichiers dans un répertoire de votre choix
2) Ouvrir le fichier Preferences.json avec un Notepad
3) Changer l'adresse de votre onduleur, le port qui par défaut est 502 et aussi le Device Id s'il est différent de 1
4) Mettez bien l'URL là ou vous voulez poussez les valeurs d'une adresse (attention en GET seulement), vous remarquerez dans l'URL il y a un exemple, vous pouvez mettre l'ID {0} et la valeur {1} d'une commande virtuel Jeedom (voir section suivante point 8)
5) Mettez aussi juste en dessous, l'ID de la commande virtuel séparé d'une virgule avec l'adresse dont la valeur sera envoyé (voir section suivante point 8)


Les adresse 32080 de l'onduleur SUN2000 correspond a la production courante de l'instant présent, et l'adresse 32114 correspond à la valeur de la production du jour, vous pouvez bien sur ajouter d'autres valeurs que vous trouvez dans le fichier PDF des interfaces de HUAWEI

Dans Jeedom:

1) Vous devez avoir installer le plugin VIRTUEL
2) Une fois le plugin installer, allez dans le plugin
3) Ajouter un nouveau composant Virtuel que vous appelez "Onduleur"
4) Ouvrez "Onduleur" et allez dans "Commandes" au dessus
5) Ajoutez une commande via le bouton "Ajouter une info virtuelle" et mettez le nom "Prod Now"
6) Ajoutez une seconde commande virtuel et mettez le nom "Prod Jour"
7) Sauvegardez, maintenant vous avez un ID qui apparaît devant chaque commande, notez ces ID dans le fichier Preferences.json de l'application que vous avez téléchargée
8) Dans la tabulation "Equipements" sous le plugin Virtuel, vous avez l'URL exact avec votre clé Jeedom pour pousser les valeurs, copiez cet URL et mettez cet URL dans le fichier Preferences.json mais #cmd_id# doit être remplacé par {0} et #value# par {1}

Exécutez le tout et voyez si la commande virtuel de Jeedom est mise à jour

Sur Synology

Vous pouvez faire tourner la version LINUX sur Synology via une tâche a executer au démarrage

1) Assurez vous que le paque ".Net 6" est bien installé sur votre Synology
2) Télécharger la version Linux de l'application et copiez tous les fichiers dans un répertoire de votre choix sur votre Synology (par exemple dans "/home/RepOnduleurTCP")
3) Vous devez donnez les permissions d'exécution sur le fichier "OnduleurTCP", vous pouvez le faire dans "File Station" en cliquant sur le fichier avec le bouton droit de la souris, puis "Propriétés" sous l'onglet "Permission", cochez toutes les cases (ou le faire viat ssh avec la commande "chmod +rwx OnduleurTCP")
4) Sur votre Synology, ouvrez le "Panneau de configuration" puis "Planificateur de tâches"
5) Créez une nouvelle tâche "déclenchée", une fenêtre va s'ouvrir, sélectionnez bien "Démarrage" à côté de "Evenement", il va lancer l'app OnduleurTCP dés que le Synology démarre
6) Sous l'onglet "Paramètre de tâche", vous devez notez le chemin ou se trouve le fichier "OnduleurTCP", par exemple:  /volume1/homes/[votre username sous synology]/RepOnduleurTCP/OnduleurTCP

C'est terminer ! Pour la 1ere fois Executez vous mêmes manuellement la tâche avec le bouton "Executez", vous pouvez voir les logs si l'app tourne bien sous le bouton "Action" > "Affichez le résultat"

Téléchargement

Pour Windows: OnduleurTCP_Windows.zip
Pour Linux ou Synology: OnduleurTCP_Linux.zip

Attention, pour Windows ou Linux (ainsi que Synology) vous devez avoir au préalable installer le Runtime .Net 6 (https://dotnet.microsoft.com/en-us/download/dotnet/6.0)

Vous pouvez télécharger ici le fichier PDF avec les adresses de l'interface SUN2000 de Huawei: PDF

Mise à jour:

30-09-2023: Correction d'un gros bug, log zippé comme archive, 60 secondes de délai au lieu de 30 secondes

Admin

Tu sais me donner l'erreur complete et un screenshot ? merci

Paolo

Buonasera,

j'ai essayer de faire tourner OnduleurTCP sur un Raspberry Debian, avec .NET, mais j'ai la faute "./OnduleurTCP: 12: Syntax error: ")" unexpected".

C'est correcte?

Merci

Paolo

Thizzz76

Bonjour,

installé ce jour sur synology DS723 et adapté pour box eedomus : marche très bien ... trop bien même  !

Serait ce possible de réduire la fréquence d'émission (40s actuellement, c'est trop !) en configurant éventuellement le fichier json de paramètrage ?  

Merci pour la solution en tout cas, c'est le premier bout de code "clef en main" que je trouve pour importer les data de mon SUN2000 vers eedomus.

Cordialement

Thizzz76