Je viens de mettre en place une toute nouvelle installation et le démon ne démarre pas. Voici l’erreur
[2025-03-02 15:32:45] ERROR : EaseeChargerd Fatal error: 'NoneType' object has no attribute 'getName'
Traceback (most recent call last):
File "/var/www/html/plugins/EaseeCharger/ressources/bin/EaseeChargerd.py", line 363, in <module>
read_socket()
File "/var/www/html/plugins/EaseeCharger/ressources/bin/EaseeChargerd.py", line 270, in read_socket
start_charger(
File "/var/www/html/plugins/EaseeCharger/ressources/bin/EaseeChargerd.py", line 205, in start_charger
charger = Charger(id, name, serial, account)
File "/var/www/html/plugins/EaseeCharger/ressources/lib/charger.py", line 88, in __init__
self.logger = logging.getLogger(f"[{account.getName()}][{serial}]")
AttributeError: 'NoneType' object has no attribute 'getName'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/html/plugins/EaseeCharger/ressources/bin/EaseeChargerd.py", line 370, in <module>
shutdown()
File "/var/www/html/plugins/EaseeCharger/ressources/bin/EaseeChargerd.py", line 311, in shutdown
charger.stop()
File "/var/www/html/plugins/EaseeCharger/ressources/lib/charger.py", line 98, in stop
self.watcher.join(timeout=10)
AttributeError: 'Charger' object has no attribute 'watcher'
Merci pour le support, j’ai décidé de reinstallé mon plugin pour la deuxière fois et cette fois, cela fonctionner un petit moment. J’ai bien vu mon chargeur avec les informations.
Voici les étapes
J’ai supprimé ma borne
Désinstaller le plugin
Reinstaller le plugin
Activé le plugin
Démarré le démon
Configurer le plugin
Maintenant, j’ai de nouveau la même erreur
Pourtant l’installation c’est bien passée
BASE_DIR: /var/www/html/plugins/EaseeCharger/ressources
======================================================================
== 05/03/2025 15:00:33 == Dependencies installation for EaseeCharger
======================================================================
[ 5% ] : Clean apt...
[ 9% ] : Clean apt : [ OK ]
[ 10% ] : Update apt...
[ 19% ] : Update apt : [ OK ]
[ 20% ] : Init python3 & prerequisites...
[ 29% ] : Init python3 & prerequisites : [ OK ]
[ 30% ] : Init PyEnv...
** PyEnv not required: 3.9.2 >= 3.9 **
** python3 path: python3 **
[ 39% ] : Init PyEnv : [ OK ]
[ 40% ] : Setting up virtual environment...
** Version of python in VENV: Python 3.9.2
[ 69% ] : Setting up virtual environment : [ OK ]
[ 70% ] : Install the required python packages...
[ 79% ] : Install the required python packages : [ OK ]
[ 80% ] : Restoring folders and files rights...
[ 89% ] : Restoring folders and files rights : [ OK ]
[ 90% ] : Summary of installed packages...
certifi==2025.1.31
charset-normalizer==3.4.1
idna==3.10
msgpack==1.0.2
pkg_resources==0.0.0
requests==2.32.3
signalrcore==0.9.5
urllib3==2.3.0
websocket-client==1.0.0
[ 99% ] : Summary of installed packages : [ OK ]
[100% ] : Finished !
======================================================================
== OK == Installation Successful
======================================================================
Si j’avais eu besoin de la page santé, je l’aurai demandée.
En l’occurrence, j’aurais eu besoin d’un peu plus de logs mais j’ai voulu éliminer certaines causes avant de demander plus de détails.
Je me peux pas le faire maintenant mais je reviens ce soir avec des infos complémentaires.
Content de savoir que ton problème est résolu mais désolé de na pas avoir trouvé la cause.
Pour info:
Le lancement du daemon se fait en plusieurs phases:
Le plugin lance le daemon.
Une fois démarré, daemon envoie un message de confirmation au plugin.
Le plugin répond en envoyant un message pour chaque compte configuré. Ce message contient:
L’id du compte
Le nom du compte
Le token a utiliser pour communiquer avec le serveur Easee
…
Une fois les donnée d’un compte enregistrées, le daemon envoie un message de confirmation au plugin.
A la réception du message de confirmation de l’enregistrement des données d’un compte. Le plugin envoie un message au daemon pour chacun des chargeurs associé aux compte. Ce message contient:
L’id du chargeur
Le nom du chargeur
Le n° de série du chargeur
L’id du compte associé au chargeur
J’ai l’impression que le message envoyé au point 5 ne contenait un id de compte qui ne correspondait pas à un compte préalablement enregistré dans le daemon.
Je ne comprends pas ce qui a pu créer cette situation. Il va falloir que j’analyse le code plus attentivement.
J’espère que personne ne se retrouvera dans cette situation avant que je n’identifie la cause.