Plugin enocean / problème de port

Tags: #<Tag:0x00007f283773e540>

Bonjour,

J’ai un problème avec ce plugin
Il est bien installé. Configuration ok. Dépendances ok.
Par contre, j’ai toujours un problème de connexion au port.
Dans le log :

2020-03-12 16:32:48][ERROR] : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2020-03-12 16:32:51][INFO] : Lancement démon openenocean : /usr/bin/python /var/www/html/plugins/openenocean/resources/openenoceand/openenoceand.py --device /dev/ttyUSB0 --loglevel debug --socketport 55006 --callback http://127.0.0.1:80/plugins/openenocean/core/php/jeeOpenEnOcean.php --apikey NGfq932mZFcU3h4aCR8EGLNdbBUvZYmy --cycle 0.3 --pid /tmp/jeedom/openenocean/deamon.pid
  File "/var/www/html/plugins/openenocean/resources/openenoceand/openenoceand.py", line 35
    print "Error: importing module from jeedom folder"
                                                     ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Error: importing module from jeedom folder")?
[2020-03-12 16:33:32][ERROR] : Impossible de lancer le démon openenocean, vérifiez le port

image

jeedom 4.0.43
encoean : 2020-02-18 01:21:25

Bizarre la date inconnue sur les dépendances…
On peut avoir le log d’install des dépendances ?

Pour info, j’avais un soucis sur l’installation des dépendances.
J’ai du faire ca :
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2

ci dessous le log d’installation des dépendances. Je viens de les ré-installer:

********************************************************
*             Installation des dépendances             *
********************************************************
Get:1 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Hit:2 http://archive.raspberrypi.org/debian buster InRelease
Fetched 15.0 kB in 8s (1829 B/s)
Reading package lists...

