APsystems ECU-C - Domoticz

Forum pour tous les autres objets : sondes météo, capteurs, actionneurs ...
Vous avez un besoin mais vous ne savez pas quel matériel choisir ? C'est ici.
Jo30
Messages : 5
Inscription : 02 nov. 2023, 10:53

Re: APsystems ECU-C - Domoticz

Message par Jo30 »

Bonjour,

Eh bien aujourd'hui, ça refonctionne...
Depuis mon dernier message je n'ai rien touché ni relancé l'ECU_B, ni Domoticz.
C'est tombé en marche ;)
Pièces jointes
Screenshot
Screenshot
Screenshot_2023-11-12-08-58-36b.jpg (59.73 Kio) Consulté 197 fois
yaya54
Messages : 5
Inscription : 30 mai 2022, 16:38

Re: APsystems ECU-C - Domoticz

Message par yaya54 »

Bonjour
Je suis tombé sur ce topic.
J'ai installé mon 1er panneau solaire acec un DS3 et une passerelle ECU-B.
Tout va bien en local et par internet avec l'appli.
Mais pour Domoticz je n'y arrive pas.
L'ECU-B sort un ip 10.10.100.154 sur mon iphone et ma free ne le trouve meme pas dans mes appareils reseau.
Je lui ai mis un ip fixe mais pareil.
Domoticz est en place ainsi que le plugin du tuto de Doudou14.

quand je fais python3 ECU-B.py
J'ai bien sur erreur connexion failed.
De l'aide ne serait pas de refus. ;)
Papy de la mer
Messages : 42
Inscription : 07 août 2018, 18:54

Remontée d'infos d'une installation solaire

Message par Papy de la mer »

Bonjour.

Je suis depuis peu à la tête d'une petite installation solaire (7 panneaux, 4 micro-onduleurs APsystems, 1 ECU-C pour la gestion et la remontée des infos de production) et j'ai cherché à remonter mes données de production dans Domoticz.
Après balayage du web, j'ai trouvé la solution de DouDou14 (https://github.com/Doudou14/Domoticz-apsystems_ecu) basée sur un script python. Déjà là, je suis mal car mes connaissances en python tiennent sur la moitié du dos d'un timbre poste ... :D

J'ai donc suivi la procédure indiquée et ... le lancement du script m'a retourné une volée d'erreurs ... absconses ... J'ai laissé tomber ... Le lendemain, surprise, je constate que le script fonctionne et remonte bien les données présentes dans l'ECU-C. J'installe donc le script pour qu'il se lance toutes les 5 mn (période de mise à jour de l'ECU-C) et tout semble fonctionner correctement ... jusqu'au soir où les erreurs réapparaissent ...

Malgré mon incompétence, j'ai regardé le libellé des messages d'erreurs et j'ai essentiellement 2 familles d'erreurs :
- la première me semble correspondre à une phase d'absence de production de l'installation solaire :

Code : Tout sélectionner

Traceback (most recent call last):
  File "/volume1/docker/domoticz/scripts/python/ECU/ECU-C-R.py", line 65, in <module>
    data = loop.run_until_complete(ecu.async_query_ecu())
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/volume1/docker/domoticz/scripts/python/ECU/APSystemsECU.py", line 124, in async_query_ecu
    self.ecu_raw_data = await self.async_send_read_from_socket(cmd)
  File "/volume1/docker/domoticz/scripts/python/ECU/APSystemsECU.py", line 101, in async_send_read_from_socket
    return await asyncio.wait_for(self.async_read_from_socket(), timeout=self.timeout)
  File "/usr/lib/python3.8/asyncio/tasks.py", line 494, in wait_for
    return fut.result()
  File "/volume1/docker/domoticz/scripts/python/ECU/APSystemsECU.py", line 86, in async_read_from_socket
    raise APSystemsInvalidData(error)
APSystemsECU.APSystemsInvalidData: Got empty string from socket
- la seconde me semble correspondre à une anomalie dans la fin du message de retour d'interrogation :

Code : Tout sélectionner

