Même problématique sur un des iphone de la maison qui a commencé à demander à nouveau un accès sans avoir redémarré la box.
J’ai pas d’explication mais comme mon scénario qui lance le script se lance toutes les 15mn lorsque je suis absent, j’avais pas envie de recevoir sur l’iphone des notifs de connexion toutes les 15mn.
Du coup j’ai mis en place un bout de code que j’ai trouvé ailleurs sur le forum afin d’avoir une variable qui se met à jour au cas où mon script tombe en erreur (si une authentification est de nouveau nécessaire). Si cette variable est égale à 1 au lieu de 0 initialement, alors un autre scénario se lance afin de désactiver mon scénario de localisation.
Ca implique par la suite quoiqu’il arrive de devoir refaire la manip du SMS + vider la log du scénario de localisation + réactiver le scénario. C’est pas super propre et très automatisé, mais c’est pour le moment le seul moyen que j’ai trouvé pour pas avoir des appels téléphonique de ma femme qui se demande si elle est en train de se faire pirater car elle fait que recevoir des notifs apple ![]()
Scénario de localisation
Scénario qui va désactiver mon scénario de localisation en cas d’erreur.
Il se lance sur un evenement provoqué :
#variable(backup_error_code)#
Si vous avez une meilleur idée, je suis preneur, mais au pire peut etre que ca pourra dépanner certains de façon temporaire.
Code PHP à ajouter à la fin du scénario de localisation:
$scenario->setData("backup_error_code", 0);
$log = '/var/www/html/log/scenarioLog/scenarioXX.log'; // Emplacement de votre log pour ce scénario
$date_format = date('Y-m-d');
$pattern = "#\[$date_format.*Erreur sur sh /var/www/html/plugins/script/data/lancement.sh#"; // Votre message d'erreur
$content_log = (file_get_contents($log));
preg_match_all($pattern, $content_log, $out, PREG_PATTERN_ORDER); // A RegEx grep in PHP
$error_array = $out[0]; // $out[0] contains the content matched by the RegEx
foreach($error_array as &$log_entry) {
$scenario->setData("backup_error_code", 1);
$scenario->setData("backup_error_output", $log_entry);
$scenario->setLog("ALERT: Error found in log:" .$log_entry);
}
Code PHP fait par @zaibakker (cloudsyncPro - Notification en cas d'erreur - test d'une valeur dans une log - #6 par zaibakker) .
Merci à lui !
