Sonde de température Xiaomi Mijia LYWSD03MMC

Là je ne sais pas,

Moi sur VM kvm proxmox et pi0 auncuns pb;

Tu peux monter ton fichier avec mes mac et key histoire de vérifier

Bonjour,

J’ai récupéré la version MiHome 5.6.88 moddé par vevs & rezmus mais je n’arrive pas à récupérer le token de mon capteur LYWSD03MMC, peux tu me filer un petit coup de main STP ?

Merci.

1 « J'aime »

J’ai réussi à le faire via l’application moddée :

  • Il te faut créer deux dossiers (vevs et logs) à la racine de ton téléphone (via une application type Solid Explorer) de cette manière : internal_storage/vevs/logs/
  • Tu installes l’application moddée.
  • Il te redémarrer ton téléphone (obligatoire pour moi)
  • Réajouter tes sondes.
  • Regarder dans le dossier logs créé précedemment, tu y trouveras toutes les infos nécessaires.
1 « J'aime »

Oui, ou dans l’appli tu retrouves le token quand tu vas dans « partager » et ensuite par appareil…

Sinon, je continu, dans mon log blea de mon antenne local (laquelle est paramétrée dans la sonde) j’ai ça :

[2020-05-29 20:32:31.440][INFO] : LYWSD03------adv data=95fe30585b052662f4f238cXXXXX, mac=a4:c1:38:ff:ff:ff, name=lywsd03, manuf=
[2020-05-29 20:32:31.440][INFO] : LYWSD03------No Data

[2020-05-29 20:42:41.476][INFO] : LYWSD03------adv data=95fe58585b052962f4f238cXXXXX9b7a6cff00000039cXXXXX, mac=a4:c1:38:ff:ff:ff, name=lywsd03, manuf=
[2020-05-29 20:42:41.476][INFO] : LYWSD03------Encrypted

Hors si je ne m’abuse, le adv data devrait être mon token ? Car c’est pas le bon si c’est ça…
Et malgré les arrêt / démarrage du demon, il ne change pas…

Je pige pas où j’ai merdé… :sob: :sob: :sob:

1 « J'aime »

Comme je t’ai dis montre nous ton fichier python, pour vérifier

Ce fichier ?!
lywsd03.py.txt (3,9 Ko)

La mac de ton log ne correspond pas a celle de ton fichier c’est ps normal

Normal, j’ai rajouté des XXX et des ff pour « cacher » la vraie, mais vu que j’envoie le fichier ensuite, ça ne sert à rien ! ^^

Mais c’est bien les mêmes…

[2020-05-29 21:47:29.631][INFO] : LYWSD03------adv data=95fe30585b053f62f4f238c1a408, mac=a4:c1:38:f2:f4:62, name=lywsd03, manuf=
[2020-05-29 21:47:29.631][INFO] : LYWSD03------No Data
[2020-05-29 21:47:39.717][INFO] : LYWSD03------adv data=95fe58585b054062f4f238c1a4cac7412f21000000176e5db2, mac=a4:c1:38:f2:f4:62, name=lywsd03, manuf=
[2020-05-29 21:47:39.717][INFO] : LYWSD03------Encrypted
[2020-05-29 21:47:47.722][INFO] : LYWSD03------adv data=95fe30585b054162f4f238c1a408, mac=a4:c1:38:f2:f4:62, name=lywsd03, manuf=
[2020-05-29 21:47:47.722][INFO] : LYWSD03------No Data
[2020-05-29 21:47:52.607][INFO] : LYWSD03------adv data=95fe30585b054162f4f238c1a408, mac=a4:c1:38:f2:f4:62, name=lywsd03, manuf=
[2020-05-29 21:47:52.607][INFO] : LYWSD03------No Data

Le log INFO « Encrypted » veut dire que tu as bien reçu une trame qui contient des données. Si il n’y a pas de log ERROR après c’est que ca devrait s’être bien passé :thinking:

Tu peux nous remontrer la même séquence en mode DEBUG ?

Pas de remontée supplémentaire malgré le mode DEBUG
Je vais peut-être relancer une installation de BLEA, à voir…

C’est ballot, j’en ai acheté 4 comme ça…

J’ai oublié de préciser que je n’ai que des antennes, est-ce l’origine de mes problèmes ?!
Peut-être…
J’ai ça dans le log sinon :

