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.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: APsystems ECU-C - Domoticz

Message par Keros »

Bonjour max63 et bienvenu sur le forum :)

Nous sommes ici sur un forum dédié à DomoticZ et pas HommeAssistant (comme ton lien vers github le laisse supposer). D'ailleurs les deux pages précédentes de ce sujet parlent d'un autre projet sur github (dédié à DomoticZ).
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
max63
Messages : 3
Inscription : 06 juin 2023, 22:14

Re: APsystems ECU-C - Domoticz

Message par max63 »

Bonjour,

J'utilise bien domoticz au quotidien et le script utilisé est un fork de la version pour HA mais le module APSystemsECU est commun.
L'originale du script venant du HA j'ai préféré poster sur le github ayant le plus d'activité pour avoir de l'aide.

D'ailleurs tu peux voir dans le message de log d'erreur que j'utilise bien domoticz :)

File "/k8s_storage/domoticz-config-pvc-43977a86-d8db-4206-94e9-fce6d4179d97/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'1\x00\x00\n' data=b'APS110095000121630005826801\x00\x00\n'
Pim38
Messages : 3
Inscription : 07 juin 2023, 18:09

Re: APsystems ECU-C - Domoticz

Message par Pim38 »

Bonjour,

Idem depuis hier soir, plus de data dans Domoticz.
L'accès à l'ECU par le web fonctionne pourtant bien (adresse IP de l'ECU : 192.168.8.160)

J'ai un script qui reboot le module APSYSTEMS par CURL 2 fois par jour... rien à faire.
Finalement, ce soir, au tableau electrique, Off puis On de l'ECU... et après 2 Minutes, les données sont là dans Domoticz.
max63
Messages : 3
Inscription : 06 juin 2023, 22:14

Re: APsystems ECU-C - Domoticz

Message par max63 »

Snif ... j'ai reboot mon ECU-B , idem pour mes PV via le panneau électrique ... et rien… toujours pas de donnée ...
Pim38
Messages : 3
Inscription : 07 juin 2023, 18:09

Re: APsystems ECU-C - Domoticz

Message par Pim38 »

Bonjour,

N'ayant pu comprendre pourquoi la lecture des données ne fonctionne pas après 2 ou 3 jours, j'ai décidé de contourner le problème.

1) N'ayant pas d'IP fixe, premièrement, je recherche l'ECU-C par son adresse MAC à l'aide d'un script .sh et je la renseigne dans une variable DOMOTICZ.
(oui, sans doute que l'IP fixe devrait être plus simple, mais je n'ai jamais réussi à la configurer sur l'ECU et après tout, cela donne maintenant la possibilité de chercher d'autres périphériques à IP variable; un téléphone ou autre périphérique par exemple)

Le code .sh:
Mettre dans Telname, l'adresse MAC

Code : Tout sélectionner

Telname="01:23:45:67:89:a0"
echo "Recherche module APSYSTEMS"

WIFI=$(arp-scan -xqgr5 192.168.8.0/24 | grep "$Telname" && echo "On" || echo "Off")
echo ">$WIFI<"
SUBSTRING=$(echo $WIFI| cut -d' ' -f -1 )


if [[ "$WIFI" == 'Off' ]]; then
        # Off donc ECU non trouve
        echo "Le module APSYSTEMS  $Telname est non detecte par WIFI"
else
        # <>Off donc ECU trouve
        echo "Le module APSYSTEMS  $Telname a ete trouve par WIFI"
        url='http://192.168.8.106:8080/json.htm?type=command&param=updateuservariable&idx=29&vname=ip_apsystems&vtype=2&vvalue='$SUBSTRING
        curl -s $url

fi

2) A intervalle régulier (12hrs) je fais un reboot de l'ECU-C via CURL: script LUA qui lance un .sh de reboot
Il y aurait possibilité de lire la date de mise à jour des datas en provenance de l'ECU-C et si pas de refresh depuis plus de 10 Minutes, alors faire un reboot... j'ai opté pour une solution systématique (12hrs).

Le code .sh:

Code : Tout sélectionner

#!/bin/bash

# ===== Lecture de l adresse IP APSYSTEMS dans la variable DOMOTICZ =====================
        IP=$( curl -s "http://192.168.8.106:8080/json.htm?type=command&param=getuservariable&idx=29" | jq -r .result[]."Value")

