Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Aspirateur Roborock S50 => définir les zones de la maison?

Avatar de l’utilisateur
Patrick
Helper
Messages : 1029
Inscription : 29 août 2014, 15:21
Localisation : Savoie

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par Patrick » 24 déc. 2018, 16:19

Je pense qu'il doit être possible de faire un script pour ajuster et recalculer les coordonnées des points et des zones lorsque l'orientation de la carte change. Après tout il ne peut y avoir que 4 versions possibles des coordonnées, donc un matheux va bien nous proposer une fonction capable de recalculer toutes nos coordonnées quand on inverse les X et/ou les Y...
;-)
Après il ne restera plus qu'à entrer dynamiquement ces coordonnées recalculés lors des rotations des cartes...
je me demande même si on ne pourrai pas repérer automatiquement les rotations des cartes en testant un goto vers une zone normalement accessible uniquement dans certaines orientations...
ßêta-Testeur / Développeur plugin / Modérateur du Forum EnOcean

En domotique ou en informatique, il n'y a pas de problème, mais seulement des solutions à trouver...
Pour contribuer au développement des plugins et tutos : Paypal

sebfar
Timide
Messages : 441
Inscription : 17 sept. 2018, 13:34

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par sebfar » 27 déc. 2018, 15:28

jfr a écrit :
04 oct. 2018, 10:23
ATTENTION RISQUE !! Je ne suis pas responsable en cas de mauvaise manipulation, ceci peut abîmer votre Jeedom en cas d'erreur !

Je vous conseille très très fortement de faire un backup de votre JEEDOM avant de commencer !


Pour ceux qui ont le firmware qui prend en charge le "zone clean" et qui voudraient ajouter la gestion de cette fonctionnalité au superbe plugin de lunarok et sarakha63 (en attendant qu'ils l'intègrent à leur plugin) :

img1.png




Il faut commencer par récupérer l'id de l'objet aspirateur dans Jeedom. Cet id sert dans le code ci-après :
img2.png


J'ai réussi en faisait un scénario avec un code php pour ajouter une nouvelle commande au plugin avec l'ordre "app_zoned_clean" et les coordonnées de la zone que j'ai au préalable identifiées chez moi pour la pièce en question. On peut créer une commande pour chacune des pièces de la maison. Ceci est à exécuter une seule fois pour créer la commande.

Code : Tout sélectionner

# Ajoute la commande "Cuisine" à l'aspirateur avec une clean zone défini sur les coordonnées de la cuisine
# aspirateur => id = 267
$xiaomihomeCmd = new xiaomihomeCmd();
$xiaomihomeCmd->setName('Cuisine');
$xiaomihomeCmd->setEqLogic_id(267);  # remplacer l'id par votre id trouvé précédemment dans VOTRE Jeedom !
$xiaomihomeCmd->setEqType('xiaomihome');
$xiaomihomeCmd->setLogicalId('cuisine');
$xiaomihomeCmd->setType('action');
$xiaomihomeCmd->setSubType('other');
$xiaomihomeCmd->setConfiguration('request', 'app_zoned_clean');
$xiaomihomeCmd->setConfiguration('params', '[[21500,25800,24500,29800,2]]');  # Coordonnées de votre pièce [[bas_gauche_x, bas_gauche_y, haut_droit_x, haut_droit_y, nombre_de_passage (1,2 ou 3)]]
$xiaomihomeCmd->setIsVisible('1');
$xiaomihomeCmd->save();
$scenario->setLog(print_r($xiaomihomeCmd, true));

Ensuite on peut définir une icône pour la commande comme n'importe quelle commande si besoin.

Et un petit clic sur le bouton, et l'aspirateur part nettoyer uniquement la zone que vous avez définie ;-)
img3.png


Le plus compliqué finalement c'est de trouver les coordonnées de chaque pièce de la maison, mais ça c'est pour un autre post...
Bonjour

Comment exécute t on ce script ? Merci. Je suis passé par le module script mais je n'ai pas de nouvelle commande de créée :(

edit : finalement j'ai fait une requête en base de données directement
Dernière édition par sebfar le 27 déc. 2018, 16:17, édité 1 fois.

herve0297
Timide
Messages : 61
Inscription : 25 sept. 2016, 17:32

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par herve0297 » 27 déc. 2018, 16:17

Tu le fais dans un scénario. Scénario que tu lance 1 seule fois avec le bouton exécuter au dessus du scénario.
J ai fait un scénario par zone. Ensuite j ai désactivé le scénario, mais je le conserve au cas où il faudrait tout recommencer.

Nefertito
Timide
Messages : 14
Inscription : 18 août 2014, 09:50

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par Nefertito » 30 déc. 2018, 15:48

Bonjour,
Je souhaite acheter un roborock V2 mais avant d’acheter je me pose quelques questions auxquelles vous pourrez peut-être répondre.
- Quelle version vaut-il mieux acheter ? Version chinoise ou internationale ?
- Peut-on intégrer les deux facilement dans Jeedom ?
- Il semble que désormais le roborock soit compatible nativement avec Google home. Quel avantage à le passer par Jeedom ?
Merci d’avance pour vos réponses.

herve0297
Timide
Messages : 61
Inscription : 25 sept. 2016, 17:32

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par herve0297 » 30 déc. 2018, 16:43

D'après ce je sais l avantage de passer par jeedom, c est que l on peut définir des zones de nettoyages.
Alors que a priori avec Google c est juste marche/arrêt et retour Home.

Avatar de l’utilisateur
HerveL
Timide
Messages : 478
Inscription : 11 sept. 2015, 22:46
Localisation : Nantes

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par HerveL » 30 déc. 2018, 19:16

Selon moi l’intérêt principal est de commander ton aspirateur selon des scénarios dépendants du contexte.
Du style, plus personne n'est à la maison, allez ... je me fais un petit nettoyage sans embêter personne, et ensuite je t'affiche un rappel pour penser à vider le bac quand tu rentres 8-)
Car si c'est seulement pour piloter l'aspirateur à la demande (depuis chez toi ou à distance), l'application Mi Home fait ca très bien.
Quand à déclencher l'aspirateur sur une commande vocale quand tu es chez toi, je pense que sur les 2 ou 3 prochaines générations nous devrions encore être capables d'appuyer sur un bouton :lol:
Hervé
Utilisateur Mini+ et SMART passionné
Zwave, IPX800V3, IPX800V4, Rfxcom, RFP1000

JPLP
Timide
Messages : 207
Inscription : 22 nov. 2017, 13:28

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par JPLP » 31 déc. 2018, 13:46

Un mix des deux est sympa aussi : "Ok Google, passe l'aspirateur dans le salon"

Chez moi, ça fonctionne bien, et c'est très pratique quand on met plein de miettes par terre durant l'apéro ^^

jr16
Timide
Messages : 23
Inscription : 06 avr. 2018, 18:52

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par jr16 » 13 janv. 2019, 12:53

jfr a écrit :
04 oct. 2018, 12:50
ATTENTION RISQUE !! Je ne suis pas responsable en cas de mauvaise manipulation, ceci peut abîmer votre Jeedom en cas d'erreur !

Je vous conseille très très fortement de faire un backup de votre JEEDOM avant de commencer !


Pour trouver les coordonnées, il faut y aller en tâtonnant.

Les coordonnées sont définies comme ceci :
[[zone1][zone2][zone_x]...] => on peut définir plusieurs zones, dans ce cas l'aspirateur les fera l'une après l'autre et dans l'ordre

Chaque zone est définie comme suit :
[bas_gauche_x, bas_gauche_y, haut_droit_x, haut_droit_y, nombre_de_passage]
Nombre de passage = 1, 2 ou 3 => nombre de passage que l'aspirateur doit faire dans la zone

Exemple :
[[21500,25800,24500,29800,2][11500,22800,24000,11800,1][26000,25800,28500,39800,3]] => définit 3 zones dont la première fera 2 passages, la seconde 1 passage et la dernière 3 passages

Les coordonnées peuvent faire jusqu'à [52000, 52000] ! Après avoir imprimé mon plan Mi Home, je remarque que sur une feuille A4, 1cm fait environ 650 points de coordonnées.
=> 1unité xiaomi = 1 mm donc 1000 => 1m !

La base de l'aspirateur est environ au milieu du plan [25300, 25400] pour moi, je pense que ça doit être le cas à chaque fois, ce qui laisse la possibilité au plan de pouvoir s'agrandir dans toutes les directions au fur et à mesure que l'aspi découvre l'espace autour de lui...
Donc au début chercher autour du milieu pas trop loin de la base, si on définit un point qui sort du plan on a une erreur de l'aspi disant qu'il ne peut pas atteindre la cible.

Maintenant, comment trouver ses coordonnées ? Personnellement j'ai utilisé la commande spot que j'ai modifiée temporairement pour faire un goto target avec des coordonnées au hasard. Et petit à petit on arrive à trouver les coordonnées de toute la maison.

Commencer par identifier l'id de la commande spot de votre aspirateur. Pour moi, il s'agit de l'id 2601 dans exemple, mais pour vous ce sera différent (!!) :
spot.png


Ensuite utiliser l'éditeur de base de données intégré à Jeedom dans Configuration => OS/DB => Base de données (attention danger, toute mauvaise manipulation ici peut être fatale à votre JEEDOM, je ne suis pas responsable !!) :

sql.png


Taper la commande SQL suivante dans le requêteur SQL (avec l'id de VOTRE commande spot) :

Code : Tout sélectionner

select configuration from cmd where id = 2601
Noter la configuration actuelle, pour pouvoir remettre la commande spot à la fin !!

Exemple :
select.png


Ensuite il ne reste plus qu'à modifier la configuration de la commande spot pour lui faire faire un goto target avec les coordonnées qu'on veut plutôt qu'un nettoyage spot. Pour cela on utilise la commande suivante pour modifier la configuration de la commande spot et faire aller le robot aux coordonnées [21500,25800] :

Code : Tout sélectionner

UPDATE cmd SET configuration='{"request":"app_goto_target","params":"[21500,25800]","timeline::enable":"0","interact::auto::disable":"0","actionConfirm":"0","actionCodeAccess":"","actionCheckCmd":[],"jeedomPreExecCmd":[],"jeedomPostExecCmd":[],"minValue":"","maxValue":""}' where id = 2601
En fait il faut remplacer dans la configuration de VOTRE commande spot :

Code : Tout sélectionner

"request":"app_spot"
par :

Code : Tout sélectionner

"request":"app_goto_target","params":"[21500,25800]"
avec les coordonnées souhaitées. Puis cliquer sur le bouton spot pour faire aller le robot aux coordonnées demandées ! Bonus : l'application Mi Home vous montrera sur le plan la cible visée.

Et recommencer autant de fois que nécessaire pour identifier toutes les coordonnées de la maison ;-)


Et quand on a terminé, remettre la commande spot comme elle était avec un :

Code : Tout sélectionner

UPDATE cmd SET configuration='{"request":"app_spot","timeline::enable":"0","interact::auto::disable":"0","actionConfirm":"0","actionCodeAccess":"","actionCheckCmd":[],"jeedomPreExecCmd":[],"jeedomPostExecCmd":[],"minValue":"","maxValue":""}' where id = 2601
=> reprendre la configuration que vous avez noté au départ entre les {} !
Merci pour la méthode, fonctionne super bien !
Juste si on veut définir plusieurs zones, il faut séparer par des virgules :

[[21500,25800,24500,29800,2],[11500,22800,24000,11800,1],[26000,25800,28500,39800,3]]

Merci encore, avec Google Home c'est top !

JPLP
Timide
Messages : 207
Inscription : 22 nov. 2017, 13:28

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par JPLP » 14 janv. 2019, 16:57

Bonjour,

depuis hier, je ne peux plus utiliser cette fonction avec les coordonnées indiquées car la carte de l'aspirateur a pivoté dans mi home ;-(
Du coup, je dois tout refaire.
Avez-vous déjà eu cette mésaventure ? Y a-t-il un moyen de retrouver l'ancienne disposition ?
Je précise que le socle de l'aspirateur n'a pas bougé d'un poil ;-)

herve0297
Timide
Messages : 61
Inscription : 25 sept. 2016, 17:32

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par herve0297 » 14 janv. 2019, 17:33

J avais eu un problème comme ça, j'avais fait un reset de la carte dans mihome. Je pense que ça devrait repartir sans modifier les coordonnés dans jeedom.

JPLP
Timide
Messages : 207
Inscription : 22 nov. 2017, 13:28

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par JPLP » 14 janv. 2019, 18:11

herve0297 a écrit :
14 janv. 2019, 17:33
J avais eu un problème comme ça, j'avais fait un reset de la carte dans mihome. Je pense que ça devrait repartir sans modifier les coordonnés dans jeedom.
J'avais pensé à ça. Mais je ne trouve pas le moyen de faire un reset de la carte.
Tu te souviens où c'est ?

herve0297
Timide
Messages : 61
Inscription : 25 sept. 2016, 17:32

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par herve0297 » 14 janv. 2019, 18:36

Tu fais EDIT en haut à droite quand tu es sur la carte.

Qben
Timide
Messages : 27
Inscription : 01 janv. 2018, 17:26

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par Qben » 14 janv. 2019, 19:51

