Passerelle APsystem ECU-B du 18-04-2023 pas de données reçues

Bonjour, après avoir parcouru tous les sujets sur ce domaine, je n’ai pas trouvé la solution et le sujet est clos, donc j’ouvre un nouveau sujet, je viens de finir d’installer mes 3 panneaux solaires qui font 1295Wc au total, géré par un convertisseur APsystem QT2 triphasé, et une passerelle APsystem ECU-B version du micrologiciel : 1.2.30 , c’est la dernière mise à jour. pour mon Jeedom Smart il est en version 4.3.23, le plugin APsystem et le dernier cri : du 20-12-2023. Mon problème est le même que celui déjà évoqué, message lors de l’enregistrement de la configuration : impossible de se connecter …port et IP. Evidement le log debug est plus parlant et laisse entendre que la communication a bien été établi mais les remontées d’info ne sont pas bien gérées semble-t’il. Je pensais le problème solutionné car certains utilisateurs disent ne pas avoir de soucis avec ce plugin et et ECU-B. Quelqu’un à t’il une solution ou un conseil.
log debug aps_ecu.txt (1,2 Ko)
Je précise que l’appli dédié APsystem fonctionne parfaitement, que ce soit en local (réseau ECU) ou en réseau internet, de même les remontées se font parfaitement sur le site d’APsystem. Les tests de communication sous Jeedom sont faits lors de la production des panneaux solaires.

Je n’ai jamais eu de remontée d info
Je suis dans le même cas que toi

Bonjour et merci de ton message. As-tu essayer de te connecter avec l’ IP locale de ta passerelle APsystem et son port de communication (192.168.1.x:8899), moi je n’y arrive pas, pourtant le port est ouvert et l’IP correcte, il semble que certaines passerelles ont vu leur possibilités modifiées, en particulier l’accès dont je parle, est-ce la raison ?! Ta passerelle est-elle de la même génération que la mienne et avec le même firmware (v 1.2.30) ? c’est utile de le préciser pour les autres lecteurs qui peuvent mieux suivre et aider.

bonjour,
Je prends le train en route, je pense que mon problème est lié au votre.
Ce que j’ai constaté :
A la mise en route des mon ECU, j’ai pu me connecter directement a la passerelle en l’attaquant par son adresse IP. J’ai installé le plugin dans la foulée et ai pu le configurer. J’avais bien les remontées d’info dans mon Jeedom.
2 jours plus tard plus rien. J’ai tenté de réinstaller le plugin version stable et béta mais je me confronte au même message d’erreur a chaque fois que je tente d’enregistrer la configuration du plugin :

Je confirme que l’adresse IP est restée inchangée (je peux toujours attaqué la passerelle via le réseau)

Je précise que je suis relié a la passerelle en RJ45
la version du firmware e l’ECU est la suivante :

je soupçonne que ça ne fonctionne plus suite a une mise jour e ce fimware mais sans conviction.
Si quelqu’un a réussi à résoudre l’énigme, je suis preneur :slight_smile:

Bonsoir,
Installer Zenmap sur votre pc et faites un scan de l’ip de votre Ecu

Si vous n’avez pas le port ouvert il faut chercher pourquoi sur le réseau. Si vous êtes en wifi essayez en ethernet et vis et versa. Tant que le port n’est pas ouvert vous n’arriverez à rien.

Capture d’écran 2024-03-27 à 20.23.56

Bonjour @Chris9502, c’est apparemment le même problème mais pas tout à fait puisque votre ECU n’est pas une ECU B, en effet sur un ECU B il n’y a pas de port RJ45 fonctionnel, ceux présents physiquement sont neutralisés. Mais après tu à probablement raison pour la mise à jour et ses conséquences car APsystem a modifié certains firmwares et on ne peut plus se connecter en réseau local avec l’adresse IP et le bon port de la passerelle (ECU). Personnellement bien que l’adresse IP et le port (8899 dans mon cas) soient bien détecté et le port ouvert, je n’ai jamais réussi à me connecter avec mon navigateur, alors que le plugin arrive à se connecter (log debug) et lis bien les infos de la passerelle au niveau du modèle et de la version du firmware, pour les données de production d’énergie rien n’est transmis. J’espère que le développeurs va nous sortir de cette situation !

