Consommables roborock

Bonjour,

J’ai vu que le roborock renvoie les données des consommables, est-il possible de les ajouter au plugin pour générer des alertes?

[2020-03-25 19:45:06][DEBUG] : Send to jeedom : {u'devices': {u'wifi_192.168.0.50': {'ip': u'192.168.0.50', 'model': u'vacuum', u'get_status': {u'msg_ver': 8, u'clean_area': 96, u'battery': 100, u'error_code': 'Tout va bien', u'dnd_enabled': 0, u'fan_power': 100, u'state': 'En charge', u'map_present': 1, u'in_cleaning': 0, u'clean_time': '1:35:08s', u'msg_seq': 362}, u'get_consumable': {u'sensor_dirty_time': 569083, u'main_brush_work_time': 569083, u'side_brush_work_time': 569083, u'filter_work_time': 569083}}}}
[2020-03-25 19:45:06][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2020-03-25 19:45:06][DEBUG] : Status Array (     [ip] => 192.168.0.50     [model] => vacuum     [get_status] => Array         (             [msg_ver] => 8             [clean_area] => 96             [battery] => 100             [error_code] => Tout va bien             [dnd_enabled] => 0             [fan_power] => 100             [state] => En charge             [map_present] => 1             [in_cleaning] => 0             [clean_time] => 1:35:08s             [msg_seq] => 362         )      [get_consumable] => Array         (             [sensor_dirty_time] => 569083             [main_brush_work_time] => 569083             [side_brush_work_time] => 569083             [filter_work_time] => 569083         )  )

Les infos sont bien remises à 0 quand on fait le reset via l’appli (exemple mes sensor):

[2020-03-25 19:50:06][DEBUG] : Send to jeedom : {u'devices': {u'wifi_192.168.0.50': {'ip': u'192.168.0.50', 'model': u'vacuum', u'get_status': {u'msg_ver': 8, u'clean_area': 0, u'battery': 100, u'error_code': 'Tout va bien', u'dnd_enabled': 0, u'fan_power': 100, u'state': 'En charge', u'map_present': 1, u'in_cleaning': 0, u'clean_time': '0:00:00s', u'msg_seq': 392}, u'get_consumable': {u'sensor_dirty_time': 0, u'main_brush_work_time': 569083, u'side_brush_work_time': 569083, u'filter_work_time': 569083}}}}
[2020-03-25 19:50:06][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2020-03-25 19:50:06][DEBUG] : Status Array (     [ip] => 192.168.0.50     [model] => vacuum     [get_status] => Array         (             [msg_ver] => 8             [clean_area] => 0             [battery] => 100             [error_code] => Tout va bien             [dnd_enabled] => 0             [fan_power] => 100             [state] => En charge             [map_present] => 1             [in_cleaning] => 0             [clean_time] => 0:00:00s             [msg_seq] => 392         )      [get_consumable] => Array         (             [sensor_dirty_time] => 0             [main_brush_work_time] => 569083             [side_brush_work_time] => 569083             [filter_work_time] => 569083         )  )

J’avoue que je n’ai pas fouillé plus que ça, les consommables sont peut-être différent par modèle ce qui complexifierait beaucoup pour pas grand chose.

Question subsidiaire: l’api permet de faire ce reset? Si oui ce serait encore mieux (sinon par script et variable de valeur au dernier changement il y a moyen de s’en sortir sans).

Merci d’avance pour la réponse (que ce soit oui ou non, je ne me rend pas compte de la complexité derrière :sweat_smile:)

1 « J'aime »

Salut,
J’ai suivi ce tuto pour la gestion de l’entretien de l’aspi
https://www.skipcool.ovh/2019/01/17/informer-lutilisateur-des-besoins-dentretien-du-robot-xiaomi-depuis-jeedom/

J’aurai besoin d’une info pour l’affectation de mon tps de nettoyage dans les variables…
J’ai crée les variables comme dans le tuto…
Mais son scénario ne gère que 1 scénario de nettoyage, mai j’en ai crée 1 par pièce et zone…
Du coup sa formule
variable(aspi_filtre) + floor(lastScenarioExecution(#[Aspirateur][Aspi][Aspi_tte_maison]#)/60)
ne fonctionne que pour 1 scénario…
Je ne sais pas comment écrire pour qu’il prenne ne compte à chaque fois qu’un nettoyage est effectuée…


Est ce que je pourrais mettre
variable(aspi_filtre) + floor(lastScenarioExecution(#[Aspirateur][Aspi][Aspi_tte_maison]#)/60)+ floor(lastScenarioExecution(#[Aspirateur][Aspi][*Autre scénario*]#)/60)

Salut,

la discussion date un peu, mais je comme je suis en train d’installer un roborock chez moi aussi, je me pose le même genre de questions^^.

Je pensais utiliser la commande Durée nettoyage qui est présente dans l’équipement, et avec un bloc code, obtenir la durée en minutes:

$time = cmd::byString('#[Séjour][Roborock][Durée nettoyage]#')->execCmd();
$parsed = date_parse($time);
$minutes= $parsed['hour'] * 60 + $parsed['minute'];
$scenario->setData('duree_nettoyage',$minutes);

Je n’ai pas encore beaucoup testé, mais ca a l’air de fonctionner :smiley: