mon nas n’étant pas allumé la nuit le renouvellement ne c’est pas fait ( j’ai fait la manipulation à la main) , mais la date n’est pas modifié et reste à celle d’aujourd’hui ! est-ce normal ? peut on modifier l’heure pour qu’elle soit effectué en journée ?
(De facon générale : plutot que de tagguer l auteur d un plugin je t invite a mettre l etiquette du plugin pour lequel tu as une question : ca permet a un + gd nombre d etrr informé et de classer le sujet au bon endroit)
Ca fait parti des prochains points que je voulais regarder je nai pas compris pour l ancien auteur souhaitait que la maj soit faite systematiquement de facon aleatoire, et change apres chaque execution.
En attendant tu peux donc aller sur l equipement que tu as nommé « no-ip » et simplement faire un « sauvegarder » => ca devrait programmer une prochaine exec dans le futur
(Pas mal ton floutage de dns … sauf que tu as oublié celui présent sur la barre verte du widget ! )
Ça remonte mais il me semble bien que plusieurs personnes avaient eu des soucis avec le refresh. Je sais plus si c’était des bans ou juste des loupés mais du coup il avait du coder pour que le comportement de refresh soit le plus humain possible donc avec une bonne dose d’aleatoire.
crées un scénario, ajoute un bloc code, et colle :
$cron = cron::byClassAndFunction('noip', 'autoCheck');
if (is_object($cron)) {
$randMinute = rand(3, 59);
$randHour = rand(10, 20);
$cronExpr = $randMinute . ' ' . $randHour . ' * * *';
$cron->setSchedule($cronExpr);
$cron->save();
$eq = eqLogic::byId(1234); /// <<----- changer le chiffre pour indiquer le bon id de ton équipement "No-Ip"
if (is_object($eq)) {
$eq->checkAndUpdateCmd('nextcheck', $cron->getNextRunDate());
}
}
en déclencheur tu scénario, tu sélectionnes Provoqué et tu indiques #start# comme valeur
→ à chaque démarrage de jeedom, le scénario sera exécuté, et l’heure de renouvellement sera rafraichie.
tu peux l’exécuter manuellement une 1ere fois, pour vérifier que tout est OK
j’ai bien réussi à paramétrer mon scénario ( du moins je le pense) il s’execute bien … mais il ne se passe rien ! c’est bien l’id de l’objet qu’il faut intégrer dans ton code ?
résultat du log
[2023-02-28 20:23:35][SCENARIO] -- Start : Scenario lance manuellement.
[2023-02-28 20:23:35][SCENARIO] - Exécution du sous-élément de type [condition] : if $cron = cron::byClassAndFunction('noip', 'autoCheck'); if (is_object($cron)) { $randMinute = rand(3, 59); $randHour = rand(10, 20); $cronExpr = $randMinute . ' ' . $randHour . ' * * *'; $cron->setSchedule($cronExpr); $cron->save(); $eq = eqLogic::byId(9); if (is_object($eq)) { $eq->checkAndUpdateCmd('nextcheck', $cron->getNextRunDate()); } }
[2023-02-28 20:23:35][SCENARIO] Using $this when not in object context
[2023-02-28 20:23:35][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-02-28 20:23:35][SCENARIO] Fin correcte du scénario
c’est bien cela mon erreur , il faut clicker « ajouter bloc » dans scénario , après il y a un choix dans un menu deroulant , je sélectionne " action" ?
merci pour ta patience
c’est bon j’ai réussi ! il faut que je prenne le temps pour maîtriser tout cela avant d’entreprendre autre chose , je te remercie une nouvelle fois …
bonnne fin de soirée
Bret
Non Bret … on met la « solution » sur le message qui … donne la solution !
pour que ca aide d autres personnes et que la reponse soit visible des le 1er post.