Bonjour,
Je crois que votre pb viens plutôt du fait que ces onduleurs sont récents et pas intégrés au plugin. Vous voyez les données en debug donc le plugin est bien connecté mais n’affiche rien.
Le dev n’a pas l’air actif depuis un moment, je ne sais même pas s’il passe encore ici.
Bien cordialement

			$result[$i]["model"] = "YC600";
  			$result[$i]["channel_count"] = $channel_count;
  			
  			for ($c = 0; $c < $channel_count; $c++)
  			{
  				$power[$c] = $this->aps_int($data, $location);
  				$result[$i]["power"][$c] = $power[$c];
  				$location += 2;
  
  				$voltage[$c] = $this->aps_int($data, $location);
  				$result[$i]["voltage"][$c] = $voltage[$c];
  				$location += 2;
  			}
  		}
  
  		else if (in_array($inverter_type, $qs1_ids))
  		{
  			$channel_count = 4;
  	
  			$result[$i]["model"] = "QS1";
  			$result[$i]["channel_count"] = $channel_count;
  			
  			$power[0] = $this->aps_int($data, $location);
  			$location += 2;
  
  			$voltage[0] = $this->aps_int($data, $location);
  			$location += 2;
  
  			$power[1] = $this->aps_int($data, $location);
  			$location += 2;
  
  			$power[2] = $this->aps_int($data, $location);
  			$location += 2;
  
  			$power[3] = $this->aps_int($data, $location);
  			$location += 2;
			
			$result[$i]["voltage"] = $voltage;
			$result[$i]["power"] = $power;
  		}
          
  		else if (in_array($inverter_type, $yc1000_ids))		
  		{
  			$channel_count = 4;
  	
  			$result[$i]["model"] = "YC1000";
  			$result[$i]["channel_count"] = $channel_count;
  			
  			$power[0] = $this->aps_int($data, $location);
  			$location += 2;
  
  			$voltage[0] = $this->aps_int($data, $location);
  			$location += 2;
  
  			$power[1] = $this->aps_int($data, $location);
  			$location += 2;
  			
  			$voltage[1] = $this->aps_int($data, $location);
  			$location += 2;
  
  			$power[2] = $this->aps_int($data, $location);
  			$location += 2;
  			
  			$voltage[2] = $this->aps_int($data, $location);
  			$location += 2;
  
  			$power[3] = $this->aps_int($data, $location);
  			$location += 2;

			$result[$i]["voltage"] = $voltage;
			$result[$i]["power"] = $power;
  		}
                  
  		else if (in_array($inverter_type, $ds3_ids))		
  		{
  			$channel_count = 2;
  			
  			$result[$i]["model"] = "DS3";
  			$result[$i]["channel_count"] = $channel_count;
  			
  			for ($c = 0; $c < $channel_count; $c++)
  			{
  				$power[$c] = $this->aps_int($data, $location);
  				$location += 2;
  
  				$voltage[$c] = $this->aps_int($data, $location);
  				$location += 2;
  			}
			
			$result[$i]["voltage"] = $voltage;
			$result[$i]["power"] = $power;
  		}
		else
			return false;
  	}

@jelo52

Pourriez vous essayer avec l’éditeur de fichiers, dans le répertoire
html/plugins/aps_ecu/core/class/
de dupliquer votre fichier original aps_ecu.class.php
et de coller celui-ci que je viens d’essayer de modifier en enlevant le .txt bien sur.
aps_ecu.class.php.txt (40,5 Ko)

Oui bien sure,
Comment accède-t-on à ce répertoire, je suis sous un VM ?

PS, j’ai fait le test avec Zemap, il découvre bien le port 8899 :
image

Tu as des QT2 toi également ?
Alors en VM je n’en sais rien, mais je suppose que tu as accès à l’éditeur de fichier comme une install normale.

Bonjour et merci de ton aide; J’ai remplacé le fichier « aps_ecu.class.php » par celui que tu as mis à disposition, j’ai d’abord sauvegardé l’original que j’ai nommé différemment, ensuite j’ai effacé l’original pour éviter de faire un remplacement et j’ai installé ton fichier. je suis allé dans le plugin que j’ai désactivé, puis réactivé pour être sur que le système travaille bien avec le nouveau fichiers, après essai de sauvegarde de ma configuration le résultat est malheureusement le même. Le fichier débug est le suivant:
aps_ecu_log debug_fichier apsystem modifié.txt (1,2 Ko)
Penses-tu qu’il vaudrait mieux arrêter jeedom et le relancer ou bien simplement effacer le cache pour plus de certitude ?
Merci de ta prise en compte et du temps consacré !
ps: je crois pas l’avoir dis mais pour info, il n’y a aucune commande de créer lors de la sauvegarde de la configuration.

