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).
APsystems ECU-C - Domoticz
Re: APsystems ECU-C - Domoticz
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).
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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: APsystems ECU-C - Domoticz
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'
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'
Re: APsystems ECU-C - Domoticz
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.
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.
Re: APsystems ECU-C - Domoticz
Snif ... j'ai reboot mon ECU-B , idem pour mes PV via le panneau électrique ... et rien… toujours pas de donnée ...
Re: APsystems ECU-C - Domoticz
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
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:
Il y a certainement plus "pro" à faire, mais c'est simple et depuis quelques jours, cela semble marcher.
Si cela peut aider...
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¶m=updateuservariable&idx=29&vname=ip_apsystems&vtype=2&vvalue='$SUBSTRING
curl -s $url
fi2) 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¶m=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
Raison : Ajout des balises code
Re: APsystems ECU-C - Domoticz
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.
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.
Modération
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
Re: APsystems ECU-C - Domoticz
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
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 (100.98 Kio) Consulté 2262 fois
-
grostoto28
- Messages : 24
- Inscription : 01 nov. 2023, 13:12
Re: APsystems ECU-C - Domoticz
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:
merci de votre aide.. je patauge grave.
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
Re: APsystems ECU-C - Domoticz
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
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