Contrôler son Roomba avec la box domotique Fibaro Home Center 2

par | Juin 16, 2014 | Non classé

Aujourd’hui nous vous proposons un guide pour vous expliquer comment contrôler l’aspirateur robot Roomba à partir de la box domotique Fibaro Home Center 2. Ce guide est un partage du script réalisé par Romain80 sur le forum Domotique-Fibaro.fr. Le post original est disponible ici.

Pour réaliser cela vous aurez besoin d’un Roomba, d’une Home Center 2 mais également d’un Roowifi. Pour rappel le Roowifi est un module permettant de contrôler votre Roomba depuis smartphone ou PC. Vous retrouverez sa landing page ici et différents articles de présentation et d’installation sont disponibles sur notre blog.

Vous serez également obligé d’utiliser une Home Center 2 et non une Home Center Lite pour le moment. En effet, nous verrons que le contrôle sera effectué grâce à un script LUA, non disponible sur la version lite du contrôleur.

Tout d’abord la carte Roowifi doit être configurée sur votre réseau Wi-Fi (mode « accueil wifi » sur notre guide d’installation). Une fois configuré, il faut retrouver son adresse IP. Pour cela vous pouvez télécharger un sniffeur d’IP tel que superscan par exemple.

Une fois l’adresse IP trouvée, vous pouvez vous connecter afin de contrôler le Roomba et accéder à sa configuration réseau.

roowifi_homecenter2_configurationreseau

On se rend ensuite dans l’interface de la Home Center 2 et on crée un module virtuel.

roowifi_homecenter2_periphvirtual

On rentre les paramètres simples du module puis, dans l’onglet avancé, on sélectionne les 4 boutons puis « add set ».

roowifi_homecenter2_butonsize

Voici le code qu’il faut rentrer dans chaque boutons:

Réveil:


--[[
%% properties

%% globals
--]]

fibaro:log("Réveil");
fibaro:call(id_du_roowifi, "setProperty", "ui.status.value", "Roomba Reveillé");

HC2 = Net.FHttp("ipduroowifi", 80)
HC2:setBasicAuthentication("admin", "roombawifi");
response = HC2:GET("/rwr.cgi?exec=1")

Clean:


--[[
%% properties

%% globals
--]]

fibaro:log("Roomba au travail");
fibaro:call(id_du_roowifi, "setProperty", "ui.status.value", "Roomba Activé");

HC2 = Net.FHttp("ip_du_roowifi", 80)
HC2:setBasicAuthentication("admin", "roombawifi");
response = HC2:GET("/rwr.cgi?exec=1")
fibaro:sleep(3*1000)
response = HC2:GET("/rwr.cgi?exec=1")
fibaro:sleep(3*1000)
response = HC2:GET("/roomba.cgi?button=CLEAN")

Spot:


--[[
%% properties

%% globals
--]]

fibaro:log("Roomba Spot");
fibaro:call(id_du_roowifi, "setProperty", "ui.status.value", "Roomba Spot");

HC2 = Net.FHttp("ip_du_roowifi",80)
HC2:setBasicAuthentication("admin", "roombawifi");
response = HC2:GET("/rwr.cgi?exec=1")
fibaro:sleep(10*1000)
response = HC2:GET("/roomba.cgi?button=SPOT")

Dock:


--[[
%% properties

%% globals
--]]

fibaro:log("Roomba renvoyé au Dock");
fibaro:call(id_du_roowifi, "setProperty", "ui.status.value", "Retour au Dock");

HC2 = Net.FHttp("ip_du_roowifi",80)
HC2:setBasicAuthentication("admin", "roombawifi");
response = HC2:GET("/roomba.cgi?button=DOCK")

Voici un exemple avec notre bouton Clean.

roowifi_homecenter2_cleanLUA

Attention à bien modifier ip_du_roowifi par l’adresse ip de votre roowifi et id_du_roowifi par son id, que l’on peut voir apparaitre en bas à gauche du navigateur en passant la souris sur le périphérique. Ici l’id est 61 par exemple.

roowifi_homecenter2_idmodule

Si tout est configuré correctement, ça devrait fonctionner immédiatement. Voici les liens vers les différentes images permettant de personnaliser chaque bouton aux couleur de Roomba.

REVEIL, CLEAN, SPOT, DOCK

Je tiens à remercier et féliciter Romain80 pour le partage de son code sur le forum Domotique-Fibaro.fr.

Si vous ne connaissez pas encore ce forum et que vous posséder une Home Center 2 ou Lite, je vous conseille vivement d’aller y jeter un oeil, c’est une vraie mine d’or d’informations avec des utilisateurs très actifs, de quoi booster au maximum votre installation domotique.

Restez connecté sur l'actualité domotique!