[2020-05-31 12:33:24.539][DEBUG] : SCANNER------[(1, 'Flags', '06'), (22, '16b Service Data', '95fe30585b05d662f4f238c1a408')] True public a4:c1:38:f2:f4:62
[2020-05-31 12:33:24.539][DEBUG] : No name in data but i know it is : lywsd03
[2020-05-31 12:33:24.539][DEBUG] : LYWSD03------isvalid data=95fe30585b05d662f4f238c1a408, mac=a4:c1:38:f2:f4:62, name=lywsd03, manuf=
[2020-05-31 12:33:24.539][DEBUG] : SCANNER------This is a lywsd03 device a4:c1:38:f2:f4:62
[2020-05-31 12:33:24.539][INFO] : LYWSD03------adv data=95fe30585b05d662f4f238c1a408, mac=a4:c1:38:f2:f4:62, name=lywsd03, manuf=
[2020-05-31 12:33:24.539][INFO] : LYWSD03------No Data

Pas un problème d’avoir que des antennes.

Est ce que tu peux poster le même log avec « Encrypted » au lieu de « No Data »

Je sui intéressé par les lignes après « Encrypted »

[2020-06-01 10:59:59.338][DEBUG] : Starting new HTTP connection (1): 192.168.0.15
[2020-06-01 10:59:59.344][DEBUG] : http://192.168.0.15:80 "POST /plugins/blea/core/php/jeeBlea.php?apikey=s2K0LVDuCqDQE783QvPQQl1OqC4vyEn0 HTTP/1.1" 200 0
[2020-06-01 10:59:59.453][DEBUG] : SCANNER------[(0, '0x0', ''), (1, 'Flags', '06'), (2, 'Incomplete 16b Services', '0000180f-0000-1000-8000-00805f9b34fb'), (255, 'Manufacturer', '800102151234c60ef808bbc5')] True public 58:9e:c6:0e:f8:08
[2020-06-01 10:59:59.454][DEBUG] : No name in data but i know it is : Gigaset G-Tag
[2020-06-01 10:59:59.454][DEBUG] : SCANNER------This is a gigaset g-tag device 58:9e:c6:0e:f8:08
[2020-06-01 10:59:59.454][DEBUG] : SCANNER------It's a known packet and this device is not Included but i'm not antenna allowed not parsing only sending simple datas 58:9e:c6:0e:f8:08
[2020-06-01 10:59:59.454][DEBUG] : {'rssi': -92, 'present': 1, 'type': 'gigaset g-tag', 'id': '58:9E:C6:0E:F8:08', 'source': 'VM-BLEA', 'name': 'Gigaset G-Tag'}
[2020-06-01 10:59:59.454][DEBUG] : LYWSD03------isvalid data=, mac=58:9e:c6:0e:f8:08, name=Gigaset G-Tag, manuf=800102151234c60ef808bbc5
[2020-06-01 10:59:59.745][DEBUG] : Send to jeedom : {'devices': {'58:9E:C6:0E:F8:08': {'rssi': -92, 'present': 1, 'type': 'gigaset g-tag', 'id': '58:9E:C6:0E:F8:08', 'source': 'VM-BLEA', 'name': 'Gigaset G-Tag'}}}
[2020-06-01 10:59:59.747][DEBUG] : Starting new HTTP connection (1): 192.168.0.15
[2020-06-01 10:59:59.751][DEBUG] : http://192.168.0.15:80 "POST /plugins/blea/core/php/jeeBlea.php?apikey=s2K0LVDuCqDQE783QvPQQl1OqC4vyEn0 HTTP/1.1" 200 0
[2020-06-01 11:00:00.601][DEBUG] : No name in data but i know it is : lywsd03
[2020-06-01 11:00:00.601][DEBUG] : LYWSD03------isvalid data=95fe58585b05e962f4f238c1a445e5f5a6d705000051f6b4ee, mac=a4:c1:38:f2:f4:62, name=lywsd03, manuf=
[2020-06-01 11:00:00.601][DEBUG] : SCANNER------This is a lywsd03 device a4:c1:38:f2:f4:62
[2020-06-01 11:00:00.601][INFO] : LYWSD03------adv data=95fe58585b05e962f4f238c1a445e5f5a6d705000051f6b4ee, mac=a4:c1:38:f2:f4:62, name=lywsd03, manuf=
[2020-06-01 11:00:00.602][INFO] : LYWSD03------Encrypted
[2020-06-01 11:00:00.602][DEBUG] : SCANNER------Parse failed a4:c1:38:f2:f4:62 Incorrect AES key length (12 bytes)
[2020-06-01 11:00:00.602][DEBUG] : {'rssi': -76, 'present': 1, 'type': 'lywsd03', 'id': 'A4:C1:38:F2:F4:62', 'source': 'VM-BLEA', 'name': 'lywsd03'}
[2020-06-01 11:00:00.753][DEBUG] : Send to jeedom : {'devices': {'A4:C1:38:F2:F4:62': {'rssi': -76, 'present': 1, 'type': 'lywsd03', 'id': 'A4:C1:38:F2:F4:62', 'source': 'VM-BLEA', 'name': 'lywsd03'}}}