Bonjour,
N’étant pas développeur, le fichier débug me parle peu.
Peux tu par contre me montrer ce que te donne l’affichage du widget du plugin sur ton écran ?
Est ce que tu es rentré sur ton équipement créé par le plugin pour le Sauvegarder à nouveau, même si tu ne change rien c’est pour qu’il recrée ses infos.

oui, comme je l’ai dis j’ai été dans la configuration du pluging, désactivé/activé, ensuite j’ai à nouveau sauver la configuration pour ma passerelle mais nada, pas de changement, pas de commande de créées non plus. la copie d’écran avec le widget (un peu vide forcément)


J’ai regardé, d’un oeil pas du tout expert, le fichier que tu as modifié, il n’est pas fait allusion a un convertisseur QT2 à ce que j’ai vu, notamment dans la partie du debug, je dis ça d’un point de vue d’un lecteur qui lirait un journal ! Une question (pas bête puisqu’elle est posée :wink:) Peut on obtenir des infos qui pourraient aider à partir de l’appli APsystem du smartphone, avec une autre aplli spécialisée par exemple ?

Si tu ne vois pas les infos que j’ai rajouté pour le QT2 c’est que tu as du faire une erreur de fichier.
Car elles y sont bien.

Bonsoir @rennais35000, désolé, effectivement j’ai loupé quelques lignes diverses, ma souris déconne et fait défiler comme elle l’entend, du coup j’ai loupé pas mal de choses, heureusement que j’ai un autre animal (souris), j’ai relu tout ça au mieux et j’ai bien vu ton passage, du coup en regardant avec PHPEdit j’ai noté quelque chose qui me parait incorrect, ne manque t’il pas une partie pour le voltage 3 entre les lignes 482 et 484 par exemple : $voltage[3] = $this->aps_int($data, $location);
suivi de : $location += 2;
Si tu me confirmes cela je peux modifier directement dans le fichier, pas la peine de m’en envoyer un autre.
cordialement !

Bonsoir,
En fait j’ai juste repris la séquence que le dev avait mise pour les yc1000 qui sont aussi triphasé et j’ai juste changé le type de micro.
Il n’avait pas mis pour les yc1000 ce voltage 3 je n’avais jamais remarqué :thinking:
et pourtant les 3 voltages apparaissent bien dans le widget …
Capture d’écran 2024-03-29 à 20.30.42

Par contre je vois une ligne que je n’ai pas dupliquée en ligne 305

$yc1000_ids = [ « 501 », « 502 », « 503 », « 504 » ];

et là je ne sais quoi mettre pour le moment, il faut que je réfléchisse

edit : regardes par quoi commence tes identifiants de tes QT2 (les 3 premiers chiffres)

Peux tu insérer cette ligne après la ligne 307

 $qt2_ids = [ "901", "902", "903", "904" ];

ou tu mets ce fichier modifié à la place de l’autre
aps_ecu.class.php.txt (40,6 Ko)

Encore derrière l’écran ! Bravo pour ta participation, figure toi qu’après quelques modifications dans le fichier que tu m’as aimablement envoyé, et malgré la nuit tombée donc sans production solaire, j’ai enfin réussi à me connecter, la preuve en image avec la copie d’écran. Je te joints également le fichier php qui fonctionne, j’ai mis un commentaire en face des lignes que j’ai modifiè ou ajouté plus précisément, ligne 307, lignes 452 et 453 (pour les autres utilisateurs qui gélèrent) et enfin lignes 487 et 488. Apparemment ça fonctionne mais comme le soleil est couché (le veinard) on va attendre demain matin pour vois les valeurs remontées, je les comparerais à celles de l’appli et ferais un retour ici même pour valider avec toi.


aps_ecu.class.php (2).txt (40,6 Ko), ne pas oublier d’enlever le (2) à la fin du nom de fichier.
Pour mon onduleur, le numéro ID commence par 216 (je n’ai qu’un onduleur pour mes 4 panneaux solaires, ça me suffit pour mon installation, pour le moment le 4 ème panneaux n’est pas raccordé). Bonne soirée !

J’aurais plutôt pensé que c’était l’ECU qui commence par 216 :thinking:
Je regarderais demain tes modifs, l’union fait la force on va y arriver :ok_hand:

edit : d’ailleurs sur ta copie d’écran on voit bien sur tes panneaux qu’ils sont raccordé au micro qui commence par 901 (d’où la ligne 307)