Aller au contenu

Roomba : Roowifi V2


Nico

Messages recommandés

Bonsoir à tous, je viens de terminer un petit VD pour le roowifi V2.

Cela correspond à une évolution de ce Roowifi et de ce tuto, merci à Romain : https://www.domotique-fibaro.fr/topic/814-roomba-irobot-domotisã©/

 

La seule chose à faire c'est renseigner l'ip et le port lors de l'import du VD, et normalement c'est parti.

 

Gestion :

-Status (Avec les différents status, charge, au dock etc)

-L'état de la batterie

-La température de la bête

-Les différentes commandes (Clean, spot et retour au dock)

 

Fonctionne bien chez moi, il faut juste que je gère les retours d'état, car le Wifi ne passe pas bien (En fait impossible de faire fonctionner le Roowifi V2 avec ma borne Ubiquiti, je ne sais pas pourquoi, du coup je l'ai lié à mon routeur mais qui ne couvre pas aussi bien la maison, il faut que je vois pourquoi). Du coup avec les retours d'état, je renverrai l'ordre tant qu'il n'a pas été reçu.

 

RooWifi V2.jpg

 

Le VD :

RooWifi V2_ Version 1.vfib

  • Upvote 3
Lien vers le commentaire
Partager sur d’autres sites

Le code complet :

 

Bouton Clean :

local deviceId = fibaro:getSelfId();
local ip = fibaro:get(deviceId, 'IPAddress')
local port = fibaro:get(deviceId, 'TCPPort')

--Connexion
HC2 = Net.FHttp(ip,tonumber(port))
HC2:setBasicAuthentication("admin", "roombawifi");
--Ordre
response = HC2:GET("/rwr.cgi?exec=1")
fibaro:sleep(1*1000)
response = HC2:GET("/roomba.cgi?button=CLEAN")

--Gestion du status
fibaro:call(deviceId, "setProperty", "ui.Label1.value", "Nettoyage en cours")
fibaro:log("Lancement nettoyage"); 

Bouton Spot :

local deviceId = fibaro:getSelfId();
local ip = fibaro:get(deviceId, 'IPAddress')
local port = fibaro:get(deviceId, 'TCPPort')

--Connexion
HC2 = Net.FHttp(ip,tonumber(port))
HC2:setBasicAuthentication("admin", "roombawifi");
--Ordre
response = HC2:GET("/rwr.cgi?exec=1")
fibaro:sleep(1*1000)
response = HC2:GET("/roomba.cgi?button=SPOT")

--Gestion du status
fibaro:call(deviceId, "setProperty", "ui.Label1.value", "Nettoyage Spot")
fibaro:log("Lancement nettoyage spot");

Bouton retour dock :

local deviceId = fibaro:getSelfId();
local ip = fibaro:get(deviceId, 'IPAddress')
local port = fibaro:get(deviceId, 'TCPPort')

--Connexion
HC2 = Net.FHttp(ip,tonumber(port))
HC2:setBasicAuthentication("admin", "roombawifi");
--Ordre
response = HC2:GET("/roomba.cgi?button=CLEAN")
fibaro:sleep(1*1000)
response = HC2:GET("/roomba.cgi?button=DOCK")

--Gestion du status
fibaro:call(deviceId, "setProperty", "ui.Label1.value", "Retour au dock")
fibaro:log("Retour au dock"); 

Bouton réveil :

local deviceId = fibaro:getSelfId();
local ip = fibaro:get(deviceId, 'IPAddress')
local port = fibaro:get(deviceId, 'TCPPort')

--Connexion
HC2 = Net.FHttp(ip,tonumber(port))
HC2:setBasicAuthentication("admin", "roombawifi");
--Ordre
response = HC2:GET("/rwr.cgi?exec=1")

fibaro:log("Réveil"); 

Bouton mise à jour status :

local deviceId = fibaro:getSelfId();
local ip = fibaro:get(deviceId, 'IPAddress')
local port = fibaro:get(deviceId, 'TCPPort')

--Connexion
HC2 = Net.FHttp(ip,tonumber(port))
HC2:setBasicAuthentication("admin", "roombawifi");

--Récupération json
response = HC2:GET("/roomba.json")

--Décodage json
extractedjson = json.decode(response)

--Récupération des valeurs souhaitées
chargingstate = extractedjson.response.r14.value
temperature = extractedjson.response.r17.value
charge = extractedjson.response.r18.value
capacity = extractedjson.response.r19.value

--Gestion du status
if tonumber(chargingstate) == 2 then
	fibaro:call(deviceId, "setProperty", "ui.Label1.value", "Au dock, en charge")