# ===== Concatenation pour former l adresse de reboot ==============================
        TEL="http://$IP/index.php/management/set_wlan_ap"
        echo "$TEL"

#====== Lancement de la procedure reboot par CURL  ===============================
        RESULT=$( curl -s "$TEL" -H "X-Requested-With: XMLHttpRequest" --data-raw "SSID=ECU-WIFI_local&channel=0&method=0&psk_wep=&psk_wpa=")

        echo "CURL lance"

Il y a certainement plus "pro" à faire, mais c'est simple et depuis quelques jours, cela semble marcher.

Si cela peut aider...
Dernière modification par Keros le 13 juin 2023, 20:58, modifié 1 fois.
Raison : Ajout des balises code
Pim38
Messages : 3
Inscription : 07 juin 2023, 18:09

Re: APsystems ECU-C - Domoticz

Message par Pim38 »

Bonjour,

Si le sujet intéresse toujours.... je pense avoir trouvé la raison du problème. Il manque un incrément dans une fonction.
Pour corriger cela :

Editer le fichier "APSystemsECU.py"

Dans la fonction
"def process_inverter_data(self, data=None):"

... à la fin de la boucle
"for i in range(0, inverter_qty):"

... ajouter : "cnt2 += 21"

Effectivement, sans cette opération, la boucle se fait sur le même inverter.

Et maintenant, j'ai toutes les données de mes 4 MO.
Dernière modification par Pim38 le 21 juil. 2023, 11:23, modifié 1 fois.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Modération

Message par Keros »

Nous sommes ici sur le forum francophone de DomoticZ. Pour la compréhension de tous, est-ce que tu peux rédiger tes messages en français ? Merci
mannewman
Messages : 28
Inscription : 25 mai 2019, 11:43

Re: APsystems ECU-C - Domoticz

Message par mannewman »

Bonjour
J'ai implanté les plugins pour un ECU_B AP System (qui fonctionnent donc merci pour les compléments d'informations utiles apportés dans ce post)
Cependant savez vous comment rendre plus précis ce compteur Domoticz qui affiche 1.400 kWh mais en réalité dans l'application EMA de l'onduleur AP System, je lis 1.32 kWh ?
Les 3 décimales après la virgule (1.400 kWh) ne semblent pas réellement utilisées et l'arrondi semble être fait au dixième supérieur (1.32 kWh donne 1.4 kwWh)

Et aussi dans ce compteur Domoticz comment transformer le format de "Last seen 2023-10-07 11.54.05" en "X minute ago" (que je trouve plus pratique)
Merci
Pièces jointes
Capture.PNG
Capture.PNG (100.98 Kio) Consulté 2264 fois
grostoto28
Messages : 24
Inscription : 01 nov. 2023, 13:12

Re: APsystems ECU-C - Domoticz

Message par grostoto28 »

Bonjour

je tente vainement de lancer le system.. (faut dire que je suis totalement nul en programmation).
j'ai domoticz sur raspberry 3, et un Ecu B

j'ai installé le pluggin de doudou14, et après quelques heures (jours ?), j'arrive à ceci:
c'est du chinois pour moi..


j'obtiens donc ce résultat:

Code : Tout sélectionner

python3 /home/user/domoticz/scripts/python/ECU/ECU-B.py
Today energy : 270.0 Wh
Current power: 154 W
Total energy : 1300.0 Wh
Traceback (most recent call last):
  File "/home/user/domoticz/scripts/python/ECU/ECU-B.py", line 56, in <module>
    webUrl = urllib.request.urlopen(url + urllib.parse.urlencode(getVars))
  File "/usr/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.9/urllib/request.py", line 523, in open
    response = meth(req, response)
  File "/usr/lib/python3.9/urllib/request.py", line 632, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.9/urllib/request.py", line 561, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.9/urllib/request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: Unauthorized
merci de votre aide.. je patauge grave.
mannewman
Messages : 28
Inscription : 25 mai 2019, 11:43

Re: APsystems ECU-C - Domoticz

Message par mannewman »

Salut Grototo28

As tu vérifié dans Domoticz Configuration /Paramètres/Sécurité le champ "Réseaux de confiance" ?

Il doit contenir l'adresse IP de ton ECU et du Pi , moi j'ai mis une étoile : 192.168.1.*

Bonne journée
Répondre