Pb prise aqara Zigbee chinoise plugin Xiaomihome

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.

pour ma part:
pi@jeedom:~ $ pip3 list | grep cryptography
cryptography 3.4.7
pi@jeedom:~ $ pip list | grep cryptography
cryptography 3.4.7
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

$cmd = '/usr/bin/python ’ . $xiaomihome_path . ‹ /xiaomihomed.py ›;
demon reste sur nok

bonjour a tous,

J’ai aussi eu le problème après la mise a jour, j ai donc fait une restaure.
Petite question, il va y avoir une nouvelle mise a jour ou il faut faire la manip de la modification du fichier xiaomihome.class.php ?
Merci par avance

Essaies de faire ce qu’il y a ci-dessus

Apparemment @lunarok est sur le coup. Perso j’attends la mise à jour plutôt que de toucher au code du plugin.

Ca n’apporte rien à l’évolution mais pareil chez moi et ok en pointant sur python au lieu de python3 dans xiaomihome.class.php
Merci pour la rustine et bon courage @lunarok pour le debug

Moi aussi j’ai fais un restaure, du coup pour moi y pas d’urgence.
Bon courage @lunarok.

Oui ! Moi aussi bon courage a lunarok surtout pour l’intégration de Mio
comme la fait home assistant

[Universal Xiaomi MIoT intégration]

Salut à tous,
Même bug en jeedom smart bien mise à jour.
PLus moyen de controler une gateway (lumiere, ou son), mais remontée aqua OK.

root@Jeedom:~# pip3 list | grep cryptography
cryptography 3.3.1

C’est un peu la cata pour moi mais bon, je m’en remettrai.
Merci à Lunarok pour son travail futur.

Merci Blusy pour votre réponse.