end
if tonumber(chargingstate) == 3 then
	fibaro:call(deviceId, "setProperty", "ui.Label1.value", "Au dock, chargé")
end

--Gestion de la température
fibaro:call(deviceId, "setProperty", "ui.Label3.value", temperature .." °")

--Gestion de la batterie
charge_pour = (100 * charge) / capacity
charge_pour = string.sub(charge_pour, 1, 5)
fibaro:call(deviceId, "setProperty", "ui.Label2.value", charge_pour .." %")

Et le main loop à régler comme vous le souhaitez :

local deviceId = fibaro:getSelfId();

--On appuie sur le bouton mise à jour
fibaro:call(deviceId, "pressButton", "8")
--Attente avant mise à jour
fibaro:sleep(15*1000)

 

Lien vers le commentaire
Partager sur d’autres sites

C'est fait. Tiens d'ailleurs si qqun en a et qu'il a une borne Ubiquiti, vous arrivez à le faire remonter sur le Wifi ?? Ca fait le 2ème périf qui ne fonctionne pas sur l'Ubiquiti, j'ai tout essayé au niveau protection, rien à faire. Sur le Syno par contre, c'est instantané...

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

J'ai pris le 774 moi. En fait en passant chez Casto semaine dernière, il y avait une grande braderie sous chapiteau, et tiens un Roomba, je vérifie sur le net, et le moins chère que je trouve c'est 369,00 € hors FDP, il était bradé à 260,00 € ! Il en reste une demi-palette :)

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Non, commandé sur Domadoo dans la foulée et reçu hier :), VD fait hier après midi.

Lazer, oui à l'étage j'ai mon Samsung, faudrait que je le domotique aussi tient, en plus pas trop dur, j'ai la télécommande avec, un petit FGS contact sec sur le bouton start, et c'est parti :) Vais faire ça tient.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

J'ai un modèle 770 qui est actuellement en panne (il tourne, mais n'aspire plus la saleté). Je vais regarder pour le réparer (changement des bacs pour les brosses ou le bac à saletés).

 

Est-ce que vous savez si le roowifi V2 est compatible avec mon 770 ?

 

Comment avez-vous fait pour protéger la carte ?

  • quel produit (changement du carter complet où boitier de protection de la carte) ?
  • sur quel site ?
Lien vers le commentaire
Partager sur d’autres sites

Pour moi il est compatible, confère site officiel : http://www.roowifi.com/compatible-roomba/

En fait 95% des modèles Roomba sont compatible avec le V2.

Sinon moi je ne n'ai pas protégé la carte pour le moment, elle est déjà bien sous la poignée, donc très peu de risque, et au RDC chez moi, il ne peut passer sous aucun endroit, donc pas de souci.

 

Bon, sinon j'ai re re testé, rien à faire, il ne veut pas remonter sur ma borne ubiquiti... C'est fou ça. Du coup j'ai mis une petite borne dodocool au milieu de la maison cachée (Celle ci : https://www.amazon.fr/dodocool-Répéteur-Routeur-Amplificateur-Antennes/dp/B01N0V9YMM/ref=sr_1_2?ie=UTF8&qid=1504262946&sr=8-2&keywords=dodocool+wifi), et maintenant cela fonctionne nickel. J'aimerai tout de même comprendre pourquoi ce Roowifi ne veut pas remonter sur la borne ubiquiti. Sinon vive le Dodocool, cette petite borne est juste top et sa portée juste impressionnante.

Lien vers le commentaire
Partager sur d’autres sites

J'ai rien trouvé en vente, il faut faire soit même (Des plans se trouvent sur le net). Sinon truc marrant, je viens de commander un Pi Zero starter kit, et plusieurs couvercles sont fournis, et un va dessus :) Avec un petit peu de colle, je pense qu'on pourrait même le fixer proprement dessus.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

En faisant quelque recherches sur le Net, je suit tombé sur des associations FatLab (Lieux et espaces tiers dédiés à la fabrication numérique, aux ateliers de biohacking et à la bidouille collaborative).

 

Je pense qu'en venant avec son plan 3D, ils devrait possible d'imprimer un boitier de protection.

 

Je vais les rencontrer pour voir comment ça se passe.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Bon j'en ai commandé 3 sur freelabster, on verra (Pour le moment leur site à buggué, mais le Paypal est passé...). C'est 27,00 € les 3 capots, je vous dirai ce que cela donne. Si ils sont ok, j'en aurai donc 2 de dispos.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...