Non détection du logger de l'onduleur de stockage couplé AC, Sofar ME3000SP

Suite du sujet Probleme utilisation solarman :

Bonjour,

Sur mon installation photovoltaïque en autoconsommation, j’utilise une batterie de stockage connectée à un onduleur Solarman ME3000SP dont j’utilise actuellement la liaison RS485 pour récupérer quelques données sur Jeedom.

Dans ce but, le plugin Solarman me paraît très nettement plus efficient.

Cependant, l’équipement « ME3000SP » que j’ai créé avec ce plugin me renvoie « 500 Internal Server Error » lors de l’opération « rechargement des paramètres de l’onduleur ».

Auparavant, lors de la configuration du plugin, la procédure de « recherche d’onduleurs » ma renvoyé, en mode debug, un champ vide dans le log « Solarman_recherche_réseau » (pas d’IP et de n° de logger).

Mon Système :

Jeedom 4.3.17
Python3 apt 3.7.3
Linux Debian 10.4
Apache 12
PHP 7.3.31

Les logs en mode Debug :

Solarman_recherche_réseau : aucune adresse IP

Log « Solarman » :

Démarrage Interrogation Onduleur ME3000SP
[2023-12-16 01:10:04]DEBUG : Exécution du service : nice -n 19 /usr/bin/python3 /var/www/html/plugins/solarman/ressources/solarman.py --apikey X9bHQq4Xt6ibrP8k7J7XYjyLlNa0nefp4mfvXjlh3wsa7INEa0tJsD8pV4byDFnc --loglevel debug --callback http://127.0.0.1:80/plugins/solarman/core/php/jeeSolarman.php --cyclesommeil 0.5 --cycle 0.3 --nameonduleur ME3000SP --configonduleur sofar_lsw3.yaml --idonduleur 162 --ipclewifi 192.168.1.91 --portclewifi 8899 --serialclewifi 2354183583 --mbslaveid 1
[2023-12-16 01:10:04]INFO : [SOLARMAN] OK
[2023-12-16 01:10:04]INFO : ---------------------------------------------------------------
[2023-12-16 01:10:13]DEBUG : Message du programme solarman. Id de l’équipement : 162
[2023-12-16 01:10:13]DEBUG : Registre décodé en hexa : PID en décimal : 0 valeur = 18472
[2023-12-16 01:10:13]DEBUG : Message du programme solarman. PId de l’équipement : 18472
[2023-12-16 01:20:06]DEBUG : récupération des données de l’onduleur : ME3000SP

Log « Solarman_python_ME3000SP » :

Connexion au data logger 192.168.1.91:8899
[2023-12-16 00:20:11]WARNING : Interrogation des registres [0x0 - 0x27] NOK avec l’exception [NoSocketAvailableError: No socket available]

puis

Attention le plugin ne trouve pas votre logger, il est peut être éteint sinon vérifiez que son adresse IP n’a pas change

Solarman_packages :

solarman_packages3.pdf (610,9 Ko)

Merci de votre aide.

Cordialement.

Pour l’erreur 500 il faut que tu ailles voir dans les logs de jeedom le fichier http.errors. Tu peux le mettre ici pour qu’on regarde ça ensemble.

La recherche de la clé wifi n’est peut être pas infaillible mais si tu connais son adresse ip et son identifiant (voir la doc du plugin) alors ce n’est pas bloquant.

Est ce que tu connais les registres utilisés dans ton onduleur?

Et pour ton onduleur apparemment le fichier sofar_wifikit.yaml a été testé avec succès

Je connais l’IP et le numéro de la clé Wifi du ME3000SP. Par contre, son firmware
« LSW3_15_FFFF_1.0.65 » ne donne pas de numéro de port Wifi. Il n’y a que le canal (en automatique pour moi) et la sécurité (WPA2-PSK AES).

Concernant les registres du ME3000SP (ainsi qu’un autre modèle hybride de cette marque), j’utilise actuellement la liaison RS485, jMQTT et le fichier ayant pour lien :

Avec cette configuration, il est possible de donner des ordres au ME3000SP. Il y a des registres à partir de la ligne 161, mais en faisant des extraits, je ne serais pas sûr de donner la totalité des informations nécessaires.

La version de sofware ME3000SP de ce fichier est 2.1.1, mais comme il ne reconnaît pas le batteries Pylontech 5000, j’utilise une version supérieure 3.2.5, en partant du postulat que les registres n’ont pas évolué.