Il ne suffit pas de le faire démarrer depuis l appli pour qu il reprenne la carte dans l autre sens ?
Chez moi, de temps en temps, la carte s inverse.
Il suffit de lui refaire faire un nettoyage.

JPLP
Timide
Messages : 207
Inscription : 22 nov. 2017, 13:28

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par JPLP » 14 janv. 2019, 21:10

herve0297 a écrit :
14 janv. 2019, 18:36
Tu fais EDIT en haut à droite quand tu es sur la carte.
Pas d'édit en haut à droite :(
J'ai les 3 ... Les options, etc... Mais pas de reinit de carte.

JPLP
Timide
Messages : 207
Inscription : 22 nov. 2017, 13:28

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par JPLP » 14 janv. 2019, 21:14

Qben a écrit :
14 janv. 2019, 19:51
Il ne suffit pas de le faire démarrer depuis l appli pour qu il reprenne la carte dans l autre sens ?
Chez moi, de temps en temps, la carte s inverse.
Il suffit de lui refaire faire un nettoyage.
Non, malheureusement. J'ai relancé un nettoyage complet, mais la carte reste inversée.
Je vais essayer plusieurs fois. On verra bien.
Mais c'est pas très WAF ... :roll:

xavax
Actif
Messages : 1828
Inscription : 01 sept. 2017, 14:03
Localisation : Lille

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par xavax » 14 janv. 2019, 21:15

Il suffit de désactiver la carte et elle s’efface. Et ensuite réactiver la carte


Envoyé de mon iPhone en utilisant Tapatalk

Avatar de l’utilisateur
HerveL
Timide
Messages : 478
Inscription : 11 sept. 2015, 22:46
Localisation : Nantes

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par HerveL » 14 janv. 2019, 21:33

Salut,

Je suis en train de me lancer dans la défintion des zones, mais je vois que ma commande Spot est totalement différente de celle de l'exemple, du coup je n'ose pas modifier.

Voila ce que j'ai pour la requete :

Code : Tout sélectionner

select configuration from cmd where id =6380
J'ai la réponse:

Code : Tout sélectionner

{"request":"app_spot","logicalId":"spot","minValue":"","maxValue":""}
Il y a eu une mise à jour du plugin vers une syntaxe plus simple entre temps ?
Je me pose donc la question de savoir s'il faut adapter l'update en fonction de cette version ?
Dernière édition par HerveL le 14 janv. 2019, 21:38, édité 1 fois.
Hervé
Utilisateur Mini+ et SMART passionné
Zwave, IPX800V3, IPX800V4, Rfxcom, RFP1000

sebfar
Timide
Messages : 441
Inscription : 17 sept. 2018, 13:34

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par sebfar » 14 janv. 2019, 21:35

HerveL a écrit :
14 janv. 2019, 21:33
Salut,

Je suis en train de me lancer dans la défintion des zones, mais je vois que ma commande Spot est totalement différente de celle de l'exemple, du coup je n'ose pas modifier.

Voila ce que j'ai pour la requete :

Code : Tout sélectionner

select configuration from cmd where id =6380
J'ai la réponse:

Code : Tout sélectionner

{"request":"app_spot","logicalId":"spot","minValue":"","maxValue":""}
J'avais la même chose ne t'inquiètes pas

Avatar de l’utilisateur
HerveL
Timide
Messages : 478
Inscription : 11 sept. 2015, 22:46
Localisation : Nantes

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par HerveL » 14 janv. 2019, 21:38

Pardon j'ai édité mon post que j'avais posté trop vite
Hervé
Utilisateur Mini+ et SMART passionné
Zwave, IPX800V3, IPX800V4, Rfxcom, RFP1000

Avatar de l’utilisateur
HerveL
Timide
Messages : 478
Inscription : 11 sept. 2015, 22:46
Localisation : Nantes

Re: Aspirateur Roborock S50 => définir les zones de la maison?

Message par HerveL » 14 janv. 2019, 23:33

Ok ca marche malgré la syntaxe différente. Merci !
Par contre il vient de me faire le coup de m'orienter la carte à l'oblique suite à un retour manuel à la base (après un go to un peu éloigné, il ne trouvait plus la base).
Et donc après les coordonnées ne veulent plus rien dire bien évidemment
Comme le suggérait Patrick il faudrait pouvoir détecter l'orientation de la carte pour recalculer les coordonnées en relatif ...
Hervé
Utilisateur Mini+ et SMART passionné
Zwave, IPX800V3, IPX800V4, Rfxcom, RFP1000

Répondre

Revenir vers « [Plugin Tiers] Xiaomi Home »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 12 invités