Xiaomi x20+

Bonjour,

Je viens d’acheter un xiaomi x20+, et celui-ci n’est pas géré par le plugin.
Les logs en debug disent ça :

Le modèle de l’équipement n’est pas pris en charge : xiaomi.vacuum.c102gl

Est-ce possible de l’ajouter? (Je peux fournir des infos supplémentaires si besoin)


Informations Jeedom

Core : 4.4.9 (V4-stable)
DNS Jeedom : non

Plugin : Mi Robot
Version : 2024-07-04 21:49:58 (stable)

salut,

test la derniere version, la modif n’était dispo qu’en beta

Merci, il apparaît bien maintenant.

J’aurai 2 remarques cependant:

  1. la batterie ne remonte pas dans analyse/equipements.
  2. il y a le réglage de la vitesse d’aspiration mais pas du mode (aspiration/aspiration et lavage / lavage / aspiration avant lavage) ni du débit d’eau (niveau 1/ niveau 2/ niveau 3)

Pour le 1, je l’ai géré par scénario de mon côté.
Pour le 2, je n’en ai pas besoin de mon côté (mon seul besoin est de changer la vitesse d’aspiration si je suis absent ou en télétravail), mais si je peux aider à ajouter, dit moi ce qu’il te faut/les tests que je dois faire.

Pourquoi par scenario ?
Il y a une commande pour passer des commandes custom

elle permet d’exécution une action
pas de récupérer une info ! :slight_smile:

mais ceci dit on peut faire mieux … @Poumi est ce que tu pourrais donner un retour de log lorsque l’équipement se rafraichi stp ?

Voilà:

2720|[2024-08-08 15:50:05] DEBUG  : GENERATE CMD FROM CONFIG FILE : /var/www/html/plugins/mirobot/core/class/../conf/genericmiot.json
2721|[2024-08-08 15:50:05] DEBUG  : CMD BY genericmiot => sudo  /var/www/html/plugins/mirobot/core/class/../../resources/venv/bin/miiocli -o json_pretty genericmiot --ip 192.168.0.175 --token 377251587876575457637562526a7049 status  >&1 2>/var/www/html/plugins/mirobot/core/class/../../data/exec/error_309.txt
2722|[2024-08-08 15:50:07] DEBUG  : CMD result {"vacuum:status":8,"vacuum:fault":68,"vacuum:mode":3,"vacuum:dry-left-time":203,"battery:battery-level":52,"battery:charging-state":1,"brush-cleaner:brush-left-time":195,"brush-cleaner:brush-life-level":97,"filter:filter-life-level":97,"filter:filter-left-time":145,"mop:mop-life-level":94,"mop:mop-left-time":75,"vacuum-extend:work-mode":6,"vacuum-extend:cleaning-time":123,"vacuum-extend:cleaning-area":102,"vacuum-extend:cleaning-mode":3,"vacuum-extend:mop-mode":2,"vacuum-extend:waterbox-status":1,"vacuum-extend:task-status":0,"vacuum-extend:break-point-restart":1,"vacuum-extend:carpet-press":1,"vacuum-extend:serial-number":"54405\/BFACWF4QS51696","vacuum-extend:clean-rags-tip":0,"vacuum-extend:keep-sweeper-time":0,"vacuum-extend:faults":"68","vacuum-extend:nation-matched":"matched","vacuum-extend:relocation-status":0,"vacuum-extend:wash-station":2,"vacuum-extend:child-lock":0,"vacuum-extend:clean-cancel":0,"do-not-disturb:enable":true,"do-not-disturb:start-time":"22:00","do-not-disturb:end-time":"08:00","audio:volume":75,"audio:voice-packet-id":"FR","audio:voice-change-state":"{\\\"id\\\":\\\"\\\",\\\"state\\\":\\\"idle\\\",\\\"progress\\\":0}","time:time-zone":"Europe\/Paris","time:timer-clean":"1-1-09:00-0111110-1-0-3-0-0","clean-logs:first-clean-time":1723021548,"clean-logs:total-clean-time":262,"clean-logs:total-clean-times":2,"clean-logs:total-clean-area":203}
2723|[2024-08-08 15:50:07] DEBUG  : JSON {"vacuum:status":8,"vacuum:fault":68,"vacuum:mode":3,"vacuum:dry-left-time":203,"battery:battery-level":52,"battery:charging-state":1,"brush-cleaner:brush-left-time":195,"brush-cleaner:brush-life-level":97,"filter:filter-life-level":97,"filter:filter-left-time":145,"mop:mop-life-level":94,"mop:mop-left-time":75,"vacuum-extend:work-mode":6,"vacuum-extend:cleaning-time":123,"vacuum-extend:cleaning-area":102,"vacuum-extend:cleaning-mode":3,"vacuum-extend:mop-mode":2,"vacuum-extend:waterbox-status":1,"vacuum-extend:task-status":0,"vacuum-extend:break-point-restart":1,"vacuum-extend:carpet-press":1,"vacuum-extend:serial-number":"54405\/BFACWF4QS51696","vacuum-extend:clean-rags-tip":0,"vacuum-extend:keep-sweeper-time":0,"vacuum-extend:faults":"68","vacuum-extend:nation-matched":"matched","vacuum-extend:relocation-status":0,"vacuum-extend:wash-station":2,"vacuum-extend:child-lock":0,"vacuum-extend:clean-cancel":0,"do-not-disturb:enable":true,"do-not-disturb:start-time":"22:00","do-not-disturb:end-time":"08:00","audio:volume":75,"audio:voice-packet-id":"FR","audio:voice-change-state":"{\\\"id\\\":\\\"\\\",\\\"state\\\":\\\"idle\\\",\\\"progress\\\":0}","time:time-zone":"Europe\/Paris","time:timer-clean":"1-1-09:00-0111110-1-0-3-0-0","clean-logs:first-clean-time":1723021548,"clean-logs:total-clean-time":262,"clean-logs:total-clean-times":2,"clean-logs:total-clean-area":203}
2724|[2024-08-08 15:50:07] DEBUG  : Updating [vacuum:status] with value [8]
2725|[2024-08-08 15:50:07] DEBUG  : Updating [vacuum:fault] with value [68]
2726|[2024-08-08 15:50:07] DEBUG  : Updating [vacuum:mode] with value [3]
2727|[2024-08-08 15:50:07] DEBUG  : Updating [battery:battery-level] with value [52]
2728|[2024-08-08 15:50:07] DEBUG  : Updating [battery:charging-state] with value [1]
2729|[2024-08-08 15:50:07] DEBUG  : Updating [brush-cleaner:brush-left-time] with value [195]
2730|[2024-08-08 15:50:07] DEBUG  : Updating [brush-cleaner:brush-life-level] with value [97]
2731|[2024-08-08 15:50:07] DEBUG  : Updating [filter:filter-life-level] with value [97]
2732|[2024-08-08 15:50:07] DEBUG  : Updating [filter:filter-left-time] with value [145]
2733|[2024-08-08 15:50:07] DEBUG  : Updating [vacuum-extend:cleaning-time] with value [123]
2734|[2024-08-08 15:50:07] DEBUG  : Updating [vacuum-extend:cleaning-area] with value [102]

