Ma femme a fait une crise car elle a lancé une machine après 22h mais est allé parti se coucher en oubliant de sortir le linge. Du coup le linge a baigné dans la machine toute la nuit. Maintenant elle préfère faire une machine en dehors des heures creuses à cause de cela. Je lui ai dis qu’on allait réglé ça à coup de domotique
L’idée de recevoir une notif sur téléphone quand la machine à laver a fini de tourner lui a plus je crois.
Cela dit j’aime bien m’amuser en domotique et pour l’instant je ne recherche pas une solution fixe à long terme. Le détecteur de mouvement c’était plus une idée à tester qu’un problème à résoudre. Mais j’ai effectué 2 tests :
-
Hier soir j’ai placé un détecteur de vibration ThirdReality sur mon lave-linge en faisant ce que font la plupart des gens : compter le nombre de vibrations sur un interval pour détecter la mise en route du lave linge + chaque vibration supplémentaire confirme que la machine tourne toujours. La fin du cycle de lavage est confirmé après 10 minutes d’inactivité du capteur de vibration. Malheureusement, 15 minutes après le lancement de la machine, le capteur de vibration n’a plus rien détecté pendant près de 20 minutes. Donc cette solution n’était pas fiable et est dépendante de beaucoup trop de facteurs : Qualité de la sensibilité du capteur, la charge du tambour, l’épaisseur des parois du lave-linge qui empêche le capteur de détecter les vibrations, notamment pendant le cycle de brassage ou la machine est très stable et quasiment immobile.
-
Aujourd’hui j’ai découvert quelque chose sur le capteur qui a rebattu les cartes de la détection. Il dispose de 3 entités : axe y, axe y, axe z. Et ça change tout !
Explications pour la partie capteur de vibration :
Pour tous les capteurs de vibrations du marché, afin d’économiser la batterie, il y a un cooldown (temps durant lequel le capteur devient inactif entre 2 vibrations). Sur le capteur de ThirdReality, ce cooldown est d’environ 20 sec. Donc même si je secoue le capteur plusieurs fois, il ne détectera que 2 vibrations en 40 secondes. A priori ça aurait pu être suffisant dans le scénario de monitoring d’un lave-linge mais le plus gros problème c’est que si il est secoué en continu, il ne détecte qu’une seule vibration et la vibration suivante sera détectée après une pause. Ce qui veut dire que dans les phases où la machine bouge sans s’arrêter (vidange par exemple), le capteur signale 1 vibration puis plus rien, jusqu’à ce que la vidange soit terminée. Si elle dure 5 minutes, c’est 5 minute sans remontée d’info. Si elle dure 10 minutes… etc… Donc compliqué…
Intégration du mouvement en 3 dimension (axes X, Y, Z) :
C’est là que se joue toute la différence car il n’y a pas de cooldown. Les valeurs de ces 3 axes sont basés sur le déplacement et la gravité. Si je secoue le capteur pendant 10 secondes, il me retournera par exemple une 30taines de valeurs sur chacun des axes, ce qui est bien plus fiable que la vibration. La sensibilité est d’autant plus grande que même le déplacement d’un demi millimètre génère une remontée d’info avec une nouvelle valeur sur les 3 axes.
Mise en situation :
Désormais, pour détecter le début et la fin du lavage, j’utilise 1 capteur 2-en-1, :
- La partie retournant les données via l’axe Z (j’aurai pu prendre X ou Y) mais l’axe Z me semblait plus pertinent par rapport aux infos retournées par HA.
- La partie vibration étant la fonctionnalité principale du capteur.
Le lave-linge est considéré comme démarré si j’ai plus de 3 vibrations sous 2 minutes OU si la valeur de l’axe Z change en continu pendant 10 secondes. Le résultat c’est que 10 secondes après avoir mis en route le lave-linge, HA remonte tout de suite qu’il est démarré. Alors qu’en me basant initialement que sur la vibration, je devait attendre 2/3 minutes avant que HA puisse me confirmer que la machine est bien lancée. Maintenant dans cette situation, l’axe Z est l’élément principale de monitoring de mon lave-linge. Les vibrations me servent de fallback au cas où. C’est une roue de secours pour rendre le système plus résilient. Même si il est impossible physiquement qu’une vibration soit détectée sans que la valeur de l’axe Z change.
L’avantage avec les valeurs de l’axe Z retourné par le capteur, c’est qui m’affiche clairement à quel moment la machine est en phase de brassage, d’essorage ou de vidange. Ce sont 2 infos que je vais pouvoir incorporer côté dashboard avec un simple capteur de vibration. Ce que je pensais impossible.
En théorie, avec le programme de lavage que j’utilise, je pourrais détecter la fin du lavage avec un écart seulement de 3 minutes (au lieu de 10 à 15 minutes si j’utilisais la seule fonctionnalité de vibrations du capteur). Donc je suis pas loin de ce que permet une prise connectée en terme de détections de cycle avec ce capteur. Je dirai même que je serai peut-être même plus proche de la réalité que les prises connectées.
Le problème se situera peut être au niveau des piles. A voir… D’où le fait qu’une prise connecté ou éventuellement un détecteur de mouvement reste des solutions plus viables sur le long terme.