Eedomus: Pilotez votre Roomba en Wifi

Cédric
18 juin 2013

Nous avons découvert hier la carte RooWifi, une petite carte qui vient se brancher sur la prise PS2 du Roomba pour ensuite permettre d’en prendre le contrôle en Wifi.

Comme nous avons vu, il existe une API complète, qui permet ainsi d’intégrer facilement le Roomba à son système domotique.

Voyons voir un exemple aujourd’hui avec notre box eedomus.

 

I. Récupération des informations

 

Première chose, déjà, si on veut se faciliter la vie: désactiver le nom d’utilisateur et le mot de passe de la carte Roowifi, sinon on pourra avoir du mal à accéder aux informations à cause de la demande d’identification. Comme c’est pour une utilisation locale, ce n’est pas très grave.

Ensuite, pour accéder aux informations, nous avons deux choix possibles.

Le fichier http://IP_DU_ROOMBA/roomba.xml , qui va nous donner une liste complète des options et de leurs valeurs:

 

rombaxml

 

Et le fichier http://IP_DU_ROOMBA/rwr.xml , plus light, qui n’affiche que les valeurs:

 

rwrxml

 

C’est ce fichier que nous utiliserons, plus facile à interroger et plus léger. Sur l’eedomus, il suffira en effet de créer un nouveau périphérique capteur http

 

capteur_HTTP

 

Que nous configurerons de cette facon:

 

eedomus_config_device_batterie_Roomba

 

On indique l’adresse du fichier rwr.xml, puis on indique le chemin Xpath de la donnée à récupérer. Ici je veux récupérer l’état de la charge, qui d’après le premier fichier roomba.xml est donc r18. Le chemin Xpatch est donc /response/r18 . Sur le tableau de bord, on obtient cela:

 

eedomus_etat-batterie_Roomba

 

On peut ainsi récupérer les informations qu’on souhaite (température du Roomba, etc…) de la même facon, en indiquant simplement le chemin XPath de la donnée à récupérer, et faire des scénarios si on veut, comme par exemple faire retourner le Roomba à sa  station si la batterie devient trop faible.

A lire également:
Guide: Intégrer le serveur WES dans Home Assistant pour le suivi de consommation

 

II. Pilotage

 

Le pilotage se fera via des requêtes HTTP, chose que maitrise très bien l’eedomus. Les ordres sont plus restreints, mais suffiront à notre utilisation. Les commandes sont au nombre de trois:

  • http://IP_DU_ROOMBA/roomba.cgi?button=CLEAN : lancera le nettoyage automatique
  • http://IP_DU_ROOMBA/roomba.cgi?button=SPOT : lancera un nettoyage sur une zone concentrée
  • http://IP_DU_ROOMBA/roomba.cgi?button=DOCK : fera repartir le Roomba sur sa station de charge

Sur l’eedomus il faut donc créer cette fois un actionneur HTTP:

 

actionneur_HTTP

 

On lui donne un nom:

 

config_capteur_http-roomba1

 

Et dans les valeurs on renseigne les commandes HTTP de cette façon:

 

valeur_capteur_roomba

 

On obtient alors ce périphérique sur l’eedomus, avec les différentes commandes qu’on peut lancer sur le Roomba:

 

actionneur_roomba_eedomus

 

Bien sûr, ces commandes sont utilisables dans des macros et des scénarios. La première utilisation qui me vient à l’idée est de lancer le mode nettoyage quand on active l’alarme en partant:

 

scenario_roomba

 

Comme ca le ménage est fait automatiquement quand on n’est pas là :p A contrario, si on veut être tranquille quand on arrive, s’il est en fonctionnement on peut lui envoyer la commande DOCK quand on désactive l’alarme en rentrant à la maison.

Petite chose à prendre en compte toutefois: si par exemple le Roomba est en cours de nettoyage et que j’envoie une commande DOCK pour qu’il retourne à sa station, cela va avoir pour effet de le stopper. Il faut lui renvoyer une seconde commande DOCK pour qu’il s’exécute (apparemment une commande s’exécute, une seconde stoppe).

 

III. Conclusion

 

Voici un exemple simple d’utilisation de la carte RooWifi avec la box eedomus. Pas besoin de script, cette box a tout ce qu’il faut pour parfaitement utiliser la carte RooWifi et piloter votre Roomba :D Bien sûr d’autres box pourront également le faire, je pense notamment à la Zibase qui peut lire des fichiers xml et envoyer des requêtes HTTP.

A lire également:
Guide: Intégrer son alarme Ajax à Home Assistant, c'est possible !

Nous verrons un autre exemple avec une autre box que vous appréciez beaucoup dans quelques jours ;-)

 

share Partager

Ces articles pourraient aussi vous intéresser:

Onduleur sous tension : décuplez sa puissance avec Home Assistant et devenez le maître de votre domotique

Découvrez comment intégrer votre onduleur à Home Assistant pour une gestion optimale de votre installation domotique. Guide complet, astuces et exemples concrets pour une maison connectée plus fiable que jamais !

Automatisez Noël avec Home Assistant et ChatGPT: Créez une maison festive et connectée en quelques clics !

Découvrez comment automatiser votre maison pour Noël avec Home Assistant ! Ce guide complet vous montre comment synchroniser lumières, musique, et effets festifs pour créer une ambiance magique et connectée. Transformez chaque recoin de votre maison en un véritable décor de Noël grâce à des scénarios simples et interactifs.

Maison hantée 2.0 : Utilisez Home Assistant pour une expérience d'Halloween connectée et terrifiante !

Découvrez comment transformer votre maison en maison hantée 2.0 avec Home Assistant ! Suivez nos scénarios d'automatisation pour Halloween et créez une expérience interactive et terrifiante à l'aide de lumières intelligentes, de sons effrayants, et bien plus encore. Surprenez vos invités avec une maison connectée qui prend vie la nuit !

3 réactions

Fabien
18 juin 2013

Super post Cédric!
Mais si tu actives ton alarme en même temps que le Roomba, tu ne risque pas d’embêter les voisins?

Cedric Locqueneux
18 juin 2013

Par rapport aux détecteurs de mouvement, je suppose ? Faudrait tester, c’est comme si on avait un « animal de compagnie » à la maison :p Pour ma part je n’utilise les détecteurs de mouvements qu’à certains endroits critiques, où le Roomba ne passe pas.

medapayne
25 janvier 2017

Bonsoir Cédric
Super tuto
ce qui m’intéresse c’est de pouvoir déclencher mon alarme à retardement comme ta règle en première ligne d’actions.
Comment cela est faisable je n’y arrive pas.
Merci d’avance pour ton aide.

Votre réaction
Nom
Adresse de messagerie
Site internet