jeedom-zigate / jeedom-plugin-zigate

Plugin Jeedom for ZiGate key.
MIT License
29 stars 12 forks source link

Conflit Zigate et Pizigate #295

Open Otnarac opened 3 years ago

Otnarac commented 3 years ago

Bonjour,

Je rencontre un problème avec ma PiZigate et le plugin Zigate sur Jeedom, mais mes connaissances et mes recherches ne permettent pas d'en trouver la cause. J'ai essayé de résoudre le problème sur un groupe FB et le forum de Jeedom mais sans succès. C'est donc ici mon dernier espoir.

Je suis sur Rpi3b+, Jeedom V4, Plugin 1.7.6, version lib 0.40.11, version firmware 3.1d et sur le port dev/ttyAMA0

J'ai constaté un problème lorsque j'ai voulu inclure un module.

La Pizigate en mode inclusion clignote bien, dans le plugin, le demon est OK, tout semble bien fonctionner et pourtant.

Lorsque le plugin Zigate est désactivé, si je teste ma clé, le résultat est correct et comme dans la documentation, mais si je teste ma Pizigate avec le plugin activé :

git clone https://github.com/fairecasoimeme/PiZiGate-tools.git
cd PiZiGate-tools
cd test
make
chmod +x PiZiGate_test
sudo ./PiZiGate_test /dev/ttyAMA0

J'ai le retour suivant : Port : /dev/ttyAMA0 is already used. Please read output.tmp file to get more informations about process which use /dev/ttyAMA0

Je teste donc avec :

cat output.tmp

La j'ai le retour suivant :

python3   22299                    www-data    5u      CHR     204,64      0t0       7849 /dev/ttyAMA0
python3   22299 22324 python3      www-data    5u      CHR     204,64      0t0       7849 /dev/ttyAMA0
python3   22299 22353 python3      www-data    5u      CHR     204,64      0t0       7849 /dev/ttyAMA0
python3   22299 22354 python3      www-data    5u      CHR     204,64      0t0       7849 /dev/ttyAMA0
python3   22299 22426 python3      www-data    5u      CHR     204,64      0t0       7849 /dev/ttyAMA0
python3   22299 22427 python3      www-data    5u      CHR     204,64      0t0       7849 /dev/ttyAMA0
python3   22299 24650 python3      www-data    5u      CHR     204,64      0t0       7849 /dev/ttyAMA0

Il semble donc que python pose un problème ?

Visiblement, sur la doc du plugin, il faut le bon pip (9.X.X) alors que je suis en 18.1 si je teste :

pip2 -V

pip 18.1 from /usr/lib/python2.7/dist-packages/pip (python 2.7)

Par contre, si je teste pip3 -V ou pip -V j'ai le résultat suivant :

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 10, in <module>
    from importlib.metadata import distribution
ModuleNotFoundError: No module named 'importlib.metadata'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 13, in <module>
    from importlib_metadata import distribution
ModuleNotFoundError: No module named 'importlib_metadata'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 567, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 884, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 775, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (pip 18.1 (/usr/lib/python3/dist-packages), Requirement.parse('pip==9.0.1'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 15, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 3238, in <module>
    @_call_aside
  File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 3222, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 3251, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 569, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 582, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 770, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pip==9.0.1' distribution was not found and is required by the application

Si je lance ensuite (je suis la doc) sudo python3 -m pip uninstall pip j'ai le retour :

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  gir1.2-glib-2.0 javascript-common libgirepository-1.0-1 libjs-jquery
  libjs-sphinxdoc libjs-underscore libpython-all-dev python-all python-all-dev
  python-configparser python-dbus python-entrypoints python-gi python-keyring
  python-keyrings.alt python-secretstorage python-wheel python-xdg
  python3-crypto python3-dbus python3-entrypoints python3-gi python3-keyring
  python3-keyrings.alt python3-secretstorage python3-wheel python3-xdg
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
Les paquets suivants seront ENLEVÉS :
  python-pip python3-pip
0 mis à jour, 0 nouvellement installés, 2 à enlever et 0 non mis à jour.
Après cette opération, 1 514 ko d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] o
Annulation.

Pourtant, à la question, je tape bien sur le O (le o et pas le 0)

La commande which pip me retourne bien /usr/bin/pip et la commande sudo cp /usr/bin/pip2 /usr/bin/pip ne me retourne rien.

J'ai également régulièrement ce genre de log sur Jeedom :

/usr/local/lib/python3.7/dist-packages/zigate/core.py:2393: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(27, GPIO.OUT)  # GPIO2
/usr/local/lib/python3.7/dist-packages/zigate/core.py:2401: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)  # GPIO0
/usr/local/lib/python3.7/dist-packages/zigate/core.py:2393: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(27, GPIO.OUT)  # GPIO2

Voila donc mon problème.

Je ne sais pas trop si c'est l'endroit pour le poster où non, je suis désolé si ce n'est pas le cas, mais j'arrive au bout de mes capacités. J'ai essayé de détailler le maximum mon problème en espérant que ça soit clair. Peut être il s'agit d'un truc bête mais je ne suis pas assez calé sur linux/jeedom pour déchiffrer cela.

Je ne suis même pas sur que le problème soit lié au Plugin (mais je pense vu que sans la clé donne le bon résultat).

Merci d'avance du temps passé à m'aider.

JeedomPupu commented 3 years ago

Salut ! J'ai le même problème que toi depuis que j'ai changé de boîtier, en apparence tout est OK mais rien ne bouge.

De mon côté je suis avec un RPI 4 (jeedom V4), même version que toi mais sur le port ttyS0, et quand je test le ttyS0 cela fonctionne ! (--> Attention, pour le test "PiZiGate_test" il faut désactiver le plugin depuis Jeedom avant !)

Et dans la libraire python le pip 3 me renvoi bien quelque chose.

Par contre impossible de faire une inclusion et tout mes équipements Zigbee ne fonctionnent plus.

Je vais essayer de faire des tests en remettant juste le RPI et la PiZiGate seuls. A voir.

Si quelqu'un a une idée, je suis aussi preneur !