Les commandes de positionnements ne remontent pas

C’est pour le moment une ébauche, j’aimerai au final que les commandes soient créées automatiquement.

juste après la ligne 1130 ajoute ceci :

////////////////////// preset test ////////////////////
			try {
				switch ($request) {
					case 'preset':
						$presetToken = $this->getConfiguration('stopCmdUrl','');
						if ($presetToken != '' ) {
							log::add('camera', 'debug', 'ptz_GotoPreset() -> ' . $presetToken);
							$onvif->ptz_GotoPreset($profileToken, $presetToken, $speedX, $speedY, $speedZ);
							return true;
						}
				}
			} catch (Exception $e) {
				log::add('camera', 'debug', 'onvif error reason for ' . $request . ' : ' . json_encode($onvif->getLastResponse()));
			}
//////////////////////////////////////////////////

ensuite dans ton équipement ajoute une commande action/défaut puis dans url de la commande met preset et dans la commande URL stop le numero de preset voulu :

image

Si tu connais pas les numéros de preset, tu peux tester ceci dans un bloc code :

require_once __DIR__ . '/../../plugins/camera/3rdparty/ponvif.php';
$eqLogics = eqLogic::byType('camera', true);
foreach ($eqLogics as $eqLogic) {
  if ($eqLogic->getConfiguration('device') != 'onvif') continue;
  
  $profileToken = $eqLogic->getConfiguration('cameraStreamProfileToken');
  try {
    $scenario->setLog(' ------------- ' . $eqLogic->getHumanName() . ' ------------- ');
    $onvif = new Ponvif();
    $onvif->setUsername($eqLogic->getConfiguration('username'));
    $onvif->setPassword($eqLogic->getConfiguration('password'));
    $onvif->setIPAddress($eqLogic->getConfiguration('ip') . ':' . $eqLogic->getConfiguration('onvif_port', 80));
    $onvif->initialize();
    $presets = $onvif->ptz_GetPresets($profileToken);
    foreach ($presets as $preset) {
      $scenario->setLog(json_encode($preset));
    }
    //$scenario->setLog(json_encode($onvif->ptz_GetPresets($profileToken)));
  } catch (Exception $e) {
    $scenario->setLog($eqLogic->getHumanName() . ' - [ONVIF] : ' . $e->getMessage());
  }
}

Le résultat de ce bloc code m’intéresse pour comparer les différentes valeurs que peuvent envoyer différente cam, si tu peux partager le résultat stp.

exemple pour ma cam Reolink Trackmix :

------------------------------------
[2026-08-07 17:59:14][SCENARIO] -- Début : . Tags : {"#trigger#":"user","#trigger_name#":"","#trigger_id#":"","#trigger_message#":"Scénario lancé manuellement","#trigger_value#":"admin"}
[2026-08-07 17:59:14][SCENARIO] - Exécution du sous-élément de type [action] : code
[2026-08-07 17:59:14][SCENARIO] Exécution d'un bloc code
[2026-08-07 17:59:14][SCENARIO]  ------------- [Luna][trackmix] -------------
[2026-08-07 17:59:15][SCENARIO] {"Token":"000","Name":"PointGarde","PTZPosition":null}
[2026-08-07 17:59:15][SCENARIO] {"Token":"001","Name":"camion arr","PTZPosition":null}
[2026-08-07 17:59:15][SCENARIO] {"Token":"002","Name":"Maison int","PTZPosition":null}
[2026-08-07 17:59:15][SCENARIO] {"Token":"004","Name":"provisoire","PTZPosition":null}
[2026-08-07 17:59:15][SCENARIO] Fin correcte du scénario

Les numéros de preset correspondent au Token.

2 « J'aime »