Traceback (most recent call last):
  File "/volume1/docker/domoticz/scripts/python/ECU/ECU-C-R.py", line 65, in <module>
    data = loop.run_until_complete(ecu.async_query_ecu())
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/volume1/docker/domoticz/scripts/python/ECU/APSystemsECU.py", line 137, in async_query_ecu
    self.inverter_raw_data = await self.async_send_read_from_socket(cmd)
  File "/volume1/docker/domoticz/scripts/python/ECU/APSystemsECU.py", line 101, in async_send_read_from_socket
    return await asyncio.wait_for(self.async_read_from_socket(), timeout=self.timeout)
  File "/usr/lib/python3.8/asyncio/tasks.py", line 494, in wait_for
    return fut.result()
  File "/volume1/docker/domoticz/scripts/python/ECU/APSystemsECU.py", line 93, in async_read_from_socket
    raise APSystemsInvalidData(error)
APSystemsECU.APSystemsInvalidData: End suffix (b'END\n') missing from ECU response end_data=b'\x00\xe9\x00\n' data=b"APS11011300020001\x00\x04 #\x11\x18\x08@%p@\x00\x12\x87'\x0101\x01\xf4\x00o\x00\x0b\x00\xe9\x00\n"
A la fin de ce retour, le libellé après "missing from ECU response end_data=" n'est jamais constant d'un message à l'autre.

Quelqu'un a-t-il tenté de résoudre ce qui semble être une difficulté générique pour tous ceux qui ont voulu utiliser le script de DouDou14 ?
Dernière modification par Keros le 20 nov. 2023, 12:20, modifié 1 fois.
Raison : Ajout des balises
Keros
Messages : 5229
Inscription : 23 juil. 2019, 20:57

Modération

Message par Keros »

Papy de la mer, je viens de déplacer ton message dans le sujet traitant du plugin de doudoud14.
grostoto28
Messages : 17
Inscription : 01 nov. 2023, 13:12

Re: APsystems ECU-C - Domoticz

Message par grostoto28 »

bonjour
guerre plus de connaissance, mais le soir, les micro onduleurs se coupent, et je pense que c'est pour ça que tu as des erreurs (absence de données).
Papy de la mer
Messages : 42
Inscription : 07 août 2018, 18:54

Re: APsystems ECU-C - Domoticz

Message par Papy de la mer »

Bonsoir.

Je pense que l'absence de production n'est probablement pas le problème ...

La première raison est qu'en absence de production, l'ECU-C élabore des données ... nulles mais des données quand même. Il suffit pour s'en convaincre de regarder la page web de l'application APS
(http://<IP locale de l'ECU>/index.php/meter/meter_power_graph).

Comme je suis "une buse" en python et autre linux, je ne suis même pas capable de lancer le script de Doudou14 via Domoticz avec Dzvent ... Je le lance donc depuis le planificateur de tâche de mon NAS Synology. A toute chose malheur est bon car cela me permet de récupérer un mail de compte-rendu d'exécution du script en cas d'erreur (depuis j'ai arrêté car j'étais inondé de messages ...). Je peux donc faire une corrélation entre la production et tout ou partie des erreurs de script.

A titre d'exemple :
- Le 19/11/23, la production de mes panneaux s'est arrêtée à 17h00. Ce jour là, j'ai eu des erreurs de script toute la journée, de 8h00 (premier lancement de script de la journée) à ... 21h00 (dernier lancement de script de la journée) à raison d'une erreur toutes les 5 mn (période de lancement du script) ... Toujours la même erreur : "APSystemsECU.APSystemsInvalidData: Got empty string from socket".

- Le 18/11/23, j'ai reçu des erreurs du type : "APSystemsECU.APSystemsInvalidData: End suffix (b'END\n') missing from ECU response end_data= ..." alors que la production solaire battait son plein ...

L'ECU dialogue avec les micro-onduleurs, toutes les 5 mn, sur un réseau zigbee APsystem apparemment inaccessible. J'imagine que pendant ces périodes de dialogue, il est impossible d'interroger l'ECU pour en extraire des données. Je vois donc assez bien un problème de synchro entre les 2 dialogues et je suis totalement incompétent pour juger du processus déployé par le script python de DouDou14 (lui-même issu d'un script python fait par un néerlandais je crois, pour une ECU-R et non un ECU-C).
Répondre