(pour coller des logs : ce n’est pas citation mais texte préformaté qu’il faut choisir :slight_smile: )

Ok, j’édite (je cherchais :sweat_smile:)
Edit: un modo a été plus rapide :joy:

Et pour info, les réglages actuels c’est ça :

merci pour mes yeux :slight_smile:

mais j’avais lu trop rapidement ton 1er msg …
je pensais que tu disais que le niveau de la batterie n’était pas sauvegardé => ce que je proposais de reagrder
mais non, c’est l’info qui ne remonte pas au niveau de la page équipement !

Oui c’est ça,
Je l’ai géré par script en changeant le batterystatus quand la valeur change (et en renseignant le type de pile sur l’équipement mais je sais pas si c’est nécessaire)

1 « J'aime »

Je viens de faire un test, et j’ai un petit soucis sur le changement de mode:


[2024-08-19 09:00:10] ERROR  : Erreur exécution de la commande [Salon][Xiaomi Robot Vacuum X20+][Vitesse] : ERROR:miio.click_common:Exception: Unable to find action 'vacuum:mode

Normal ce n est pas une commande action, mais une info

Ah ok, graphiquement c’est une liste déroulante alors j’ai essayé de changer la vitesse dessus.

Une idée de la commande pour la changer?

Édit: voilà les logs en debug sur le changement:


0002|[2024-08-19 09:29:26] DEBUG  : ============================ EXEC CMD ============================
0003|[2024-08-19 09:29:26] DEBUG  :   with options : {"select":"3","user_login":"admin","user_id":"1"}
0004|[2024-08-19 09:29:26] DEBUG  : running : setSpeed request: vacuum:mode
0005|[2024-08-19 09:29:26] DEBUG  : CMD BY genericmiot => sudo  /var/www/html/plugins/mirobot/core/class/../../resources/venv/bin/miiocli -o json_pretty genericmiot --ip 192.168.0.175 --token 377251587876575457637562526a7049 call vacuum:mode 3 >&1 2>/var/www/html/plugins/mirobot/core/class/../../data/exec/error_309.txt
0006|[2024-08-19 09:29:28] DEBUG  : CMD result null
0007|[2024-08-19 09:29:28] ERROR  : Erreur exécution de la commande [Salon][Xiaomi Robot Vacuum X20+][Vitesse] : ERROR:miio.click_common:Exception: Unable to find action 'vacuum:mode'

Edit2: la commande status me dit bien que c’est du read-write pourtant:


Running command status
Service [bold]Robot Cleaner (vacuum)[/bold]
	Status (vacuum:status, access: R): Washing (value: 9)
	Device Fault (vacuum:fault, access: R): 0 None
	Mode (vacuum:mode, access: RW): Full Speed (value: 3) (<class 'int'>, choices: Silent (0), Basic (1), Strong (2), Full Speed (3))
	Dry Left Time (vacuum:dry-left-time, access: R): 0:00:00

J’ai trouvé la syntaxe en ligne de commande avec le readme de miio.

Comme c’est un setting et non une action, c’est un set qu’il faut faire et pas un call:


sudo  /var/www/html/plugins/mirobot/core/class/../../resources/venv/bin/miiocli  genericmiot --ip 192.168.0.175 --token 377251587876575457637562526a7049 set vacuum:mode 0

Et ça fonctionne bien:

Par contre, aucune idée de comment le gérer dans le plugin…

Edit: si c’est juste pour moi, t’embête pas (peut-être juste virer la commande pour pas que d’autres se posent la question), je peux le gérer en shell_exec dans mon script

Cf les autres posts :slight_smile:

Non plus, ça fait un call et pas un set

Correct !
Je regarderai en rentrant de vac.

Quelle commande ?

La liste vitesse où on peut choisir une vitesse

Plutot que supprimer, on va corriger :wink: