Sonde de température Xiaomi Mijia LYWSD03MMC

Tu as bien suivis les explications.
Notamment :

  • Ajouter la dépendance sur la librairie de décryptage : sudo pip3 install pycryptodomex
  • Décochez le ‹ refresh forcé › pour chaque device de ce type dans la page ‹ Paramètres ›

Chez moi tout est ok depuis la mise en place. 4 sondes fonctionnelles, j’attends de voir la durée des piles maintenant

Bonsoir,

Avant toute chose un grand merci pour votre aide sur ce sujet qui me scagacouille, semble t-il comme pas mal de monde. ^^

Je n’arrive pas à obtenir les clés pour mes capteurs … Sur android, j’ai essayé packet capture et HttpCanary mais dans les 2 cas Xiaomihome me renvoie un code d’erreur -6 ou -29 concernant des problèmes d’authentifications … (du coup pas de paquet avec la clé)

Je dois sans doute louper quelque chose d’important mais étant novice sur le sujet je ne vois pas quoi …

Bonne soirée à tous ^^

Réponse après le sudo :
Requirement already satisfied: pycryptodomex in /usr/local/lib/python3.5/dist-packages

Refresh décoché, et redémarrage du démon…

Par contre je vois ça sur ma console ESXI apparaître toutes les secondes…:
hci0 advertising data length corrected

Pour Topomorhe, essaye le MiHome moddé par le russe, perso c’est comme ça que j’ai récupéré le token…

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 »