Erreur liée au module crypto

Bonjour,

J’ai cette erreur qui me dérange, je n’ai plus de retour SIA, hors, j’ai commencé à l’utiliser pour éviter de dépendre du cloud en cas de panne chez eux ou chez moi.


 Accueil 
 Analyse 
 Outils 
 Plugins 
 Réglages 
14:30:22
Jade
 Gestion

Configuration

...

CatégorieSécuritéSourcemarket
AuteurJeedom SASVersion 2022-04-05 01:17:24
LicenseAGPLPrérequis 4.1
 Logs et surveillance

Niveau logAucunDefautDebugInfoWarningError
Logs  
Heartbeat (min)
Redémarrer démon
 Dépendances
Nom	Statut	Installation	Dernière installation
Local	OK		2022-04-11 14:00:45
 Démon
Nom	Statut	Configuration	(Re)Démarrer	Arrêter	Gestion automatique	Dernier lancement
Local	NOK	OK				2022-04-11 14:30:05
 Configuration
Configuration connection cloud
Connection
SynchronisationConfiguration SIA
Port
155XX
Compte
73XXX
Clé de cryptage (longueur : 16)
XXXXX
 Fonctionnalités

interactNon
cronNon
cron5Non
cron10Non
cron15Non
cron30Non
cronHourlyNon
cronDailyNon
deadcmdNon
healthNon
Log du plugin ajaxSystemd
Log brut  
Rechercher
 

Traceback (most recent call last):
File "/var/www/html/plugins/ajaxSystem/resources/ajaxSystemd/ajaxSystemd.py", line 31, in 
from pysiaalarm import CommunicationsProtocol, SIAAccount, SIAClient, SIAEvent
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/__init__.py", line 28, in 
from .sync.client import SIAClient
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/sync/client.py", line 12, in 
from ..base_client import BaseSIAClient
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/base_client.py", line 6, in 
from .event import SIAEvent
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/event.py", line 12, in 
from Crypto.Cipher._mode_cbc import CbcMode
File "/usr/local/lib/python3.7/dist-packages/Crypto/Cipher/_mode_cbc.py", line 37, in 
from Crypto.Util.py3compat import _copy_bytes
ImportError: cannot import name '_copy_bytes' from 'Crypto.Util.py3compat' (/usr/local/lib/python3.7/dist-packages/Crypto/Util/py3compat.py)
Traceback (most recent call last):
File "/var/www/html/plugins/ajaxSystem/resources/ajaxSystemd/ajaxSystemd.py", line 31, in 
from pysiaalarm import CommunicationsProtocol, SIAAccount, SIAClient, SIAEvent
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/__init__.py", line 28, in 
from .sync.client import SIAClient
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/sync/client.py", line 12, in 
from ..base_client import BaseSIAClient
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/base_client.py", line 6, in 
from .event import SIAEvent
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/event.py", line 12, in 
from Crypto.Cipher._mode_cbc import CbcMode
File "/usr/local/lib/python3.7/dist-packages/Crypto/Cipher/_mode_cbc.py", line 37, in 
from Crypto.Util.py3compat import _copy_bytes
ImportError: cannot import name '_copy_bytes' from 'Crypto.Util.py3compat' (/usr/local/lib/python3.7/dist-packages/Crypto/Util/py3compat.py)
Traceback (most recent call last):
File "/var/www/html/plugins/ajaxSystem/resources/ajaxSystemd/ajaxSystemd.py", line 31, in 
from pysiaalarm import CommunicationsProtocol, SIAAccount, SIAClient, SIAEvent
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/__init__.py", line 28, in 
from .sync.client import SIAClient
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/sync/client.py", line 12, in 
from ..base_client import BaseSIAClient
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/base_client.py", line 6, in 
from .event import SIAEvent
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/event.py", line 12, in 
from Crypto.Cipher._mode_cbc import CbcMode
File "/usr/local/lib/python3.7/dist-packages/Crypto/Cipher/_mode_cbc.py", line 37, in 
from Crypto.Util.py3compat import _copy_bytes
ImportError: cannot import name '_copy_bytes' from 'Crypto.Util.py3compat' (/usr/local/lib/python3.7/dist-packages/Crypto/Util/py3compat.py)