Reading package lists...
Building dependency tree...
Reading state information...
Package 'python-enum' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists...
Building dependency tree...
Reading state information...
python-pyudev is already the newest version (0.21.0-1).
python-requests is already the newest version (2.21.0-1).
python-serial is already the newest version (3.4-4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: enum-compat in /usr/local/lib/python3.7/dist-packages (0.0.3)
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.7/dist-packages (4.8.2)
Requirement already satisfied: soupsieve>=1.2 in /usr/local/lib/python3.7/dist-packages (from beautifulsoup4) (2.0)
********************************************************
*             Installation terminée                    *
********************************************************

image

et j’ai toujours le même résultat :

[2020-03-12 23:25:25][INFO] : Lancement démon openenocean : /usr/bin/python /var/www/html/plugins/openenocean/resources/openenoceand/openenoceand.py --device /dev/ttyUSB0 --loglevel debug --socketport 55006 --callback http://127.0.0.1:80/plugins/openenocean/core/php/jeeOpenEnOcean.php --apikey NGfq932mZFcU3h4aCR8EGLNdbBUvZYmy --cycle 0.3 --pid /tmp/jeedom/openenocean/deamon.pid
  File "/var/www/html/plugins/openenocean/resources/openenoceand/openenoceand.py", line 35
    print "Error: importing module from jeedom folder"
                                                     ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Error: importing module from jeedom folder")?
[2020-03-12 23:25:58][ERROR] : Erreur sur la fonction deamon_start du plugin : Vous devez attendre au moins 45 secondes entre deux lancements du démon. Dernier lancement : 2020-03-12 23:25:22
[2020-03-12 23:26:06][ERROR] : Impossible de lancer le démon openenocean, vérifiez le port

Bonjour @manugre,

C’est une très bonne initiative d’avoir dit ce que tu as fais sur le système. Çà permet d’avoir l’explication à ton problème.
Mais pourquoi as-tu exécuté cette commande ? Ce n’est pas une bonne idée. C’est justement ce qui pose problème.

Cette commande modifie la version de python par défaut au niveau système.

Apparemment tu es en Pi buster.
Autrement dit dans ce contexte cette commande définie python3.7 comme version python par défaut au lieu de python2.7.
ça veut dire que avant cette commande tu avais quelque chose comme :

# python --version
Python 2.7.16

et après :

# python --version
Python 3.7.3

Autrement dit python « pointe » sur python3 alors qu’avant il pointait sur python2.

Le lancement du démon openenocean se fait avec la commande /usr/bin/python …
Donc cela exécute un démon conçu pour python2 sur du python3. On peut donc s’attendre à ce que cela produise des erreurs de syntaxe.

Par ailleurs dans le script d’Installation des dépendances du plugin EnOcean il y a :

pip install enum-compat
pip install beautifulsoup4

(pip pointe en principe par défaut sur python2)

et tu dois avoir un extrait de :
# pip list

du genre :

beautifulsoup4                4.7.1
enum-compat                   0.0.3
soupsieve                     1.8

Donc ces modules ont été installés dans la lib python2.
donc le démon openenocean cherche à atteindre des modules python dans la lib python3 alors qu’ils sont dans la lib python2.

Moralité, éviter de lancer des commandes trouvées sur internet sans savoir ce que l’on fait, cela peut casser l’environnement système nécessaire à Jeedom pour fonctionner.

Ma suggestion :

  1. tenter de revenir en arrière en lançant d’autres commandes trouvées sur internet (non je plaisante !)

  2. reflasher buster / installe Jeedom et restauration

Plus de détails ici : [Présentation] akenad

akenad :slight_smile:

ok, merci de ta réponse. Je vais essayer dès que je peux.
Pour info, voici pourquoi j’ai fait ca !

Moralité, éviter de lancer des commandes trouvées sur internet sans savoir ce que l’on fait, cela peut casser l’environnement système nécessaire à Jeedom pour fonctionner.

Le forum Jeedom, c’est ’ internet sans savoir ce que l’on fait’ ? :blush:

1 J'aime

Hello,

Je suis aussi ce topic car j’ai exactement le même problème que manugre sur une install faite lors des vacances d’hiver pour un 2e RPI (1er RPI ok il y a 2 ans mais ça remonte).

Je tenterai un soft reset quand j’en aurai l’occasion, mais en attendant j’ai les mêmes logs que manugre et les mêmes versions de jeedom + enocean.

Salut,
Je te rassure, ca ne marche pas non plus chez moi !
Donc pour le moment mon jeedom est HS !

J’attends donc la nouvelle version du plugin enOcean avec impatience !

Bonsoir,
Pour réussir à faire marcher le plugin, j’avais le même problème de python, j’ai fini par désinstaller le plugin, sauvegarder ma Jeedom, faire une fresh install stretch, restaurer Jeedom et ma sauvegarde, réinstaller le plugin et là ça s’est mis à marcher.
J’en avais marre d’essayer plein de trucs contradictoires trouvés sur le forum.
Pourtant, j’avais une version buster très récemment installée sur mon RPI3.
Si ça peut aider.

Bonjour @manugre,

En attendant :

Si :

$ python --version
Python 2.7.x

Faire :

$ sudo python -m pip install soupsieve==1.8

Relance installe dépendances.

Plus de détails ici : [Présentation] akenad

akenad :slight_smile:

1 J'aime

Dommage que ça ne vienne que maintenant (ou que je ne l’ai pas trouvé avant).

Ca ne vient pas que maintenant. J’avais déjà mentionné soupsieve 1.8 dans mon post précédent.
Bon tout ça ne vaut pas le F77 (aka IBM FORmula TRANslator V) !

akenad :slight_smile:

Merci Akenad,

Ca marche aussi chez moi.
Bien à toi.

F77, ça fait longtemps que je n’avais pas entendu parle de ça.
Au moins 20 ans
Pourquoi pas Pascal ou LSE

Le mal était déjà fait pour moi. Mais après réinstallation avec ces instructions, ça passe. Merci!

Bonjour
Comment fait on pour passer ces commandes sur une smart box?