Cannot import name 'HTTPStatus

Bonjour,
J’ai installé le plugin JMQTT puis j’ai lancé l’installation des dépendances en décochant l’option pour l’installation locale de Mosquitto. Le statut des dépendances est OK, mais l’installation du démon ne se réalise pas, ni en manuel ni en automatique. Je ne vois pas non plus où je dois introduire l’adresse IP et le port du disque virtuel sur lequel se trouve mon broker mosquitto mqtt.
Voici le log du démon :

*Traceback (most recent call last):*
*  File "/var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py", line 26, in <module>*
*    import websocket*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/__init__.py", line 22, in <module>*
*    from ._app import WebSocketApp*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_app.py", line 35, in <module>*
*    from ._core import WebSocket, getdefaulttimeout*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 38, in <module>*
*    from ._handshake import **
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_handshake.py", line 42, in <module>*
*    from http import HTTPStatus*
*ImportError: cannot import name 'HTTPStatus'*
*Traceback (most recent call last):*
*  File "/var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py", line 26, in <module>*
*    import websocket*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/__init__.py", line 22, in <module>*
*    from ._app import WebSocketApp*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_app.py", line 35, in <module>*
*    from ._core import WebSocket, getdefaulttimeout*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 38, in <module>*
*    from ._handshake import **
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_handshake.py", line 42, in <module>*
*    from http import HTTPStatus*
*ImportError: cannot import name 'HTTPStatus'*
*Traceback (most recent call last):*
*  File "/var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py", line 26, in <module>*
*    import websocket*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/__init__.py", line 22, in <module>*
*    from ._app import WebSocketApp*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_app.py", line 35, in <module>*
*    from ._core import WebSocket, getdefaulttimeout*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 38, in <module>*
*    from ._handshake import **
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_handshake.py", line 42, in <module>*
*    from http import HTTPStatus*
*ImportError: cannot import name 'HTTPStatus'*
*Traceback (most recent call last):*
*  File "/var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py", line 26, in <module>*
*    import websocket*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/__init__.py", line 22, in <module>*
*    from ._app import WebSocketApp*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_app.py", line 35, in <module>*
*    from ._core import WebSocket, getdefaulttimeout*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 38, in <module>*
*    from ._handshake import **
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_handshake.py", line 42, in <module>*
*    from http import HTTPStatus*
*ImportError: cannot import name 'HTTPStatus'*
*Traceback (most recent call last):*
*  File "/var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py", line 26, in <module>*
*    import websocket*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/__init__.py", line 22, in <module>*
*    from ._app import WebSocketApp*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_app.py", line 35, in <module>*
*    from ._core import WebSocket, getdefaulttimeout*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 38, in <module>*
*    from ._handshake import **
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_handshake.py", line 42, in <module>*
*    from http import HTTPStatus*
*ImportError: cannot import name 'HTTPStatus'*
*Traceback (most recent call last):*
*  File "/var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py", line 26, in <module>*
*    import websocket*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/__init__.py", line 22, in <module>*
*    from ._app import WebSocketApp*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_app.py", line 35, in <module>*
*    from ._core import WebSocket, getdefaulttimeout*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 38, in <module>*
*    from ._handshake import **
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_handshake.py", line 42, in <module>*
*    from http import HTTPStatus*
*ImportError: cannot import name 'HTTPStatus'*
*Traceback (most recent call last):*
*  File "/var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py", line 26, in <module>*
*    import websocket*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/__init__.py", line 22, in <module>*
*    from ._app import WebSocketApp*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_app.py", line 35, in <module>*
*    from ._core import WebSocket, getdefaulttimeout*
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 38, in <module>*
*    from ._handshake import **
*  File "/usr/local/lib/python3.4/dist-packages/websocket/_handshake.py", line 42, in <module>*
*    from http import HTTPStatus*
*ImportError: cannot import name 'HTTPStatus'*

J’ai relancé l’installation des démons en modifiant les ports en 2025 et 2026.
Je n’ai rien sélectionné dans la zone Téléverser un nouveau certificat.

Que puis-je faire ? Je vous en remercie d’avance.
Pascal

Bonjour,

Premièrement, ne pas poster dans un autre sujet sans rapport.
Ensuite, il manque quelques infos. Au minimum version de debian, version de jeedom.
Une capture de la page santé devrait toujours être fournie, elle contient les informations requises.

Je vous invite à consulter ce guide: Comment nous aider à vous aider - ou Comment poser une bonne question?

Python 3.4? Cela est une vieille version et donc vous n’êtes probablement pas à jour sur la version de Linux.

