Aspirateur zone par zone Jeedom
Plutôt que de demander à Jeedom de passer l’aspirateur partout dans la maison, pourquoi ne pas lui demander de le faire dans une zone précise ?
Grâce au travail de mon ami Sarakha63 et de son article qui, a mon goût est trop compliqué, je vous propose une version plus allégée et sans code PHP !
Pour faire simple : Après avoir intégré votre robot aspirateur Xiaomi dans Jeedom, vous pouvez le contrôler. Les commandes « GoThere » et « CleanZone » doivent être présentes et que nous allons utiliser ici.
Si ces dernières ne sont pas visibles, je vous invite à recréer les commandes sur l’aspirateur, en cochant : « ne pas supprimer les commandes existantes ».
Déterminer les zones de nettoyage
Dans l’application Xiaomi Home, vous pouvez, avec vos petits doigts, délimiter une zone sur la carte de votre maison. Nous allons donc faire de même, mais depuis Jeedom.
Depuis Jeedom donc, nous allons déterminer une zone à aspirer via 2 points : le point en bas à gauche et le point haut droit. Ces 2 points formeront donc le fameux rectangle tant voulu.
Je vous invite donc à faire un scénario dans Jeedom, avec un bloc de type « Action ».
Dans ce bloc, vous allez donc ajouter la commande de votre aspirateur suivante : « GoThere », comme ceci :
Le but étant de déterminer le premier point en bas à gauche de votre pièce.
Sachez que par défaut le point (X,Y) 25000,25000 est la station de charge de votre aspirateur Xiaomi. Si nous voulons aller :
- A gauche, il faudra diminuer X,
- A droite, il faut augmenter X,
- En haut, il faudra augmenter Y,
- En bas: il faudra diminuer Y.
Sachez aussi de 1000 points correspondent environ à 1m.
En partant de ce postula, je vous laisse donc chercher le point qui vous intéresse : Pour cela, changez les coordonnées dans la fonction « GoThere » précédemment créée et regardez en direct sur votre application Xiaomi Home où le point se trouve. Ajustez les coordonnées en conséquence.
Une fois le premier point trouvé, notez- le dans un coin et faites de même avec le point haut droit.
Tester la zone déterminée
Nous allons tester votre aspirateur pour nettoyer une zone précise :
Créez donc dans votre scénario une nouvelle action avec l’action « CleanZone » de votre aspirateur et entrez les coordonnées.
Attention tout de même lors de la saisie : une syntaxe particulière est attendue. Elle est de cette forme :
[BAS X, BAS Y, HAUT X, HAUT Y, nombre de passage pour aspirer]
Il faut donc mettre X et Y du point bas, X et Y du point haut, le nombre de fois ou l’aspirateur va passer sur cette zone pour nettoyer et le tout dans des crochets ! Ce qui donne :
Vous pourrez admirer de suite sur votre application Xiaomi Home la zone définie et voir l’aspirateur y aller.
L’action « CleanZone »
Veillez à bien respecter la syntaxe de l’action « CleanZone » :
[BAS X, BAS Y, HAUT X, HAUT Y, nombre de passage pour aspirer]
Sachez que vous pouvez définir plusieurs zones dans la même action. Typiquement, vous avez un couloir qui fait un « L ». Vous pourrez donc, dans une seule action, définir les 2 zones, comme ceci :
[BAS X, BAS Y, HAUT X, HAUT Y, nombre de passage pour aspirer],[BAS X, BAS Y, HAUT X, HAUT Y, nombre de passage pour aspirer]
Si vous avez besoin de définir 3 zones, vous rajouterez encore la syntaxe à la suite des autres etc etc…
Lancer le nettoyage à la voix
Le but à présent est de pouvoir lancer l’aspiration via notre Google Home.
Je pars du principe que votre Jeedom est commandé via Goole Home avec IFTTT. Si ce n’est pas le cas, je vous invite à configurer cela en premier.
Dans ce cas, nous parlons à notre Google Home/Assistant. Ce dernier, via IFTTT envoie notre phrase sur notre Jeedom comme interaction.
Création de l’interaction
Je vous invite à créer une interaction avec les propriétés suivantes :
Dans la demande, j’ai mis 2 tags que nous allons utiliser dans notre scénario : #lieu# et #puissance#. Cela nous permettra en 1 phrase de définir la pièce à aspirer mais aussi la puissance d’aspiration.
Faites attention, j’ai fait exprès de mettre des espaces au niveau des apostrophes car Google Home en met. J’ai donc fait une génération de phrase assez complexe.
Au niveau de l’onglet « action », voici ce qu’il faut définir :
Vous faites appel à un scénario que nous allons créer. Vous aurez donc besoin de le créer avant de pouvoir le définir ici dans l’interaction.
Création du scénario
Mieux qu’un long discours, voici la capture de ce que j’ai fait :
Explications :
Passe l’aspirateur dans l’arrière cuisine puissance 50%
- Je récupère la valeur du tag #lieu# que je met en minuscule
- Via les IF, je détermine quelle pièce et je lance le nettoyage de la zone,
- Le dernier IF s’occupe de la puissance. La puissance je l’a dit en pourcentage. Du coup, je ne dois garder que les chiffres, d’où l’appel à la fonction preg_replace :
- Si je l’ai mentionné, alors je prend en compte en la spécifiant via la fonction adéquat,
- Si je ne l’ai pas mentionné, alors je demande à l’aspirateur d’aspirer à fond.
Conclusion
L’interaction permet lancer le scénario en spécifiant une pièce et éventuellement une puissance d’aspiration.
De ce fait, piloter votre aspirateur Xiaomi zone par zone peut se faire depuis la voix avec Google Home/Assistant mais aussi depuis le plugin Telegram.