Sauvegarde des commandes info virtuels

Bonjour
Je ne suis rendu compte (à mon grand désespoir) qu’une sauvegarde ne prends pas en compte les variables des virtuels

Lors de la réinstallation d’un Jeedom comment devons nous faire pour récupérer en plus, les valeurs des virtuels lors de la sauvegarde ?

Pas exactement ta question, mais Il est possible d’affecter une valeur d’une variable par défaut

Via MySQL, export et import de la table Database

Hello

Datastore … Et accessoirement ça fait déjà partie du backup de jeedom
D’autre part, ça c’est pour les variables, pas pour les infos des commandes qui trainent dans le cache.
Si cache planté dans la manip = pas de valeur

Merci à tous les trois pour vos réponses @SWR, @m.georgein et @naboleo

Effectivement le cache était planté, donc plus de valeurs

Mais prenons le cas que je change de support harware.
Sur un autre support, j’installe JEDDOM et je fait un restore. Je n’ai pas les informations du CACHE

De ce que j’ai constaté, toutes les valeurs des virtuels ont disparues.
Je ne fais pas d’erreur dans mon raisonnement

La solution MySQL est un peu lourde pour moi

Je constante que ma demande n’est pas assez claire
Je ne parle pas réellement des variable au sens propre du terme mais des valeurs des virtuels

Le cache fait aussi partie du backup, sauf que son contenu est pas toujours parfait …
SQL ça servira à rien… Les données dont tu as besoin sont pas dedans

En réinstallant une sauvegarde « propre » je n’avais pas les valeurs des virtuels
Cela veux dire que ma sauvegarde n’est « pas parfaite »

Je n’ai donc pas de solution à ce stade

Nativement il y a rien

Perso j’ai un bloc code qui fait une partie du boulot

#Sauvegarde des infos ou restauration à partir des variables (avec suffixe -backup)

foreach(cmd::all() as $cmd) {
  if($cmd->getType()=="info"){
    $name=$cmd->getHumanName();
    if(substr($name,strlen($name)-8,8)=="-backup]")
    {
      $val=$cmd->execCmd();
      $var = "#".$name."#";
      $valbckp=$scenario->getData($var);
      if($val == 0)
      {
        $scenario->setLog('Restauration de : ' . $name.' Valeur='.$valbckp);
        $cmd->event($valbckp);
      }
      else if ($val != $valbckp)
      {
        $scenario->setLog('Backup de : ' . $name.' Valeur='.$val);
        $scenario->setData($var, $val);
      }
    }
  }
}

3 « J'aime »

Merci de ton aide

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.