J’ai désinstallé / réinstallé en beta et stable, → même résultat.
J’ai du installé un package entretemps, avant ça marchait impeccable.

Hello

Version du plug ?
Version de jeedom?
Santé de jeedom?
Journal du debug du plugin?


La santé de mon jeedom semble presque excellente ! :slight_smile:

Les logs du premier post sont justement issus du plugin ajax en mode debug.
Je pense avoir ce problème depuis que j’ai installé le plugin xiaomi, qui d’ailleurs ne marche pas non plus. J’ai un thread à ce sujet.

c’est comme si il manquait un morceau de librairie. as-tu tenté de relancer les dépendances pour forcer l’installation des modules ?

Oui, bien sûr.
Voici les logs d’ailleurs d’une execution à l’instant :

+ echo '*******************Begin of package installation******************'
*******************Begin of package installation******************
+ touch /tmp/jeedom_install_in_progress_ajaxSystem
+ echo 1
+ echo 2
+ sudo apt update
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Hit:2 http://ftp.fr.debian.org/debian buster InRelease
Get:3 http://ftp.fr.debian.org/debian buster-updates InRelease [51.9 kB]
Hit:4 http://apt.piduino.org stretch InRelease
Hit:5 https://deb.nodesource.com/node_14.x buster InRelease
Get:6 http://security.debian.org/debian-security buster/updates/main Sources [232 kB]
Get:7 http://security.debian.org/debian-security buster/updates/main amd64 Packages [318 kB]
Get:8 http://security.debian.org/debian-security buster/updates/main Translation-en [173 kB]
Fetched 840 kB in 3s (294 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
172 packages can be upgraded. Run 'apt list --upgradable' to see them.
+ echo 3
+ sudo chmod +x /var/www/html/core/class/../../plugins/ajaxSystem/resources/post-install.sh
+ sudo /var/www/html/core/class/../../plugins/ajaxSystem/resources/post-install.sh
Requirement already satisfied: pysiaalarm==3.0.0b9 in /usr/local/lib/python3.7/dist-packages (3.0.0b9)
Requirement already satisfied: pycryptodome>=3.9.7 in /usr/local/lib/python3.7/dist-packages (from pysiaalarm==3.0.0b9) (3.12.0)
Requirement already satisfied: dataclasses-json==0.5.2 in /usr/local/lib/python3.7/dist-packages (from pysiaalarm==3.0.0b9) (0.5.2)
Requirement already satisfied: importlib-metadata; python_version < "3.8" in /usr/local/lib/python3.7/dist-packages (from pysiaalarm==3.0.0b9) (4.8.2)
Requirement already satisfied: marshmallow<4.0.0,>=3.3.0 in /usr/local/lib/python3.7/dist-packages (from dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (3.14.1)
Requirement already satisfied: marshmallow-enum<2.0.0,>=1.5.1 in /usr/local/lib/python3.7/dist-packages (from dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (1.5.1)
Requirement already satisfied: stringcase<2.0.0,==1.2.0 in /usr/local/lib/python3.7/dist-packages (from dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (1.2.0)
Requirement already satisfied: typing-inspect>=0.4.0 in /usr/local/lib/python3.7/dist-packages (from dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (0.7.1)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata; python_version < "3.8"->pysiaalarm==3.0.0b9) (3.8.0)
Requirement already satisfied: typing-extensions>=3.6.4; python_version < "3.8" in /usr/local/lib/python3.7/dist-packages (from importlib-metadata; python_version < "3.8"->pysiaalarm==3.0.0b9) (4.0.1)
Requirement already satisfied: mypy-extensions>=0.3.0 in /usr/local/lib/python3.7/dist-packages (from typing-inspect>=0.4.0->dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (0.4.3)
+ echo 4
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end ajaxSystem
+ rm /tmp/jeedom_install_in_progress_ajaxSystem
+ echo '*******************End of package installation******************'
*******************End of package installation******************

Aussi le résultat de la commande « sudo pip3 list »

P.S.
Entre ce plugin qui perd les alertes SIA.
Puis pas fiable à cause de la perte de cookie ou autre qui fait que tu ne peux plus commander l’alarme.
Pis pour couronner le tout (cette fois c’est pas lié à ce plugin) mon plugin zwave s’est mis à me générer des erreurs en cascade, résolues avec un simple reboot.
Bref, grosse perte de confiance en jeedom. J’ai dépensé un peu de sous, je le trouve très polyvalent, mais je désespère. Je voulais un truc fiable, … hier si j’'étais sorti qu’avec mon téléphone (comme ça m’arrive parfois), j’aurais été incapable de rentrer chez moi ! Plus d’ouverture du portail, plus de désactivation de l’alarme (en tout cas via jeedom).

Package             Version
------------------- -------------
android-backup      0.2.0
appdirs             1.4.4
asn1crypto          0.24.0
attrs               21.4.0
certifi             2021.10.8
cffi                1.15.0
chardet             3.0.4
charset-normalizer  2.0.12
click               8.1.2
construct           2.10.68
croniter            1.3.4
cryptography        2.6.1
dataclasses-json    0.5.2
defusedxml          0.7.1
distro-info         0.21
entrypoints         0.3
enum-compat         0.0.3
enum34              1.1.10
fail2ban            0.10.2
future              0.18.2
httplib2            0.11.3
idna                3.3
ifaddr              0.1.7
importlib-metadata  4.8.2
iotop               0.6
keyring             17.1.1
keyrings.alt        3.1.1
marshmallow         3.14.1
marshmallow-enum    1.5.1
mypy-extensions     0.4.3
netifaces           0.11.0
pip                 18.1
pycparser           2.21
pycrypto            2.6.1
pycryptodome        3.12.0
pycurl              7.43.0.2
PyGObject           3.30.4
pyinotify           0.9.6
pyserial            3.5
pysiaalarm          3.0.0b9
PySimpleSOAP        1.16.2
python-apt          1.8.4.3
python-dateutil     2.8.2
python-debian       0.1.35
python-debianbts    2.8.2
pytz                2022.1
pyudev              0.23.2
pyxdg               0.25
PyYAML              6.0
reportbug           7.5.3-deb10u1
requests            2.27.1
SecretStorage       2.3.1
setuptools          40.8.0
six                 1.16.0
stringcase          1.2.0
systemd-python      234
tqdm                4.64.0
typing-extensions   4.0.1
typing-inspect      0.7.1
unattended-upgrades 0.1
urllib3             1.26.9
wheel               0.37.1
yeelight            0.7.10
zeroconf            0.38.4
zipp                3.8.0

Problème résolu.
Voici les commandes à taper pour résoudre ce problème.

sudo pip3 uninstall -y pycrypto
sudo pip3 uninstall -y pycryptodome
sudo pip3 install pycryptodome

J’espère que ça pourra profiter à d’autres.
J’espère aussi que le script d’installation sera revu.

EDIT
quelques temps après, après être revenus sur ce plugin, voic la commande qui m’a sauvé

sudo pip3 install pycrotodomex
4 « J'aime »

c’est quand même étrange que les bonnes versions ne soient pas installées …

personnellement je n’utilise pas jeedom pour piloter l’alarme, ni le portail exactement pour les raisons que tu évoques. je déclenche des choses en plus via l’alarme dans jeedom, mais rien de vital. les logiciels de ce type sont en constante évolution et on subit toujours des bugs intempestifs. A contrario, le client Ajax et la télécommande du portail eux fonctionnent à tous les coups :wink:

cependant c’est vrai que c’est agréable quand la liaison avec jeedom marche. et pour conclure, il ne faut pas compter à ce que ça soit de niveau qualitatif équivalent à la solution native.

enfin un petit conseil, reboote ton jeedom régulièrment, si lui marche, les multitudes de routines en python tiers parties elles, peuvent ne pas être d’équerre

Pour moi ça n’a pas résolu…

Voici le log après manip

Traceback (most recent call last):
File "/var/www/html/plugins/ajaxSystem/resources/ajaxSystemd/ajaxSystemd.py", line 31, in 
from pysiaalarm import CommunicationsProtocol, SIAAccount, SIAClient, SIAEvent
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/__init__.py", line 28, in 
from .sync.client import SIAClient
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/sync/client.py", line 12, in 
from ..base_client import BaseSIAClient
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/base_client.py", line 6, in 
from .event import SIAEvent
File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/event.py", line 12, in 
from Crypto.Cipher._mode_cbc import CbcMode
ModuleNotFoundError: No module named 'Crypto.Cipher._mode_cbc'

Et le pip3 liste

Package             Version
------------------- -------------
aiohttp             3.8.1
aiosignal           1.2.0
aiosqlite           0.17.0
asn1crypto          0.24.0
async-timeout       4.0.2
asynctest           0.13.0
attrs               21.4.0
bellows             0.29.0
bluepy              1.1.4
bottle              0.12.18
certifi             2021.10.8
cffi                1.15.0
chardet             3.0.4
charset-normalizer  2.0.12
click               8.1.3
click-log           0.4.0
coloredlogs         15.0.1
crccheck            1.1
cryptography        37.0.2
dataclasses-json    0.5.2
distro-info         0.21
entrypoints         0.3
fail2ban            0.10.2
frozenlist          1.3.0
future              0.18.2
httplib2            0.11.3
humanfriendly       10.0
idna                3.3
importlib-metadata  4.11.3
importlib-resources 5.7.1
iotop               0.6
iso8601             0.1.13
jsonschema          4.5.1
keyring             17.1.1
keyrings.alt        3.1.1
marshmallow         3.14.1
marshmallow-enum    1.5.1
multidict           6.0.2
mypy-extensions     0.4.3
numpy               1.18.2
Pillow              7.1.1
pip                 22.0.4
pure-pcapy3         1.0.1
PyBluez             0.23
pycparser           2.21
pycrypto            2.6.1
pycryptodome        3.10.1
pycurl              7.43.0.2
PyDispatcher        2.0.5
PyGObject           3.30.4
pyinotify           0.9.6
pyrsistent          0.18.1
pyserial            3.5
pyserial-asyncio    0.6
pysiaalarm          3.0.0b9
PySimpleSOAP        1.16.2
python-apt          1.8.4.3
python-debian       0.1.35
python-debianbts    2.8.2
pyudev              0.23.2
pyusb               1.2.1
pyxdg               0.25
PyYAML              5.3.1
reportbug           7.5.3-deb10u1
requests            2.27.1
SecretStorage       2.3.1
setuptools          62.1.0
six                 1.16.0
stringcase          1.2.0
systemd-python      234
tornado             6.1
typing_extensions   4.2.0
typing-inspect      0.7.1
unattended-upgrades 0.1
urllib3             1.26.9
virtualenv          15.1.0
voluptuous          0.13.1
websocket-client    0.58.0
wheel               0.37.1
xmodem              0.4.6
yarl                1.7.2
zha-quirks          0.0.73
zigate              0.38.6
zigpy               0.45.1
zigpy-cc            0.5.2
zigpy-deconz        0.16.0
zigpy-xbee          0.14.0
zigpy-zigate        0.8.0
zigpy-znp           0.7.0
zipp                3.8.0

Je pense savoir d’où ça vient : une incompatibilité avec le plugin xiaomi.
Quand j’essaie de faire tourner ce dernier, ça flingue le SIA du plugin ajax.
Quelqu’un peut regarder ?

Oui probable notre cher ami a fait une MAJ du plugin xiaomi de mémoire il y a pas longtemps :wink:

Qui serait la cause du problème ?
C’est possible, j’ai refait un essai il y’a une semaine.
J’ai fini par le désinstaller.

en tout cas il te manque la prise en compte du module Crypto sur python 3.7. J’ai un répertoire mais il ne se liste pas sur « pip3 list »

le problème est revenu ce jour chez moi suite à un redémarrage jeedom

j’ai le même souci que toi ce matin après installation de la mise à jour du plugin ajax (en stable) … mon démon est bloqué et je n’ai rien installé sur mon jeedom depuis des lustres.

j’ai refait une installation des dépendances :

0000|+ echo '*******************Begin of package installation******************'
0001|*******************Begin of package installation******************
0002|+ touch /tmp/jeedom_install_in_progress_ajaxSystem
0003|+ echo 1
0004|+ echo 2
0005|+ sudo chmod +x /var/www/html/core/class/../../plugins/ajaxSystem/resources/post-install.sh
0006|+ sudo /var/www/html/core/class/../../plugins/ajaxSystem/resources/post-install.sh
0007|WARNING: There was an error checking the latest version of pip.
0008|Requirement already satisfied: pysiaalarm==3.0.0b9 in /usr/local/lib/python3.7/dist-packages (3.0.0b9)
0009|Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from pysiaalarm==3.0.0b9) (4.11.4)
0010|Requirement already satisfied: dataclasses-json==0.5.2 in /usr/local/lib/python3.7/dist-packages (from pysiaalarm==3.0.0b9) (0.5.2)
0011|Requirement already satisfied: pycryptodome>=3.9.7 in /usr/local/lib/python3.7/dist-packages (from pysiaalarm==3.0.0b9) (3.14.1)
0012|Requirement already satisfied: marshmallow-enum<2.0.0,>=1.5.1 in /usr/local/lib/python3.7/dist-packages (from dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (1.5.1)
0013|Requirement already satisfied: marshmallow<4.0.0,>=3.3.0 in /usr/local/lib/python3.7/dist-packages (from dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (3.14.1)
0014|Requirement already satisfied: typing-inspect>=0.4.0 in /usr/local/lib/python3.7/dist-packages (from dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (0.7.1)
0015|Requirement already satisfied: stringcase<2.0.0,==1.2.0 in /usr/local/lib/python3.7/dist-packages (from dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (1.2.0)
0016|Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->pysiaalarm==3.0.0b9) (3.8.0)
0017|Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->pysiaalarm==3.0.0b9) (4.2.0)
0018|Requirement already satisfied: mypy-extensions>=0.3.0 in /usr/local/lib/python3.7/dist-packages (from typing-inspect>=0.4.0->dataclasses-json==0.5.2->pysiaalarm==3.0.0b9) (0.4.3)
0019|WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
0020|WARNING: There was an error checking the latest version of pip.
0021|+ echo 3
0022|+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end ajaxSystem
0023|+ rm /tmp/jeedom_install_in_progress_ajaxSystem
0024|+ echo '*******************End of package installation******************'
0025|*******************End of package installation******************

si Loic de Jeedom passe par là…

0015|File "/var/www/html/plugins/ajaxSystem/resources/ajaxSystemd/ajaxSystemd.py", line 31, in 
0016|from pysiaalarm import CommunicationsProtocol, SIAAccount, SIAClient, SIAEvent
0017|File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/__init__.py", line 28, in 
0018|from .sync.client import SIAClient
0019|File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/sync/client.py", line 12, in 
0020|from ..base_client import BaseSIAClient
0021|File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/base_client.py", line 6, in 
0022|from .event import SIAEvent
0023|File "/usr/local/lib/python3.7/dist-packages/pysiaalarm/event.py", line 12, in 
0024|from Crypto.Cipher._mode_cbc import CbcMode
0025|File "/usr/local/lib/python3.7/dist-packages/Crypto/Cipher/_mode_cbc.py", line 37, in 
0026|from Crypto.Util.py3compat import _copy_bytes
0027|ImportError: cannot import name '_copy_bytes' from 'Crypto.Util.py3compat' (/usr/local/lib/python3.7/dist-packages/Crypto/Util/py3compat.py)

je me répond à moi-même, voilà la solution pour @loic69 :

depuis la console :
sudo pip3 uninstall -y pysiaalarm

puis relancer les dépendance à zéro, ça réinstalle tout proprement et ça repart tout seul

2 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.