NeatoBotvacRobot.php (Les modifications se base sur la doc de neato)
public function startCleaning($eco = false,$_modelCleaning,$_maps=null,$_boundaryId=null) {
var_dump($eco);
echo $eco;
switch ($_modelCleaning) {
case 'basic-1';
$params = array("category" => 2, "mode" => ($eco ? 1 : 2), "modifier" => 2);
break;
case 'minimal-2';
case 'minimal-3';
$params = array("category" => 2, 'navigationMode' => 1);
break;
case 'basic-3';
if($_maps == 'advanced-1' ){
$params = array("category" => 4, "mode" => ($eco ? 1 : 2), 'navigationMode' => 1);
}else {
$params = array("category" => 2, "mode" => ($eco ? 1 : 2), 'navigationMode' => 1);
}
break;
case 'basic-4';
if($_maps == 'basic-2'){
$params = array("category" => 4, "mode" => ($eco ? 1 : 2), 'navigationMode' => 1, 'boundaryId' => $_boundaryId );
}else {
$params = array("category" => 2, "mode" => ($eco ? 1 : 2), 'navigationMode' => 1);
}
break;
default:
$params = array("category" => 2, "mode" => ($eco ? 1 : 2), "modifier" => 2,'navigationMode' => 1);
break;
}
return $this->doAction("startCleaning", $params);
}
Et pour neato.class.php
public static function cron15($_eqlogic_id = null,$_data = null) {
…
Ajout des lignes suivant après
ligne 82 $modelCleaning = $result[‹ availableServices ›][‹ houseCleaning ›];
ligne 83 if ($neato->getConfiguration(‹ modelCleaning ›, ‹ ›) != $modelCleaning) {
ligne 84 $neato->setConfiguration(‹ modelCleaning ›, $modelCleaning);
ligne 85 $neato->save();
ligne 86 }
/* Ajout */
$maps = $result['availableServices']['maps'];
if ($neato->getConfiguration('maps', '') != $maps) {
$neato->setConfiguration('maps', $maps);
$neato->save();
}
/* Ajout FIN */
…}
et
modification des lignes suivantes :
case 'start':
$result = $robot->startCleaning(true,$eqLogic->getConfiguration('modelCleaning', ''),$eqLogic->getConfiguration('maps', ''),$eqLogic->getConfiguration('boundaryId', ''));
break;
case 'starteco':
$result = $robot->startCleaning(false,$eqLogic->getConfiguration('modelCleaning', ''),$eqLogic->getConfiguration('maps', ''),$eqLogic->getConfiguration('boundaryId', ''));
break;
Pour la partie BoundaryId, elle permet de selectionner une carte pour le nettoyage. Mon robot ne le permet pas donc je n’ai pas pu creuser plus que ça. Pour avoir le BoundaryId il faut le mapid qui est fournie par le getRobot mais dans mon cas je n’ai que l’information ‹ persistent_maps › mais pas le ‹ maps › avec la liste des cartes disponibles.
Dis moi ce que tu en penses.