Concernant les fichiers de configuration utilisés et les logs http.error qui sont générés, les résultats sont les suivants :

  • après lancement de la configuration du plugin : RAS

  • après lancement de l’équipement « ME3000SP » avec LSW3 :
    [Sun Dec 17 10:36:41.302301 2023] [php7:error] [pid 24526] [client 192.168.1.73:59219] PHP Fatal error: Uncaught Error: Call to undefined function yaml_parse_file() in /var/www/html/plugins/solarman/core/class/solarman.class.php:387
    Stack trace:
    #0 /var/www/html/plugins/solarman/core/ajax/solarman.ajax.php(44): solarman::raz_ConfigInverter(‹ sofar_lsw3.yaml ›, ‹ 162 ›)
    #1 {main}
    thrown in /var/www/html/plugins/solarman/core/class/solarman.class.php on line 387, referer: http://192.168.1.82/index.php?v=d&m=solarman&p=solarman&id=162

  • après lancement de l’équipement « ME3000SP » avec WIFIKIT :
    [Sun Dec 17 12:07:29.974466 2023] [php7:error] [pid 7155] [client 192.168.1.73:59473] PHP Fatal error: Uncaught Error: Call to undefined function yaml_parse_file() in /var/www/html/plugins/solarman/core/class/solarman.class.php:387
    Stack trace:
    #0 /var/www/html/plugins/solarman/core/ajax/solarman.ajax.php(44): solarman::raz_ConfigInverter(‹ sofar_wifikit.y… ›, ‹ 168 ›)
    #1 {main}
    thrown in /var/www/html/plugins/solarman/core/class/solarman.class.php on line 387, referer: http://192.168.1.82/index.php?v=d&m=solarman&p=solarman&id=168

(ip 73 : mon PC ; IP 91 : le logger 2354183583 du ME3000SP ; IP 82 : mon Jeedom)

Pour les logs est ce que tu pourrais les coller après avoir sélectionner « texte préformaté » stp cest plus lisible.

Tu pourrais renvoyer le log de solarman_packages ici et pas en copie d’écran comme la 1ere fois stp

Tu as fait ce qui indiqué dans la doc du plugin?

Concernant mon installation par rapport au plugin Solarman.

  • la clé est identique à celle présentée dans le plugin ;
  • ma vue « Status » est absolument identique à celle du plugin précité, mais je ne vois pas d’endroit où un numéro de port Wifi est indiqué.
  • Toute la partie « Widget Template » n’est pas d’actualité pour l’instant.

Concernant le fichier log « Solarman_package » :

Solarman_packages4.pdf (51,7 Ko)

Cette fois j’ai vérifié que des recherches y étaient possibles (il est en pdf, issu directement du texte. Je peux l’envoyer en word. Il semblerait qu’il ne soit pas possible d’envoyer le téléchargement réalisé par Jeedom). Avec mes excuses pour ne pas avoir pensé aux recherches de mots.

Je regarde ça mais le texte préformaté ça permet de copier coller directement dans le forum et c’est très lisible. Par exemple :

Installing collected packages: pyserial, umodbus
Attempting uninstall: pyserial
Found existing installation: pyserial 3.5
Uninstalling pyserial-3.5:
Successfully uninstalled pyserial-3.5

Dans tes logs je ne vois pas l’installation de yaml. Tu as quelle version de solarman ?

Pour Solarman, c’est la version 1.0.7 du 9/12/2023 installée le 14 décembre. Pour Jeedom, c’est la 4.3.17.

L’opération de vérification des packages faite par Jeedom liste, en ce moment, les éléments ci-après :

php-yaml apt OK oui solarman 2.0.2+1.3.1-4

js-yaml npm OK oui solarman 4.1.0

pyudev pip3 OK oui solarman teleinfo 0.24.1

pyyaml pip3 OK oui solarman 6.0.1

serial pip3 OK oui solarman 0.0.97

umodbus pip3 OK oui solarman 1.0.4

Le « Solarman_packages » qui a déjà été expédié était issu de la dernière ré-installation de Solarman.

Je joins, ci-dessous, le « Solarman_packages » généré par la toute première installation de Solarman.

Solarman_packages_initial.pdf (55,2 Ko)

Entre les 2 versions de « Solarman_packages » déja expédiées :

  • Solarman_packages4, d’une part et
  • Solarman_packages_initial, d’autre part
    il n’y a peut-être pas eu de ré-installation, mais une simple mise à jour (j’ai un doute) ; ce qui pourrait peut-être expliquer l’absence de « yaml ».

J’ai noté également que :

  • la désactivation du plugin Solarman supprimait tous les éléments « Solarman » habituellement listés par l’opération Jeedom de vérification des packages (OK).
  • la ré-installation et la réactivation du plugin Solarman n’avait pas régénéré le log « Solarman_packages » que j’avais préalablement vidé. Il est actuellement vide.