J’ai un tag Gigaset qui se fait passer pour un LYWSD03 ?!
Et donc ce qui t’intéresse, Incorrect key AES, ça veut dire que mon token n’est pas le bon, ou simplement trop long ?! Il est en 24 caractères…

J’ai aussi de mon coté aucune remonté de mes 4 capteurs.

VM jeedom et Blea sur antenne VM

j’ai modifié le fichier lywsd03.py sur la VM Jeedom, comment le modifier sur l’antenne ?

j’ai installer pycryptodomex sur les 2 VM.

Refresh forcé est bien décoché.

Voici le log qui est toujours en no data :

[2020-06-01 11:59:48.063][DEBUG] : SCANNER------[(1, 'Flags', '06'), (22, '16b Service Data', '95fe30585b05c75cbd0d38c1a408')] True public a4:c1:38:0d:bd:5c
[2020-06-01 11:59:48.063][DEBUG] : No name in data but i know it is : lywsd03
[2020-06-01 11:59:48.063][DEBUG] : LYWSD03------isvalid data=95fe30585b05c75cbd0d38c1a408, mac=a4:c1:38:0d:bd:5c, name=lywsd03, manuf=
[2020-06-01 11:59:48.063][DEBUG] : SCANNER------This is a lywsd03 device a4:c1:38:0d:bd:5c
[2020-06-01 11:59:48.064][INFO] : LYWSD03------adv data=95fe30585b05c75cbd0d38c1a408, mac=a4:c1:38:0d:bd:5c, name=lywsd03, manuf=
[2020-06-01 11:59:48.064][INFO] : LYWSD03------No Data
[2020-06-01 11:59:48.064][DEBUG] : {'present': 1, 'id': 'A4:C1:38:0D:BD:5C', 'type': 'lywsd03', 'name': 'lywsd03', 'rssi': -41, 'source': 'VM-BLEA'}

J’ai l’impression que tu as un problème avec ta clé.

Chez moi mes 4 clés font 32 caractères et pas 24.

Bonjour,

J’ai donc pu avancer : j’ai bien mes fichiers présents dans /vevs/logs/, par contre je ne sais pas trop quelle clé il faut prendre, déjà est-ce bien dans pairing.txt ? et là j’ai 2 possibilités Token (24 caractères) et Bindkey (32 caractères), j’ai fait l’essai avec Token pas de rafraichissement régulier toutes les 10 minutes, en ce moment j’essaye avec Bindkey, je vous tiens au courant …

Merci pour votre aide.

La clé a 32 caractère que tu dois prendre

2 « J'aime »

Effectivement, il y a du mieux, j’ai 2 capteurs LYWSD03, depuis que j’ai mis la clé Bindkey pour chacun d’eux, (récupérée dans pairing.txt), un des 2 est rafraichi toutes les 10 minutes, l’autre reste à 0°C pour l’instant, peut-être qu’il faut que je patiente un peu pour qu’il ait les bonnes données.

Je confirme que tout a l’air de parfaitement fonctionner pour les 2 capteurs avec remontée d’information toutes les 10 minutes, donc ce n’est pas l’info Token qu’il faut prendre mais Bindkey (sur 32 caractères) dans le fichier pairing.txt (lorsqu’on utilise l’application Xiaomi moddée) et qu’il faut associer à chaque adresse MAC de capteur.

Et le prix du boulet de l’année est décerné à… … …

Moi !!! :grimacing:

Et oui, j’utilisais pas la bonne info !!! Le Token au lieu du BindKey !!! Mais quel tacheron… 4 jours que je suis dessus à retourner le truc dans tous les sens… :rofl: :rofl: :rofl:

Bon bah après avoir mis la bonne clé ça marche mieux, je récupère bien la température et l’humidité toutes les 10 minutes…

Merci à tous pour le partage d’informations, reste aux devs à implémenter ce matériel directement dans BLEA car là en gros à la prochaine MàJ du plugin il faut penser à faire un backup du fichier python pour le remettre ensuite…