Page 5 sur 5

Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 02:36
par glenan
Bonjour

Avec la dernière MAJ Jeedom V 3.3.24 le script de récupération des ID provoque l'affichage d'un bandeau rouge (vide) sur le dashboard.

Après dévalidation du script, le problème disparait mais il y a peut etre une solution pour conserver la compatibilité jeedom de ce script ?

Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 08:47
par Claude69
glenan a écrit :
30 avr. 2019, 02:36
Bonjour

Avec la dernière MAJ Jeedom V 3.3.24 le script de récupération des ID provoque l'affichage d'un bandeau rouge (vide) sur le dashboard.

Après dévalidation du script, le problème disparait mais il y a peut etre une solution pour conserver la compatibilité jeedom de ce script ?
Plus besoin du script. La fonction a été intégrée par Loic :
-> Résumé Domotique,
-> historique des suppressions

Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 09:22
par glenan
Claude69 a écrit :
glenan a écrit :
30 avr. 2019, 02:36
Bonjour

Avec la dernière MAJ Jeedom V 3.3.24 le script de récupération des ID provoque l'affichage d'un bandeau rouge (vide) sur le dashboard.

Après dévalidation du script, le problème disparait mais il y a peut etre une solution pour conserver la compatibilité jeedom de ce script ?
Plus besoin du script. La fonction a été intégrée par Loic :
-> Résumé Domotique,
-> historique des suppressions
Merci pour avoir indiqué où ça se trouvait.
J'avais vu l'info passer mais sans aucune explication.

Envoyé de mon Samsung Note 8 en utilisant Tapatalk


Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 09:30
par Jeandhom
Jeandhom a écrit :
28 mars 2018, 00:31
Jeandhom a écrit :
24 mars 2018, 21:58
J'ai suivi une autre piste pour retrouver le nom de mes commandes supprimées.

J'utilise un bloc code dans un scénario.

Code : Tout sélectionner

foreach(cmd::all() as $cmd) {
   $scenario->setLog($cmd->getId() . ' : ' . $cmd->getHumanName());
}
Il me suffit de regarder les logs du scénario pour retrouver le nom de la commande.
Si je veux sauvegarder ces informations, je télécharge les logs sur ma machine.

En partant sur cette base, je sauvegarde la base dans un fichier txt.
A chaque lancement du scénario, je fais un diff de la base que j'ajoute à l'ancienne.
Un seul fichier contient donc l'ensemble des commandes supprimées ou pas.
Normalement, on doit même retrouver les changements de nom sur une même commande.

Ce code étant dans un bloc code d'un scénario, il suffit de le lancer chaque jour.

ATTENTION, JE N'AI PAS COMPLÈTEMENT VÉRIFIER LE BON FONCTIONNEMENT DE CE SCRIPT

Code : Tout sélectionner

$backupdir = '/var/www/html/zzzbackuperasecmd';
$backupfile = '/jeedomcmd.lst';
$cmdlistold = array();
$cmdlistnew = array();

if (!is_dir($backupdir)) {
  $scenario->setLog('Création du répertoire ' . $backupdir);
  mkdir($backupdir, 0775);
}
if (file_exists($backupdir . $backupfile)) {
  $scenario->setLog('Récupération de la liste dans ' . $backupdir . $backupfile);
  $jeedomcmd = fopen($backupdir . $backupfile, 'r');
  while (($buffer = fgets($jeedomcmd)) !== false) {
    $buffer = trim($buffer,"\n");
    $cmdlistold[] = $buffer;
  }
  fclose($jeedomcmd);
}

foreach(cmd::all() as $cmd) {
  $scenario->setLog('bdd ' . $cmd->getId() . ' : ' . $cmd->getHumanName());
  $cmdlistnew[] = $cmd->getId() . ' : ' . $cmd->getHumanName();
}

$cmdlistdiff = array_diff($cmdlistnew, $cmdlistold);
$cmdlistnew = array_merge($cmdlistold, $cmdlistdiff);
asort($cmdlistnew,SORT_NUMERIC);

$jeedomcmd = fopen($backupdir . $backupfile, 'w+');
foreach($cmdlistnew AS $ligne) {
  $scenario->setLog('bck ' . $ligne);
  fputs($jeedomcmd,$ligne."\n");
}
fclose($jeedomcmd);
EDIT du 26/10/2018, le script fonctionne parfaitement.
Le mien, par contre, fonctionne toujours parfaitement.
Je le conserve car j'ai même l'historique des changements de nom d'une même commande.

Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 09:37
par PrFalKeN
glenan a écrit :
30 avr. 2019, 09:22
Claude69 a écrit :
glenan a écrit :
30 avr. 2019, 02:36
Bonjour

