Xiaomi STYJ02YM (viomi)

Est-il possible de rajouter des commandes pour le nettoyage de pièces spécifiques sur le widget? On peut créer des boutons séparés liés à des scénarios, mais il serait plus joli d’avoir directement des boutons spécifiques pour les pièces à nettoyer…

Merci

Hello,

Tu crées un scénario avec le bloc code suivant :

# aspirateur => id = xxx
$xiaomihomeCmd = new xiaomihomeCmd();
$xiaomihomeCmd->setName('Anglais');
$xiaomihomeCmd->setEqLogic_id(xxx);
$xiaomihomeCmd->setEqType('xiaomihome');
$xiaomihomeCmd->setLogicalId('aspi_fr');
$xiaomihomeCmd->setType('action');
$xiaomihomeCmd->setSubType('other');
$xiaomihomeCmd->setConfiguration('request', 'set_language');
$xiaomihomeCmd->setConfiguration('params', '[2]');
$xiaomihomeCmd->setConfiguration('logicalId', 'start');
$xiaomihomeCmd->setIsVisible('1');
$xiaomihomeCmd->save();
$scenario->setLog(print_r($xiaomihomeCmd, true));

Cela va te créer un bouton « Anglais ». Tu cliques et il saura parler Anglais :slight_smile:.
Il faut bien entendu indiquer l’ID de ton objet à la place des xxx.

1 « J'aime »

Oui, en créant les boutons (à faire après chaque upgrade) via un bloc code dans un scénario. Exemple :

$xiaomihomeCmd = new xiaomihomeCmd();
$xiaomihomeCmd->setName('Chambre Parents');
$xiaomihomeCmd->setEqLogic_id(xxx); # ID de l’aspirateur
$xiaomihomeCmd->setEqType('xiaomihome');
$xiaomihomeCmd->setLogicalId('aspi_chambre_parents');
$xiaomihomeCmd->setType('action');
$xiaomihomeCmd->setSubType('other');
$xiaomihomeCmd->setConfiguration('request', 'set_mode_withroom');
$xiaomihomeCmd->setConfiguration('params', '[0,1,1,17]');
$xiaomihomeCmd->setConfiguration('logicalId', 'start');
$xiaomihomeCmd->setIsVisible('1');
$xiaomihomeCmd->save();
$scenario->setLog(print_r($xiaomihomeCmd, true));
1 « J'aime »

Hello Kyoshi,

Pourrais-tu partager ton scénario qui lance un lavage (aspiro + serpillère) en mode pièce stp? Je n’arrive toujours pas à faire marcher le mien…

Merci d’avance!

Hello,

Je n’ai jamais et ne ferais jamais un lavage + aspiro. Je n’ai jamais utilisé le bac mixte. Il est totalement inutile au vu du réservoir (dans mon cas). Je ne fais que des aspirations et des lavages (avec le gros réservoir d’eau) séparées.

Je n’ai pas de scénario à proprement parlé pour l’aspirateur.
C’est un scénario dédié à mon écran Nextion qui exécutent les commandes (voir photo du Nextion plus haut) que j’exécute depuis ce dernier.

Dans mon cas, je me mode de sélection l’aspiration ou le lavage car suivant le bac que l’on met dedans, c’est automatique.

1 « J'aime »

Fantastique, merci pour avoir pris le temps de répondre. C’est simple, et surtout cela va faciliter grandement le design…

Merci pour ta réponse. Effectivement, cela résout ton souci :slight_smile:

J’avoue être un peu démotivé pour le mien par contre, car je ne vois pas comment forcer pour qu’il lave en Y (et utilise l’eau, au final). J’ai beau mettre « select mode » à 2, ou mettre « mode mix » puis lancer le mode pièces, il s’en moque…

je vais tenter avec ton script, en utilisant le paramètre « is_mop », mais j’ai pas l’impression qu’on puisse le forcer, c’est plutôt juste un état non?

Hello merci pour ton partage je viens de lancer to’ script mais perso, cela m’a bien créé les boutons mais ca ne change pas les voix comme la fonction automatisations sous Mi home

Le is_mop est juste un état, oui.
set_mop est pour mettre un mode.

Jeedom affiche qu’il est en quel mode?

Hello,

T’es bien en FW47?

Ces infos là:
image

En tentant set_mop avec [1] en paramètre (dans un scenario contenant le code que t’as développé plus haut), ça me met des chiffres fantaisistes

Il faudrait mettre 1 et non [1]. Enfin, je crois. Je n’ai pas le code sous les yeux. Il faudrait faire des tests.

Dans ton screen, tu as bien l’aspiration qui est à 2, qui correspond au mode mixte.
Dans le mode mixte, on peut soit aspirer, soit laver, soit les deux. C’est la commande qu’il faut trouver…

Oui j’ai même rooté l’aspirateur et je suis sur vevs

Chez moi, pas de root et App iOS.
Tu as la même chose dans les informations de la commande?

Si oui, quand tu cliques sur « Tester », que tu vas sur ton App et que tu fais rechercher l’aspirateur, il parle toujours Chinois?

A noter qu’après chaque reboot du robot, il faut relancer la commande.

Je vais tester l’avantage du root c’est que quand je met language 1 maintenant j’ai les voix française et language 2 j’ai mis r2d2 lol

Sais-tu s’il y a moyen de créer un cron ou je ne sais pas quoi qui reboot le robot en cas de perte du réseau?
Si je root, c’est l’objectif… Mais faut voir si c’est un Unix « standard » pour pouvoir faire cela.

Je vais peut-être me pencher sur la question.
Car s’il perd le réseau, il clignote et on ne peut plus rien faire avec… Et je dois hardrebooter…

J’ai ça

Si tu veux le rooter :
https://telegra.ph/Correction-des-mises-à-jour-bloquées-du-Xiaomi-STYJ02YM-04-05

:wink:Et oui je crois tu peux créer le cron

Normal que cela ne fonctionne pas.
Tu as comme paramètre 1 et non 2.
Le 1, c’est le Chinois.

Dans mon code, regarde la ligne

$xiaomihomeCmd->setConfiguration('params', '[2]');

Oui, j’avais vu passé le tuto mais pour la MAJ du robot, je préférais attendre la correction de Xiaomi.