Bonjour et merci pour votre réaction.
Ma version de Jeedom est la 3.3.54 sur un Smart.

Voici la page santé :

J’ai 2 plugin qui ne fonctionnent pas : JMQTT et RFX com
Sur le RFXcom, cela fait longtemps que les dépendances ne se chargent plus mais comme RFplayer tourne sans problème, j’ai pas eu besoin de m’occuper de ce problème.
JMQTT, je viens de l’installer.

En ce qui concerne Linux, je n’ai jamais osé y toucher car je n’y connais rien. Donc, j’ai la version installée d’origine sur ma Smart qui doit dater de 4 à 5 ans.
Honnêtement, tant que ça tourne, je touche à rien. J’ai d’ailleurs peur de passer à la version 4 de Jeedom car j’ai vu que certains avaient eu des problèmes et que n’étant pas du tout informaticien, c’est pas évident. Je fais de l’informatique comme de la cuisine, en suivant les recettes (tutos) que je trouve sur internet.

Mon problème serait lié à la version de Linux ? J’ai trouvé la procédure suivante dans la documentation :
Documentation Jeedom

C’est donc ce que je dois faire en priorité ?

Merci pour votre support et votre guide des questions à poser.

Bonjour,

Après lecture de votre page santé effectivement votre version de debian est obsolète cette dernière étant une version 8.

Alors externaliser une sauvegarde (sur un ordinateur, un nas, etc…) vu que vous êtes sur une smart vous munir d’une clé usb de 16Go (préférable) en formaté en FAT32, y copier la dernière image de l’os pour votre smart, l’installer et réinjecter votre sauvegarde.

Par contre si vous avez peur de ne pas être à la hauteur de la manipulation je vous invite a voir autour de vous si une personne serait susceptible de vous fournir de l’aide.

Vous trouverez tout ce qui vous est utile à cette migration sur les tutoriels d’ @akenad ci-dessous.

Effectivement, suivez la procédure de la documentation officielle pour migrer: https://doc.jeedom.com/fr_FR/howto/migrationos.smart
Vous n’avez qu’à suivre la recette mais appliquez chaque étape dans l’ordre et si une étape ne semble pas conforme, ne l’ignorez pas mais venez poser la question.

1 « J'aime »

C’est parti mais j’angoisse car cela fait 10 minutes que la copie du backup s’est arrêtée sur 80 % et j’ai eu un pop-up bleu signalant une erreur de connexion jeedom.

23 minutes que rien ne bouge. Je vais éteindre la box, reformater la clé et recommencer.
Je pense que pendant cette phase de copie de backup, un arrêt ne provoquera pas une catastrophe.

Apparemment, Jeedom n’a pas été affecté.

Ne parvenant pas à faire une mise à jour de ma box, j’ai installé Debian 11 sur une machine virtuelle puis Jeedom V4.1 sur celle-ci. J’ai ensuite relié les 2 jeedom avec jeelink. Jusque là tout fonctionnait. J’ai alors installé jMQTT mais les dépendances ne se lancent pas. J’ai cherché et j’ai vu que certains plugin ne fonctionnaient pas encore sous debian 11 mais bien sous debian 10. Je pense que c’est la raison.
J’ai donc fait un backup de ma jeedom v4 car j’y avais déjà créé tous les objets et relié via jeelink tous les équipements que je souhaitais. J’ai téléchargé ce backup en espérant le récupérer dans ma V4 sous debian 10 sans problèmes. On verra. Je recrée une nouvelle machine virtuelle avec debian 10 et je vous tiens au courant.

Bonsoir,
C’est bien d’être repasser en debian10
pour avoir fait des tests en bullseye debian 11
la version bêta de jMQTT fonctionne sous cet environnement !
comme je suis en distant je ne sais si mosquito qui est sur une autre machine est fonctionnel si on passe en local …

Bonjour Pme1159,

pour migrer une Smart de Debian 8/Jessie en Debian 10/Buster, le plus simple
et le moins risqué est de se procurer une nouvel eMMC, voir ici : [Présentation] akenad - #26 par akenad

akenad :slight_smile:

1 « J'aime »

Merci Akenad, je ne savais pas. J’essaierai quand je serai de retour à la maison car je suis en France depuis hier. Du coup, j’avais pas encore eu le temps de faire le point sur mon état d’avancement. En attendant, la solution avec la V4.1 sous debian 10 installée sur une machine virtuelle et liée à ma smart via jeelink fonctionne et les dépendances de jMQTT s’installent bien dans cette V4.
Merci à tous pour votre support. Je vais clôturer ce point même si je vais maintenant faire la mise à jour de ma Smart.