Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'backup'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Bienvenue
    • Annonces et suggestions
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Autres Solutions Domotiques
  • La HC2 et ses périphériques
    • La Home Center pour les nuls
    • Home Center 2 & Lite
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Alarme & Vidéo-surveillance
    • Multimédia
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets...)
    • Eclairage
    • Applications Smartphones et Tablettes
    • English Section
  • Les objets connectés
    • Les Assistants Vocaux
  • Fibaro's Awards
    • Membre du mois
    • Jeux concours & Cadeaux
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Jabber


Skype


Ville :


Intéret :


Version

4 résultats trouvés

  1. Nikko

    Backup Via Scene Lua

    Bonjour, Voici un résumé sur la réalisation/suppression de backups via des scènes en Lua. La création/suppression de backup s'effectue en temps normal sur l'interface du HomeCenter à la page Diagnostiques/Sauvegarde et restauration. Le code donné dons les 2 scènes n'est pas des plus optimisé; cela constitue juste une base. EDIT (03/12/2016): Mise à jour avec l'api pour les versions >=4.101; voir plus loin: (https://www.domotique-fibaro.fr/topic/8641-backup-via-scene-lua/?do=findComment&comment=146362) Les Commandes de l'API La récupération au format JSON de la liste des backups se fait à l'addresse http://HC2/api/settings/backups Pour Créer un Backup on utilise l'addresse http://HC2/api/settings/backups avec une requète de type en POST avec les paramètres action et description. Pour Supprimer un Backup, on utilise l'addresse http://HC2/api/settings/backups?id=xx (où xx est le numéro de backup). La requète est de type DELETE avec comme paramètre id=xx => Comme les urls de l'api vont être appelées depuis des scènes lua, l'ip de la box utilisée sera 127.0.0.1 (port 11111) => En cas d'appel sur l'ip LAN de la box (Ex: http://192.168.0.100/api/settings/backups) , il faudra en plus transmettre l'authentification dans la requète. Attention: Lors de la création de Backup, "tout le reste" est suspendu; de même après que le backup soit effectué, le moteur Z-Wave et d'autres services redémarrent. Donc en cas de planification , privilégier la nuit, là ou l'activité ZWave, scénarios, est faible/inexistante. Scène de création d'un backup Exemple de Scène de création d'un Backup, avec notification vers portable: --[[ %% properties %% events %% globals --]] -- ID des mobiles,tablettes pour notification local portable = { 385,378 } -- Message Descriptif du Backup local descriptif = 'Backup du '..os.date("%d/%m/%y - %HH%M") function sendPush(message) if #portable > 0 then for _,v in ipairs(portable) do fibaro:call(v,'sendPush', message) end end end local url = 'http://127.0.0.1:11111/api/settings/backups' local httpClient = net.HTTPClient() httpClient:request(url , { success = function(response) if tonumber(response.status) == 201 then print("Backup Created at " .. os.date()) sendPush(descriptif .. ' effectué') else print("Error " .. response.status) sendPush('Erreur lors de la création du Backup') end end, error = function(err) print('error = ' .. err) end, options = { method = 'POST', headers = { ["content-type"] = 'application/x-www-form-urlencoded;' }, data = 'action=create&description='..descriptif } }); Depuis la page des backups, on peut vérifier que la scène fonctionne: Pour les utilisateurs de GEA, on peut déclencher cette sauvegarde le 1er samedi de chaque mois par exemple: -- Fonction déterminant si nous sommes le 1er samedi du mois function isFirstSaturday() local t = os.date('*t') return ( t['day'] < 8 and t['wday'] == 7 ) end -- Backup le 1er samedi du mois GEA.add({"Function",function() return isFirstSaturday() end} , 30 , "Backup Mensuel du HC2" , {{"Time","01:00","01:01"},{"Scenario", 12}}) . Scène de suppression d'un backup Exemple de Scene Lua pour réaliser la suppression du backup le plus ancien: --[[ %% properties %% events %% globals --]] -- Flag dryrun; Si true, la requete sur api pour effacer le backup n'est pas effectuée local dryrun = true -- Récupération de la list des backups local backups = api.get('/settings/backups') -- Vérification de présence Backup if (backups and type(backups == 'table') and #backups > 0) then if #backups > 1 then print(#backups .. ' Backups présents') else print('1 Backup présent') end for i in ipairs(backups) do fibaro:debug('ID: '..backups[i]['id']..' | TIMESTAMP: '..backups[i]['timestamp']..' | DESCRIPTION: '..backups[i]['description']) end else print('Pas de backup ou erreur lors de la récupération de la liste') fibaro:abort() end -- Pour chaque Backup on stock le timestamp de la date de réalisation dans une table -- On classe ensuite les timestamps par ordre croissant local timestamp = {} for i in ipairs(backups) do table.insert(timestamp, backups[i]['timestamp']) end table.sort(timestamp) -- Le 1er timestamp de la table est le plus petit donc le plus ancien en epochtime -- Dans la table de backup on recherche le backup ayant ce timestamp local id = false for i in ipairs(backups) do if (tonumber(backups[i]['timestamp']) == tonumber(timestamp[1])) then id = backups[i]['id'] end end if id then print("ID du backup le plus ancien: "..id) else print("Erreur lors de la récupération de l'ID") fibaro:abort() end -- Requete via API pour effacer le backup le plus ancien if not dryrun then local url = 'http://127.0.0.1:11111/api/settings/backups?id='..id local httpClient = net.HTTPClient() httpClient:request(url , { success = function(response) if tonumber(response.status) == 200 then print("Backup deleted at " .. os.date()) else print("Error " .. response.status) end end, error = function(err) print('error = ' .. err) end, options = { method = 'DELETE', headers = { ["content-type"] = 'application/x-www-form-urlencoded;' }, data = 'id='..id } }); end . Cette Scène produit le debug suivant: Nicolas
  2. Voici un nouveau venu dans la série backup/restore. Avec ce couple scène / VD vous pourrez faire un backup (hors de votre HC2) de vos panneaux de chauffage (Heating Panels) et ensuite un restore sur une nouvelle box (ou après un recovery). Avec la scène en mode débug, on crée le backup des heating panels. Le système génère deux tables une pour la liste des Heating Panels et une autre avec la configuration de chaque heating panel On colle le résultat du debug de la scène dans le bouton restore du VD (que vous exportez sur votre disque dur). Créer manuellement autant de heating panels qu'il y en a à restaurer (car il n'est pas possible de prédire facilement (et de manière fiable) les ID qui seront générés par le système) Récupérer les ID de ces nouveau Heating Panels via http://<ip>/api/panels/heating Dans la table "ListeHP", remplacer les ID actuels par les nouveaux ID Appuyez sur le bouton restore. (Si vous lancez le restore en Debug, vous avez un débug détaillé de ce qu'il a fait). Ceci peut également être utilisé pour : (=> faites attention à ce que les noms repris dans les tables ListeHP et ConfigHP soient parfaitement identiques) Renommer un panneaux de chauffage Faire une copie d'un panneau de chauffage, et donc l'utiliser comme template d'un nouveau … PS : les instruction se trouvent également dans le Main Loop du VD v3:: correction bug API Backup_HeatPanel_v3.0.vfib Backup_HeatPanel_v3.0.lua Historique : v2 : Backup_HeatPanel_v2.0.lua Backup_HeatPanel_v2.0.vfib v1.1 : optimisation du code du bouton backup grâce à Steven Backup_HeatPanel_v1.1.vfib Backup_HeatPanel_v1.1.lua v 1.0 : Backup_HeatPanel_v1.0.vfib
  3. jojo

    Backup Variables

    Le soucis de bon nombre d'entre nous est le fait qu'on soit lié à un backup sur une clé USB propriété de Fibaro. L'excellent tuto de Lazer explique comment faire un backup de la clé, mais il faut avoir des connaissances Linux, que perso je n'ai pas. Merci à mprinfo pour son tuto sur la création des variables en LUA qui m'a donné l'idée et les premières infos pour le restore. Merci également à Steven pour son script de génération des ID dont je me suis inspiré pour faire le backup. Alors, ici, je vous présente mon premier couple scène / VD de backup / restore, d'une série que j'espère longue … Avec la scène en mode débug, on crée le backup des variables. On colle le résultat du debug de la scène dans le bouton restore du VD (que vous exportez sur votre disque dur), et en cliquant sur le bouton Restore, il recrée les variables si elles n'existaient pas. Si vous lancez le restoreen Debug, vous avez un débug détaillé de ce qu'il a fait. C'est très utile pour faire un restore sur une nouvelle box (ou après un recovery) Les instructions se trouvent dans le code de la main loop. Version 2.0 : Backup_Variables_v2.0.vfib Backup_Variables_v2.0.lua Version 1.0 : Backup_Variables_v1.0.vfib Backup_Variables_v1.0.lua
  4. Note : la gestion des sauvegardes/restaurations/recovery a été totalement modifiée à partir des firmwares v4.500, par conséquent les informations de cette page ne sont pas à jour. Sauvegarde L'onglet Configuration de l'interface Web de la HC2 permet de réaliser manuellement une sauvegarde de la configuration courante sur la clé USB Recovery. De plus, une sauvegarde est effectuée automatiquement avant chaque mise à jour (précisons toutefois que la mise à jour est un processus déclenché manuellement par l'utilisateur dans le panneau Configuration) La sauvegarde contient : la base de données SQLite (définition de tous les modules/périphériques-virtuels/plugins et de leurs paramètres, historique des événements/températures/consommations, etc...) le dump de la puce Z-Wave (modules Z-Wave inclus) les scènes (car leurs codes LUA ne sont pas stockés dans la DB) La sauvegarde ne contient pas : les icônes (elles sont perdues après un recovery) le système (Linux et applications Fibaro) Recovery Le Recovery permet de réinstaller complètement sa box, c'est à dire réinitialiser complètement avec les paramètres usines. Selon les générations de box, le recovery réinstalle complètement la box en v1.x ou v3.548. Il s'agit de la version qui était installée lors de la livraison de la box neuve. Le Recovery est utile dans les cas suivants : Box instable ou complètement crashée Volonté de revenir à une version précédente Volonté de se refaire une réinstallation propre en repartant de 0 Revente de la box Pour accéder au Recovery, il faut éteindre la box, puis appuyer sur le bouton dédié à l'arrière de la box tout en appuyant sur le bouton Power. Selon si on relâche tout de suite le bouton Recovery ou si on laisse le doigt appuyé durant toute la phase de boot, la box prend une adresse IP automatique en DHCP sur le réseau, ou se mettra en IP fixe 192.168.81.1 (auquel cas il faudra paramétrer manuellement la carte réseau de son ordinateur pour accéder à la box). Lorsque la box est bootée en mode Recovery, l'interface Web présente un panneau spécial permettant de lancer la procédure. Cette réinstallation est irréversible et tout ce qui n'a pas été préalablement sauvegardé sur la clé sera perdu. La clé USB Recovery contient une image du système, donc la mémoire interne de la box est effacé, et réécrit à partir de l'image présente sur la clé Recovery. Le second écran propose de réinitialiser également la puce Z-Wave, ce qui est généralement recommandé. De toutes façons, le contenu de la puce Z-Wave sera restauré par la sauvegarde effectuée précédemment (si vous choisissez de la restaurer bien sà»r) : Lorsque le recovery est terminé, la box reboote toute seule en mode normal, et l'interface Web de base est à nouveau accessible, avec le compte admin/admin par défaut. La première étape à réaliser sera de mettre à jour la box, en une ou plusieurs étapes selon si l'on souhaite remonter en v3.6 ou v4.x. Restauration La restauration permet de récupérer une sauvegarde préalablement réalisée sur la clé Recovery. Donc les paramètres suivants seront restaurés : la base de données SQLite le contenu de la puce Z-Wave les scènes Les paramètres suivants ne seront pas restaurés : les icônes le système La restauration s'effectue depuis l'interface Web : La restauration peut être lancée juste après un Recovery, ou pas. C'est à dire que l'on peut très bien lancer une restauration par dessus la configuration courante, par exemple si l'on vient d'effectuer quelques modifications qui ont rendu le système instable, sans qu'un recovery soit nécessaire. Puisque qu'une sauvegarde contient le dump de la puce Z-Wave, alors après la restauration il est inutile de réinclure tous les modules inclus avant la date du backup. Il ne sera nécessaire de réinclure que les modules inclus après le dernier backup. Idéalement, on ne fait que des restaurations de configuration à la même version que la version courante. De toutes façons, l'interface Web nous empêche de restaurer une ancienne version qui ne serait pas compatible avec la version courante (notamment entre la v3 et la v4 car les différences sont importantes) Cependant, parfois suite à une mise à jour, la configuration devient instable (modules qui disparaissent de l'interface, etc...). Dans ce cas là , et si on ne souhaite pas se lancer dans une longue procédure de recovery, on peut tenter une restauration de la version précédente. Par exemple : Je fais la mise à jour 4.037 vers 4.040. Des problèmes surviennent, alors je décide de restaurer la configuration 4.037 par dessus mon système qui est en 4.040. A la fin de la restauration, l'interface affiche 4.037, pourtant le système fonctionne toujours en 4.040 (car on l'a vu précédemment, la sauvegarde/restauration ne stocke que la configuration courante, et pas le système). Cet état est dà» au code employé par Fibaro qui stocke ne numéro de version courante dans la DB. Donc quand l'interface Web affiche la version, elle va chercher l'info dans la DB, qui n'est plus en phase avec le système. En effet, la mise à jour du champs dans la DB se fait lors de l'install de la mise à jour. De plus, il faut savoir que certaines mises à jour apportent des modifications de schéma à la base de données, et l'ajout de templates de modules Z-Wave. Par conséquent, après la restauration de configuration 4.037, je force une nouvelle mise à jour 4.040, qui ne changera rien au niveau système (puisqu'il est déjà à jour), mais cela permettra de remettre la bonne version dans la DB, et appliquer les éventuelles modifications de schéma. Note : si le bouton de mise à jour n'apparait pas, il est possible de la forcer en appelant directement l'adresse http://IP/services/startUpgrade.php Checksum En v4, une nouvelle fonctionnalité est apparue dans l'interface, permettant de calculer le checkum de l'image de restauration du système présent sur la clé USB Recovery : Il est fortement recommandé de lancer ce calcul de checksum avant de se lancer dans un recovery de la box, afin de s'assurer que l'image est encore valide. En effet, les clés USB sont composées de mémoire Flash qui ne sont pas infaillibles. Pour aller plus loin Afin de sécuriser la clé USB Recovery, vous trouverez (ou devinerez) toutes les réponses à la lecture de mon autre sujet HC2 Recovery Tweaks. [Tuto HC2] HC2 USB Recovery Tweaks Ou pour simplifier, en attendant que Fibaro implémente la fonctionnalité de backup sur un serveur tiers (à priori dans le cloud, je ne suis pas du tout certain qu'ils nous laissent la possibilité de faire du FTP/NFS/CIFS local), vous pouvez simplement arrêter la box, brancher la clé sur un PC, et recopier le répertoire backups. Voir le tutoriel de @mprinfo : [Tuto HC2] Faire Une Copie De La Clef Usb Recovery Sous Windows
×