Pb prise aqara Zigbee chinoise plugin Xiaomihome

Merci pour la manip, c’est top !
La version qui s’affiche reste celle du 15 avril mais l’essentiel c’est que cela fonctionne de nouveau :slight_smile:

Merci, je l’avais lu justement pour savoir si j’étais sur des versions cohérentes ou non.
Du coup ton pip et python sont passés en v3 si tu as fait l’upgrade ? Et ton système est par défaut en v3 maintenant ? (Sauf si tu as du zwave p-e)

Salut, j’ai joue, j"ai testé, j’ai perdu :frowning: xiaomihome ne marche plus du tout ni sur la nouvelle version, ni sur l’ancienne.

j’ai tenté de suivre les actions en ssh de ton lien, mais j’ai du merder :smiley:
je vais essayer de tout remettre au propre sur buster et si j’y arrive pas je vais tenter de tout remonter sur combee2 et merttre les gateway au placard

Bonjour,
C’est aussi mon intention de passer sur le nouveau plugin Zigbee mais il reste le problème des appareils wifi. Aspirateur, ventilateur…

Tu eux essayer la version Beta sur ta Test stp ? Pas de changement pour le wifi, mais à tester les actions aqara

Dans le répertoire plugins/xiaomihome/resources il y a différents scripts d’installation des dépendances.
J’ai lancé en ssh en étant préalablement mis en root (su -):

sudo sh install_force.sh

Pour moi cela semble re-fonctionner sans aucune erreur

EDIT: désolé, j’ai crié victoire trop vite. j’ai toujours l’erreur SOCKET :frowning_face:

Bonjour,
Ok je fais ça dès que possible.

En fait cela fonctionne à condition de faire ce que j’ai dit au-dessus et de modifier le source xiaomihome.class.php ligne 201.
J’ai remplacé:

$cmd = '/usr/bin/python3 ' . $xiaomihome_path . '/xiaomihomed.py';

par

$cmd = '/usr/bin/python ' . $xiaomihome_path . '/xiaomihomed.py';
3 « J'aime »

J’ai essayé mais j’avais d’autres erreurs.

Déjà les logs de l’installation des dépendances: xiaomihome_dep (2).log (42,9 Ko)

Ca ne fonctionne pas.
Voila les logs sur allumage de la gateway : xiaomihome.log (3,3 Ko)

Voila les logs sur allumage de la mi plug Zigbee : xiaomihome_MiPlug.log (2,0 Ko)

  • Plugin :
    • Beta 2021-04-27 11:44:21

  • Matériel :
    • Synology: DS218+
    • VMM: debian-10.9.0-amd64
    • HDD : 11.66 GB / 20 GB (58.31%)
    • Coeurs : 2.
    • RAM : 2 GB.
    • PHP 7.3.27-1~deb10u1 (cli) (built: Feb 13 2021 16:31:40) ( NTS )
    • mariadb Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
    • Server version: Apache/2.4.38 (Debian) Server built: 2020-08-25T20:08:29

  • Jeedom
    • Version : 4.1.22
    • Source : default
    • Branche : V4-stable
    • Système : diy

Merci pour ça, ça fonctionne très bien !
Comme quoi il faut toujours cliquer sur faire une sauvegarde avant de faire une mise à jour!
a++

1 « J'aime »
python --version
Python 2.7.16
python2 --version
Python 2.7.16
python3 --version
Python 3.7.3
pip --version
pip 20.2.4 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)
pip2 --version
pip 18.1 from /usr/lib/python2.7/dist-packages/pip (python 2.7)
pip3 --version
pip 20.2.4 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)

akenad :slight_smile:

En résumé à ce stade, quelques erreurs constatées sur des actions, du type :
« [ERROR] : SOCKET-READ------Exception on socket : »

  • IV must be 16 bytes long
  • Object type <class ‹ str ›> cannot be passed to C code
  • ‹ str › object has no attribute ‹ decode ›
  • local variable ‹ Packet › referenced before assignment

akenad :slight_smile:

Je confirme, j’ai fait ça et tout est rentré dans l’ordre. Merci pour l’astuce en attendant une vraie correction de @lunarok

1 « J'aime »

en tentant de régler le problème , j’ai fais ce qui était dis dans le fichier log :

pip install --upgrade pip
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pip
  Downloading https://files.pythonhosted.org/packages/27/79/8a850fe3496446ff0d584327ae44e7500daf6764ca1a382d2d02789accf7/pip-20.3.4-py2.py3-none-any.whl (1.5MB)
    100% |████████████████████████████████| 1.5MB 146kB/s 
Installing collected packages: pip
Successfully installed pip-20.3.4

Est ce grave ? Merci

Pour essayer de faire fonctionner tout de même avec python3, moi j’ai fait:

pip3 install --upgrade pip

et aussi

sudo pip3 install rust --upgrade --ignore-installed

pour installer cryptography. A priori ça a marché, mais j’ai toujours l’erreur

SOCKET-READ------Exception on socket : IV must be 16 bytes long
2 « J'aime »

Je confirme.

Je tourne aussi sur crypto 2.6.1 (debian 10 à jour, jeedom 4 sous VM).

Merci pour ce fil en tout cas et merci à ce qui ont trouvé une solution palliative.

Je confirme aussi que ca fonctionne de nouveau avec ce « patch ».

Pour info :

pi@jeedom:~ $ pip3 list | grep cryptography
cryptography        3.4.7    
pi@jeedom:~ $ pip list | grep cryptography
cryptography     2.6.1    
pi@jeedom:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 10 (buster)
Release:	10
Codename:	buster
pi@jeedom:~ $ /usr/bin/python -V
Python 2.7.16
pi@jeedom:~ $ /usr/bin/python3 -V
Python 3.7.3

M.

Je complète, gérant plusieurs installations dans mon entourage.

La mienne OK après modification.
Mise à jour sur la dernière version il y a quelques jours :

boss@VM-DEB10-JEEDOM:~$ pip3 list | grep cryptography
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
cryptography        3.4.7
boss@VM-DEB10-JEEDOM:~$ pip list | grep cryptography
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
cryptography        3.4.7
boss@VM-DEB10-JEEDOM:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
boss@VM-DEB10-JEEDOM:~$ /usr/bin/python -V
Python 2.7.16
boss@VM-DEB10-JEEDOM:~$ /usr/bin/python3 -V
Python 3.7.3

La VM de monitoring où je pilote notamment une prise serveur au besoin. Mais je n’ai pas eu l’erreur ; donc pas de modif de code à faire. car je n’ai pas fait la mise à jour du 15/4 !

boss@VM-DEB10-JEEMONIT:~$ pip3 list | grep cryptography
cryptography        2.6.1
boss@VM-DEB10-JEEMONIT:~$ pip list | grep cryptography
cryptography  2.6.1
boss@VM-DEB10-JEEMONIT:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
boss@VM-DEB10-JEEMONIT:~$ /usr/bin/python -V
Python 2.7.16
boss@VM-DEB10-JEEMONIT:~$ /usr/bin/python3 -V
Python 3.7.3
boss@VM-DEB10-JEEMONIT:~$

J’ai d’autres configurations au cas où sous Debian9 notamment.

1 « J'aime »

Super, merci pour les commandes, j’ai retrouvé le pilotage de mes Yeelight et l’usage de mes interrupteurs Xiaomi.