Petit article très rapide sur le nouveau venu de la gamme Xiaomi Aqara. J’ai remarqué que pas mal de personnes s’intéressaient à cette nouveauté, alors j’ai décidé de l’étudier et de partager ce que j’ai trouvé. (Ca me permet aussi de me remettre dans le bain des articles après cette longue pose).
Comme vous le pressentez surement, ce capteur est bien entendu compatible avec la ZiGate
Votre note :
Achat
Voici où vous le trouverez :
Xiaomi Aqara Smart Motion sensor
Prix : 9.67€
Coupon : Flash sale
Prix normal : 22.23€
Démontage
Alors avant de passer au démontage, je dois dire que le nom du capteur m’a rendu un peu perplexe. En effet, un capteur de « vibration », c’est assez étrange !
D’ailleurs dans la présentation du produit, on nous dit qu’il contient un/des accéléromètres 6 axes et un/des gyroscopes. (Ayant même une fonction de détection de coordonnées… )
J’avais sérieusement du mal y croire mais pourquoi pas … Voici les raisons pour lesquelles il me tardait de démonter l’engin.
Bon, bien entendu, j’attendais pas non plus des miracles 😉
L’emballage est toujours aussi sobre est soigné. En général, le transport abime toujours un peu les coins de la boite mais l’objet est bien protégé.
Alors la première chose qui me tape à l’œil, c’est que je connais déjà ce boitier. En effet, la petite cage à gauche me rappelle étrangement la cage du capteur de température de la même gamme. Et bingo, tout le boitier hormis le haut est identique au capteur de température / humidité / pression atmosphérique. Bien joué Xiaomi ! 😉
Electronique du capteur vibration Xiaomi Aqara
Bon voici ce que contient réellement ce capteur :
En rouge : Je ne sais pas si c’est encore la peine de le présenter mais c’est bien entendu le JN5169 utilisé par toute la gamme Aqara. C’est un microcontrôleur avec une chip radio ZigBee de la société NXP.
En bleu : Voici la particularité de ce capteur ! il est muni d’UN accéléromètre. Le ADXL362 est un composant apparemment très utilisé. Il est capable de gérer les 3 axes (quasi tous le font) mais ne consomme que très peu d’énergie (fonction de wakeup qui ne consomme que 270nA).
En vert : Le port de programmation pour pouvoir vous amusez.
En rose : Alors, Il y a bien un emplacement pour un gyroscope mais sans gyroscope 🙂 . En général, on mêle souvent l’accéléromètre et le gyroscope car c’est le couple idéal pour que l’objet puisse se localiser dans l’espace. (comme les drones). Du coup, cet emplacement laisse penser que Xiaomi anticipe peut-être le développement d’un autre capteur un peu plus « intelligent ». (L’histoire sur la détection de coordonnées aurait été possible mais sans gyroscope… nada)
Ce démontage est, du coup, très intéressant car on comprend mieux comment le capteur fonctionne. On est loin de l’idée de la « vibration ». Comme son nom l’indique, l’accéléromètre mesure une accélération sur un axe. Je ne sais donc vraiment pas si les vibrations sont détectables… OU alors de grosses vibrations !
Voyons maintenant comment le capteur se comporte.
Compatibilité ZiGate
Les commandes officielles
Avant d’étudier la compatibilité du produit avec la ZiGate, voyons comment il se comporte avec la passerelle officielle Xiaomi.
Alors voilà, après avoir appairé le capteur à la Gateway Xiaomi j’ai pu observer 3 messages différents.
- Chute de l’objet
- Objet saisi (c’est peut-être ça leur vibration :))
- Objet incliné
Bon comme on s’en doutait, on a pas vraiment de message de « vibration » … d’ailleurs, en tapotant sur le capteur, aucune action n’est déclenchée.
PS : J’ai vu que la sensibilité du capteur était paramétrable mais même en mettant au max, on ne peut pas dire qu’il détecte des vibrations, plutôt de grosses secousses.
EDIT 1 (05/09/18) : Après quelques tests plus approfondis avec l’objet et la passerelle (ainsi que mon sniffer préféré), j’ai découvert que la passerelle émettait une trame lorsque l’on change la sensibilité à partir de l’application Mi Home.
Une fois que vous avez appuyé sur le bouton d’appairage voici ce que le sniffer reçoit :
On retrouve :
- L’envoie de la trame d’information du capteur (appuie sur le bouton)
- La passerelle Xiaomi envoie une commande d’écriture :
- Cluster : 0x0000 (Basic)
- Attribut : 0xFF0D
- Code fabricant : 0x115F (code de Xiaomi)
- Le type de données : 0x20 (Integer 8bit)
- Le type d’attribut : 0x01 (0x01 pour « high sensi » 0x0B pour « medium » et 0x15 pour « low »
- L’objet renvoie un « succès » à la commande pour dire qu’il l’a bien pris en compte.
J’ai bien entendu tenté de reproduire la trame avec la ZiGate et ça donne ça (testé sur TestGUI) :
01 02 11 10 02 10 10 34 02 12 02 14 AE 02 11 02 11 02 10 02 10 02 10 02 11 11 5F 02 11 FF 02 1D 20 02 11 03
Tout fonctionne, côté sniffer je reçois la même trame que celle envoyée par la passerelle Xiaomi et le capteur répond bien « succès ».
En pratique et en faisant pleins d’essais, il semblerait que la sensibilité du capteur varie bien en fonction du paramétrage.
Côté ZiGate
Bon maintenant que l’on a vu ce que ça donnait sur l’application officielle, voyons ce que ça donne sur la ZiGate.
Pour tester le capteur, j’ai utilisé l’application sous Windows TestGUI.
Je vous passe bien entendu l’appairage qui est toujours la même procédure sur les capteurs ZigBee.
Voici donc les informations observé sur ce capteur :
Les clusters
EndPoint: 0x01
Profile ID: 0x0104 (ZigBee HA)
Device ID: 0x000A (Unknown)
Input Cluster Count: 4
Cluster 0: Cluster ID: 0x0000 (General: Basic)
Cluster 1: Cluster ID: 0x0003 (General: Identify)
Cluster 2: Cluster ID: 0x0019 (General: OTA)
Cluster 3: Cluster ID: 0x0101 (General: Door Lock)
Output Cluster Count: 6
Cluster 0: Cluster ID: 0x0000 (General: Basic)
Cluster 1: Cluster ID: 0x0004 (General: Groups)
Cluster 2: Cluster ID: 0x0003 (General: Identify)
Cluster 3: Cluster ID: 0x0005 (General: Scenes)
Cluster 4: Cluster ID: 0x0019 (General: OTA)
Cluster 5: Cluster ID: 0x0101 (General: Door Lock)
EndPoint: 0x02
Profile ID: 0x0104 (ZigBee HA)
Device ID: 0x5F02 (Unknown)
Input Cluster Count: 2
Cluster 0: Cluster ID: 0x0003 (General: Identify)
Cluster 1: Cluster ID: 0x0012 (Unknown)
Output Cluster Count: 4
Cluster 0: Cluster ID: 0x0004 (General: Groups)
Cluster 1: Cluster ID: 0x0003 (General: Identify)
Cluster 2: Cluster ID: 0x0005 (General: Scenes)
Cluster 3: Cluster ID: 0x0012 (Unknown)
Xiaomi utilise donc le cluster 0x0101 pour remonter les données. Normalement ce cluster (door lock) est censé être utilisé pour la gestion des serrures connectées…
Les commandes
Mode libération
Type: 0x8102 (Attribute Report)
SQN: 0x0C
Src Addr: 0xCDD1
Src Ep: 0x01
Cluster ID: 0x0101 (General: Door Lock)
Attribute ID: 0x0508
Attribute Size: 0x0008
Attribute Type: 0x25 (Unknown)
Status: 0x00
Cette trame permet d’éviter l’inondation d’actions. Tant que cette trame n’est pas lancée, on ne peut pas lancer d’autres actions.
Rotation (correspond à la commande « Tilt » officielle)
Type: 0x8102 (Attribute Report)
SQN: 0x0E
Src Addr: 0xCDD1
Src Ep: 0x01
Cluster ID: 0x0101 (General: Door Lock)
Attribute ID: 0x0055
Attribute Size: 0x0002
Attribute Type: 0x21 (UINT16)
Attribute Data: 0x0002
Status: 0x00
Type: 0x8102 (Attribute Report)
SQN: 0x0E
Src Addr: 0xCDD1
Src Ep: 0x01
Cluster ID: 0x0101 (General: Door Lock)
Attribute ID: 0x0503
Attribute Size: 0x0002
Attribute Type: 0x21 (UINT16)
Attribute Data: 0x0054
Status: 0x00
Cette commande est intéressante car elle est toujours accompagnée de 2 trames. La première donne le type d’action (0x02) et la deuxième donne le degré de rotation (me semble-t-il)
Déplacement léger (correspond à la commande : objet saisi)
Type: 0x8102 (Attribute Report)
SQN: 0x0A
Src Addr: 0xCDD1
Src Ep: 0x01
Cluster ID: 0x0101 (General: Door Lock
Attribute ID: 0x0055
Attribute Size: 0x0002
Attribute Type: 0x21 (UINT16)
Attribute Data: 0x0001
Status: 0x00
Chute de l’objet
Type: 0x8102 (Attribute Report)
SQN: 0x0B
Src Addr: 0xCDD1
Src Ep: 0x01
Cluster ID: 0x0101 (General: Door Lock
Attribute ID: 0x0055
Attribute Size: 0x0002
Attribute Type: 0x21 (UINT16)
Attribute Data: 0x0003
Status: 0x00
Commande inconnu (non révélée)
Type: 0x8102 (Attribute Report)
SQN: 0x22
Src Addr: 0xCDD1
Src Ep: 0x01
Cluster ID: 0x0101 (General: Door Lock
Attribute ID: 0x0505
Attribute Size: 0x0004
Attribute Type: 0x23 (UINT32)
Attribute Data: 0x00CA0000
Status: 0x00
Impossible pour moi de comprendre cette commande. Je pense qu’il faudra plus de temps pour déceler le fonctionnement de cette commande.
Il me reste tout de même à « sniffer » le capteur et récupérer les trames envoyées par la passerelle Xiaomi permettant de changer sa sensibilité. Je suis curieux de voir ce que j’ai loupé 🙂
Maintenant, place aux développeurs pour intégrer ce capteur sur les différentes box ! 😉
Conclusion
Voilà une petite étude de ce capteur de « vibration » qui a mon sens révèle un problème de nommage. En effet, rien à voir avec cette fonctionnalité. Cependant, je m’aperçois que petit à petit son nom change sur les boutiques. Il semble que de plus en plus, on l’aperçoit sous le nom de « smart motion sensor » (qui est beaucoup plus adapté).
Maintenant que l’on a vu la qualité technique de ce capteur, il reste à savoir dans quel cas il peut être utilisé. Le cas pratique que l’on voit souvent sur les brochures, est de le placer sur une fenêtre pour détecter un bris de glace mais je trouve qu’il peut aller beaucoup plus loin et que son utilisation d’origine ne semble pas vraiment coller à la technologie du capteur.
Je vous laisse imaginer ce que vous pouvez faire avec ce nouveau joujou et n’hésitez pas à partager vos idées d’utilisation et détournement !
A bientôt !
Hello,
J’attendais avec impatience ce module.
Je pense m’en servir pour capter les différentes phases de lavage de ma machine à laver ( assez précis ? )
max
je pense qu’une prise électrique connectée genre TP-Link HS110 qui suis la consommation électrique pourrait faire l’affaire car chaque cycle (chauffage eau, moteur normal, moteur essorage…) consomme sûrement une puissance électrique particulière qu’il suffit d’analyser justement en suivant la courbe retournée par cette prise ce qui permet en plus de faire un pierre deux coups en calculer la consommation totale d’un lavage et en faire la somme en fin de mois.
Bonjour Dodutils,
Comment obtenir une courbe de consommation avec cette prise, avec appli native ou DIY ?
Cordialement
pour une courbe c’est accès direct à l’interface de communication de la prise car l’appli n’affiche que des totaux jour ou mois
Usages possibles, le mettre dans une boite pour être averti si quelqu’un y touche ! voir même dans un véhicule, une remorque située dans le jardin ou le garage pour activer une alerte mouvement basée sur une activation programmée sur plage horaire ou manuelle ?
Selon moi tu passes à côté de rien pour la sensibilité.
Selon moi c’est un réglage logiciel côté Mi omen qui selon les valeurs reçues logguera et notifiera (ou pas) et qu’en soit y’a pas de réglage réel de sensibilité. Donc je ne pense pas qu’il y ait des trames correspondantes
Ok merci pour l’info. Par acquis de conscience, je snifferai quand même… Parfois ya de belles surprises
J’ai pu effectué quelques tests avec mon sniffer et la passerelle Xiaomi. Lorsque l’on change la sensibilité à partir de l’application MI HOME, la passerelle envoie bien une trame d’écriture à l’objet pour changer sa sensibilité. (il faut appuyer sur le bouton d’appairage pour réveiller l’objet et que la passerelle puisse déclencher l’envoie)
J’ai pu reproduire la trame (en respectant des règles) avec la ZiGate et l’objet acquitte bien la commande. En pratique, le capteur réagit conformément à la sensibilité modifiée.
Du coup, je vais faire un « EDIT » de l’article dès que possible.
La conception du cube xiaomi est elle similaire?
Vu qu’il n’a pas l’air très sensible, on ne peut pas l’utiliser pour détecter une tentative d’effraction sur une porte à limage des capteurs somfy protect ? Dommage ça aurait été un bon remplacement, car les somfy coûtent un bras pièce !
Bonjour à vous,
recu et testé hier soir sur une baie vitrée coulissante, Sensibilité high , si je tape sur la fenêtre , il y a bien une vibration de detectée.
Bonjour,
Je pensais le mettre sur une porte de garage coulissante pour détecter l’état de la porte
Bonjour,
je suis interessé par ton retour d’experience.
Est-ce que ça a fonctionné ?
J’ai une porte de garage à bascule et j’aimerai avoir son état (ouverte ou fermée).
Ca me permettrait d’envoyer une alerte si elle reste ouverte trop longtemps.
Merci
J’ai fait le test sur une porte de garage coulissante et cela fonctionne bien. On peut donc détecter qu’elle est restée ouverte depuis un certain temps.
bonjour, pourriez-vous s’il vous plait m’indiquer comment vous utilisez le motion sensor pour connaitre la position (ouverte/fermée) de la porte de garage ?
Sous eeodmus, j’ai tenté une utilisation de ce type mais sans succès. le module indique bien un éventuel mouvement /rotation/chute. cependant, 10 secondes après la rotation /mouvement/chute, l’état du module revient à sa position initiale (pas de mouvement).
Au final, cela ne me permet donc pas de connaitre la position ouverte ou fermée de ma porte de garage.
Merci
Bonjour,
Merci pour cet article.
Juste une petite information : une vibration se mesure en réalité en quantifiant une accélération (en m.s-2), et se mesure… avec un accéléromètre !
Ce capteur porte donc bien son nom 😉
Et oui, à force d’utilisation et surtout depuis que j’ai mis la sensibilité au max, on peut dire qu’il détecte la vibration 🙂
En tout cas merci pour le feedback et la précision 🙂
Hello,
Toujours bien tes articles, bravo et merci.
Je penses l’utiliser en effet sur vitres, portes fenêtres et je me dis sur l’ouverture de la boîte aux lettres. Comme ça si lettre ou colis, le mvmnt est détecté.
A tester donc
Pour détecter une ouverture/fermeture de porte, cela doit être pratique (pas de problème pour mettre l’aimant en face).
On sait que la porte a été bougée mais on ne sait pas si elle est fermée ou ouverte.
Bonjour,
Je suis preneur du Model Name transmis avec le cluste 0x0000. Cela pour implémenter dans le plugin Zigate de domoticz. Mercivd’avance
En gros c’est l’équivalent du Gigaset Elements Door Sensor qui détecte ouverture de porte et vibration si on force(le door sensor émet une petite alarme d’ailleurs). Par contre, est-ce qu’il détecte une ouverture latérale comme pour une porte coulissante ? C’est le problème du capteur Gigaset qui a ressorti une version « Universal » du dit capteur pour le gérer.
Si je résume bien c’est un capteur d’ouverture de porte sans l’aimant et avec détection de potentielle fracture de vitre. Ca serait parfait pour ma grosse porte fenêtre sur le jardin :p. Par contre,
Hello,
question subsidiaire, comment tu fais pour l’ouvrir. Le plastique est tellement mou qu’il s’écrase. Le fond ne tourne pas.
Merci
Bonjour,
on peut le mettre dans la barre d’un store de terrasse pour qu’il se ferme automatiquement lorsque le vent le secoue trop…
L’idée est bonne mais comment évaluer la valeur pour le fermer il faudra attendre qu’il y ait du vent ou secouer le store à la main pour refléter la valeur d’accélération qui déclenchera la fermeture ? habituellement c’est plutôt un petit anémomètre qui est utilisé avec fermeture si le vent dépasse une certaine vitesse non ?
Sur jeedom, j’ai renommé le #59 en déplacement et #58 en choc. Je l’ai mis en « monitoring » sur une porte pour avoir un graphe dans une utilisation normale. Tu peux faire le même pour ton store terrasse.
Suivant les valeurs, pour la partie choc varie peut, dans mon cas, 1.5 presque tout le temps (entre 1 et 2), mais j’ai bien les évènements d’une ouverture/fermeture de porte. Je sais qu’on passe par là, mais je sais pas si elle est ouverte ou fermée. C’est suffisant pour un éclairage de passage 😉
Pour la partie mouvement, entre 5 et 8 pour la porte, (un déplacement rapide j’ai observé 64). Vu que ca change pas mal, suffit de faire un event la dessus pour toi faire une action pour ton store de terrasse.
Par contre j’ai pas essayé d’augmenter la précision en l’envoyant à la sonde, dans mon cas de porte pas besoin, dans ton cas il faudrait l’augmenter pour la fluctuation plus fine avec le vent.
Hello, j’en ai acheté un pour utiliser sur jeedom avec ma zigate (super produit bravo)
Il est bien détecté mais par contre mon capteur ne réagit à rien…. je vois bien l’indicateur batterie etc.. mais par contre meme si je secoue le capteur dans tous les sens rien ne se passe…
Mon capteur est defecteux? j’ai vu que cela pouvait venir de la sensibilité du capteur?
Par contre je n’ai pas de gateway xiaomi… Une idée?
je me demandais si je pouvais pas tenter via la gateway (qu’on peut me pretter) je pouvais pas changer la sensibilité et ensuite m’en servir avec zigate… une autre idée?
Mon petit feedback : je l’ai mis sur une baie vitrée. Sensi au max, il détecte le moindre coup de vent. Sensi medium, il ne détectge l’ouverture qu’une fois sur deux…
Bilan, le capteur ne me sert à rien ^^ J’essaierai de voir si j’y trouve une utilité ailleurs
@Akila, est-ce que le mode Libération est systématique après chaque commande ?
Il semble qu’il ne soit pas émis après un Vibration. Est-ce exacte ?
Bonjour, quelle est la sensibilité max de cet appareil ? J’envisage de le placer sur mon portail d’entrée pour détecter une vibration si quelqu’un escalade. Est-ce que ça vous semble réalisable ?
Merci
Je penses que oui, je détectes le mouvement du rabat de ma boîte aux lettres alors que le capteur est sur la porte en elle même, comme ça d’une pierre deux coups, porte et rabat sont détecté.
Bonjour à tous 🙂
Je cherche une solution discrète et peu onéreuse pour détecter les tentatives de vol de mon vélo garé sous ma fenêtre, par détection de vibrations.
Je pense justement utiliser ce capteur de vibration aqara, caché sous la selle ou éventuellement dissimulé sous le porte bagage. Pratique car j’ai mon vélo en visuel sous ma fenêtre.
Je précise que je suis au 2e étage et que le gateway serait placé à proximité immédiate de la fenêtre.
Je ne suis pas expert, du coup j’aimerais votre avis sur ce dispositif, notamment savoir si la portée du signal sera suffisante. Voir une suggestion pour un autre dispositif 🙂
Merci d’avance !
hello,
Est il possible de changer la sensibilité directement via zigate (je n’ai pas de passerelle).
Merci.
Bonjour,
J’ai fais l’acquisition de ces capteurs.
Je n’utilise pas la Gateway xiaomi mais la zigate. Est-ce que quelqu’un à réussi à modifier la valeur de la sensibilité ?
J’utilise l’attribut movement, cela fonctionne bien dans mon scénario mais avec un peu de force…
Merci pour vos réponses.
Bonne soirée.
Hello,
Je cherche exactement la même chose. Avez vous trouvé la réponse entre temps ?
Pour modifier la sensibilité il faut modifier l’attribut 0xff0D du Cluster 0x0000
les valeurs sont:
0x01 high
0x08 medium
0x15 low
Il faut faire cela lors de la phase d’appairage ou remettre le vibration en mode appairage
Si c’est sur Domoticz avec le plugin Zigate cela devrait fonctionner. Sinon me contacter via le forum Domoticz
Bonjour.
Je suis sur Jeedom et j’utilise le plugin ZIGATE. Je n’arrive pas a trouver ou mettre les valeurs pour régler le capteur XIAOMI vibration ( high ; medium ; low)
Pouvez vous m’indiquer plus précisément comment faire ?
Merci d’avance.
Bonjour, avez-vous trouver pour modifier la sensibilité avec un ZIGATE sur JEEDOM ? Merci d’avance.
je suis passé par le plugin « Abeille » de jeedom, qui affiche directement la sensibilité sur la tuile.
Bonjour, j’ai suivi la procédure au dessus. Mais je n’ai pas vraiment de confirmation si c’est bien passé en sensibilité high.
J’ai testé le plugin Abeille mais je ne suis pas convaincu.
Par contre il y a un nouveau plugin : Zigbee qui apparement le reconnait bien mais je n’ai pas testé.
Bonjour,
J’ai pris 5 détecteurs vibrations. Pour les fenêtres du haut de la maison + porte garage.
En sensibilité haute, j’ai 1 a 2 alarmes par nuits. Ainsi que les voisins…
En sensibilité moyen, plus de fausses alarmes. (depuis 3 jours.)
Mais lorsque j’ouvre une fenêtre (normalement) cela ne detecte rien.
Il faut la secouer pour détecter.
Fenêtre double vitrage de 6 ans. Placé en haut sur cadre central.
Si cela intéresse qq’un, je vends pas chère un hub aqara, 5 capteur vibrations, 3 capteurs porte, un module relai, et une smart prise.
Acheter chinois, acheter 2 fois.