Avec la dernière MAJ Jeedom V 3.3.24 le script de récupération des ID provoque l'affichage d'un bandeau rouge (vide) sur le dashboard.

Après dévalidation du script, le problème disparait mais il y a peut etre une solution pour conserver la compatibilité jeedom de ce script ?
Plus besoin du script. La fonction a été intégrée par Loic :
-> Résumé Domotique,
-> historique des suppressions
Merci pour avoir indiqué où ça se trouvait.
J'avais vu l'info passer mais sans aucune explication.

Envoyé de mon Samsung Note 8 en utilisant Tapatalk
Tu devrais être plus attentif car j'avais déjà répondu ... et tu as posté juste après !
Capture.PNG
Capture.PNG (51.64 Kio) Consulté 3777 fois

Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 09:38
par glenan
Oui mais c'était avant que je fasse le lien avec mon propre problème.

Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 09:59
par glenan
Jeandhom a écrit :
30 avr. 2019, 09:30

Le mien, par contre, fonctionne toujours parfaitement.
Je le conserve car j'ai même l'historique des changements de nom d'une même commande.
J'ai créé le scenario
Je vois bien dans le log du scenario les commandes créés le jour même mais j'ai du louper une info.
Peux tu me dire comment on récupère le fichier texte avec l'ensemble des ID ?

Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 10:32
par Jeandhom
Si tu n'as rien modifié dans le script, tu trouveras le fichier ici : /var/www/html/zzzbackuperasecmd/jeedomcmd.lst

Tu peux le télécharger sur ta machine avec le très bon plugin de kiboost : viewtopic.php?f=135&t=44934#p724232

Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 11:41
par romanais
Ou alors tu changes la 1ère ligne du script et tu accèdes au fichier directement depuis l'url : https://IP_JEEDOM/eedomcmd.lst
Et tu peux l'enregistrer depuis ton navigateur.

Code : Tout sélectionner

$backupdir = '/var/www/html';
Mais ce n'est pas recommandé de le laisser en permanence à cet emplacement.

Re: Retrouver le nom des commandes supprimées

Publié : 30 avr. 2019, 15:18
par glenan
OK Merci à vous deux

Re: Retrouver le nom des commandes supprimées

Publié : 08 sept. 2019, 17:27
par Theking31
Bonjour,
loic a écrit :
28 mars 2018, 08:20
Bonjour,
Pour information en 3.3 (pas 3.2 qui va sortir mais là version d'après donc) j'ai rajouté un historique des suppression pour les commandes, équipements, scénario, objet, utilisateurs...
Je pense que l'historique est limité en nombre de commande :shock: :?

Tu peux confirmer Loic ?
Et il envisageable d'augmenter cette limite à beaucoup plus ? Voir même paramétrable par l'utilisateur ?

Car j'ai retrouver dans le plugin alarme une commande orpheline (d’ailleurs ce plugin ne les remonte pas dans l'onglet Equipement => Commandes orphelines) et elle n’était plus dans l'historique des suppressions car suppression trop veille !

tx

Re: Retrouver le nom des commandes supprimées

Publié : 08 sept. 2019, 19:38
par loic
Oui c'est limité et non je ne peux pas vous laisser la main dessus ni le changer ça pose trop de soucis de performance.

Pour le soucis de commande orpheline de l'alarme ça a été corrigé en beta

Re: Retrouver le nom des commandes supprimées

Publié : 08 sept. 2019, 19:41
par Theking31
Merci .

Re: Retrouver le nom des commandes supprimées

Publié : 09 sept. 2019, 13:20
par Jeandhom
Jeandhom a écrit :
30 avr. 2019, 09:30
Jeandhom a écrit :
28 mars 2018, 00:31
Jeandhom a écrit :
24 mars 2018, 21:58
J'ai suivi une autre piste pour retrouver le nom de mes commandes supprimées.

J'utilise un bloc code dans un scénario.

Code : Tout sélectionner

foreach(cmd::all() as $cmd) {
   $scenario->setLog($cmd->getId() . ' : ' . $cmd->getHumanName());
}
Il me suffit de regarder les logs du scénario pour retrouver le nom de la commande.
Si je veux sauvegarder ces informations, je télécharge les logs sur ma machine.

En partant sur cette base, je sauvegarde la base dans un fichier txt.
A chaque lancement du scénario, je fais un diff de la base que j'ajoute à l'ancienne.
Un seul fichier contient donc l'ensemble des commandes supprimées ou pas.
Normalement, on doit même retrouver les changements de nom sur une même commande.

Ce code étant dans un bloc code d'un scénario, il suffit de le lancer chaque jour.

ATTENTION, JE N'AI PAS COMPLÈTEMENT VÉRIFIER LE BON FONCTIONNEMENT DE CE SCRIPT

Code : Tout sélectionner

$backupdir = '/var/www/html/zzzbackuperasecmd';
$backupfile = '/jeedomcmd.lst';
$cmdlistold = array();
$cmdlistnew = array();

if (!is_dir($backupdir)) {
  $scenario->setLog('Création du répertoire ' . $backupdir);
  mkdir($backupdir, 0775);
}
if (file_exists($backupdir . $backupfile)) {
  $scenario->setLog('Récupération de la liste dans ' . $backupdir . $backupfile);
  $jeedomcmd = fopen($backupdir . $backupfile, 'r');
  while (($buffer = fgets($jeedomcmd)) !== false) {
    $buffer = trim($buffer,"\n");
    $cmdlistold[] = $buffer;
  }
  fclose($jeedomcmd);
}

foreach(cmd::all() as $cmd) {
  $scenario->setLog('bdd ' . $cmd->getId() . ' : ' . $cmd->getHumanName());
  $cmdlistnew[] = $cmd->getId() . ' : ' . $cmd->getHumanName();
}

$cmdlistdiff = array_diff($cmdlistnew, $cmdlistold);
$cmdlistnew = array_merge($cmdlistold, $cmdlistdiff);
asort($cmdlistnew,SORT_NUMERIC);

$jeedomcmd = fopen($backupdir . $backupfile, 'w+');
foreach($cmdlistnew AS $ligne) {
  $scenario->setLog('bck ' . $ligne);
  fputs($jeedomcmd,$ligne."\n");
}
fclose($jeedomcmd);
EDIT du 26/10/2018, le script fonctionne parfaitement.
Le mien, par contre, fonctionne toujours parfaitement.
Je le conserve car j'ai même l'historique des changements de nom d'une même commande.
Avec mon script, aucune limitation dans le temps ...

Re: Retrouver le nom des commandes supprimées

Publié : 09 sept. 2019, 14:34
par Theking31
Pas faux... En revanche, chez moi ça fait bugger l'affichage dashboard en version mobile !

Re: Retrouver le nom des commandes supprimées

Publié : 09 sept. 2019, 15:21
par Jeandhom
Theking31 a écrit :
09 sept. 2019, 14:34
Pas faux... En revanche, chez moi ça fait bugger l'affichage dashboard en version mobile !
Es-tu sûr que ce soit ce script ?
Car dans ce sujet, il est question de deux scripts complètement différents.

Re: Retrouver le nom des commandes supprimées

Publié : 09 sept. 2019, 16:27
par Theking31
Effectivement, ce n'est pas le même, désolé :oops:

Je viens de tester, c'est pas mal en complément de celui du core. Si je comprend bien, à chaque lancement, cela récupère toutes les commande + garde celle supprimées et renommées ?

L'exploitation des données se fait par le fichier zzzbackuperasecmd ! Pas de limite comme dans les logs ?

Concernant les changements de noms, ça te pourri pas trop ?

Ce fichier est il prit dans la sauvegarde de Jeedom ?

Re: Retrouver le nom des commandes supprimées

Publié : 09 sept. 2019, 18:28
par Jeandhom
A chaque lancement du script, les nouvelles commandes sont ajoutées à celles existantes dans le fichier.
Si le répertoire n'existe pas, il est créé.
Si le fichier n'existe pas, il est créé.

La seule limite, c'est la limite de stockage du disque dur de ta machine.

Le résultat est dans le fichier texte : /var/www/html/zzzbackuperasecmd/jeedomcmd.lst.

Le fichier est bien dans la sauvegarde de Jeedom.

Re: Retrouver le nom des commandes supprimées

Publié : 09 sept. 2019, 19:28
par Theking31
Adopté...

Merci pour ton intervention qui m'a permis de le découvrir.