Domodial Posté(e) le 27 septembre 2017 Signaler Posté(e) le 27 septembre 2017 (modifié) Je reprends le script modifié de DrBoss, mais j'ai toujours l'erreur 401 [DEBUG] 15:31:00: Current parameters: [DEBUG] 15:31:00: delete after: 060 day(s), only backups with description start by [!] [DEBUG] 15:31:10: Error 401 EDIT : c'est bon pour le backup, c'était le changement d'API (service VS setting) grrrr Modifié le 27 septembre 2017 par Domodial 1
Domodial Posté(e) le 28 septembre 2017 Signaler Posté(e) le 28 septembre 2017 Question (maintenant que mon backup sur appuie manuel fonctionne) Dites, la modification en 3 fichiers de DrBoss ne semble pas initier le backup automatiquement style tous les jours. Il y a une notion de suppression des backups après xxx jours. Dans ce cas il faut que je fasse un appel dans GEA sur le scénario de création de backup c'est ça ? Merci
pepite Posté(e) le 28 septembre 2017 Signaler Posté(e) le 28 septembre 2017 Salut @Domodial, Oui il n'y a rien dans la scene en automatique, tu dois la lancer avec GEA ou autre.
Domodial Posté(e) le 28 septembre 2017 Signaler Posté(e) le 28 septembre 2017 Cool, c'est donc fait !!
Sakkhho Posté(e) le 11 août 2018 Signaler Posté(e) le 11 août 2018 Hello Les scences de Backup et DeleteBakcup ne sont plus fonctionnelles en 4.510 C'était quand meme très pratique; Qq'un sait comment faire avec la nouvelle API ? merci
Kana-chan Posté(e) le 12 août 2018 Signaler Posté(e) le 12 août 2018 (modifié) Bonjour, Il faut s'authentifier en encodant maintenant pour utiliser les GET/POST. Donc le code deviendrait (exemple pour le backup) : --[[ %% properties %% events %% globals --]] -- ID des mobiles,tablettes pour notification local portable = { 385,378 } -- specify user and passwort in clear text local user = 'do.not@email.us' local password = 'verystrongpassw0rd' ------------------------------------------------------------------ ---------------- do not change anything below -------------------- ------------------------------------------------------------------ -- base64 helper function -- Lua 5.1+ base64 v3.0 (c) 2009 by Alex Kloss <alexthkloss@web.de> -- licensed under the terms of the LGPL2 function encbase64(data) local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; return ((data:gsub('.', function(x) local r,b='',x:byte() for i=8,1,-1 do r=r..(b%2^i-b%2^(i-1)>0 and '1' or '0') end return r; end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x) if (#x < 6) then return '' end local c=0 for i=1,6 do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0) end return b:sub(c+1,c+1) end)..({ '', '==', '=' })[#data%3+1]) end -- 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 = { ["Authorization"] = 'Basic '.. encbase64(user .. ':' .. password), ["content-type"] = 'application/x-www-form-urlencoded;' }, data = 'action=create&description='..descriptif } }); Pour faire le backup. P.S. : Je n'ai pas testé mais fait la synthèse avec d'autres posts de ce forum à ce sujet. Voilà ... Modifié le 12 août 2018 par Kana-chan
Sakkhho Posté(e) le 12 août 2018 Signaler Posté(e) le 12 août 2018 hello merci j'ai une [DEBUG] 18:10:52: Error 501 quand j'applique ce code
Kana-chan Posté(e) le 12 août 2018 Signaler Posté(e) le 12 août 2018 Bonsoir, Alors, une erreur 501 c'est "Fonctionnalité réclamée non supportée par le serveur", donc le backup a du être enlever de l'API ou placé ailleurs. Je ne vois pas d'autres explication. Voilà ...
Lazer Posté(e) le 19 août 2018 Signaler Posté(e) le 19 août 2018 J'ai commencé à regarder, l'API n'a plus rien à voir. Lister les backups : Requête : GET : /api/service/backups Réponse : Code : 200 Données : JSON Faire un Backup Local : Requête : POST : /api/service/backups Données : {"action":"create","params":{"type":"local","description":"Test%20de%20Backup%20Local"}} Content-Type: application/json Réponse : Code : 202 Remarque : Un seul backup local est possible sur la box, donc à chaque fois qu'on réalise un nouveau backup local, cela supprime automatiquement le backup local précédent. Faire un Backup Cloud : Requête : POST : /api/service/backups Données : {"action":"create","params":{"type":"remote","description":"Test%20de%20Backup%20Cloud"}} Content-Type: application/json Réponse : Code : 202 Remarque : Plusieurs backups clouds sont possible dans la limite de l'espace autorisé par Fibaro Supprimer un Backup Local : Requête : DELETE : /api/service/backups?type=local&id=1 Réponse : Code : 200 Remarque : Fonction sans intérêt puisqu'un seul backup local est possible Supprimer un Backup Cloud : Requête : DELETE : /api/service/backups?type=remote&id=38468 Réponse : Code : 200 Remarque : Il faut préalablement récupérer la liste des backups pour obtenir les identifiants Télécharger un Backup Local : Requête : GET : /backups/backup_HC2-XXXXXX_2018_08_19-15_33_20.fbi Réponse : Code : 200 Données : le fichier de sauvegarde au format FBI, il s'agit en réalité d'un fichier ZIP renommé) Remarque : Puisqu'un seul backup local est possible, alors il n'est possible de télécharger que le dernier backup local réalisé Il faut préalablement récupérer la liste des backups pour obtenir le nom du backup local. Il reste maintenant à écrire le code LUA.... 1 2
lamparo Posté(e) le 19 août 2018 Signaler Posté(e) le 19 août 2018 Il y a 1 heure, Lazer a dit : Il reste maintenant à écrire le code LUA....
Lazer Posté(e) le 19 août 2018 Signaler Posté(e) le 19 août 2018 Ouais par contre là ça sera sans moi, je réalise mes backups via un script Shell externe.... l'intérêt étant de pouvoir vérifier le statut du backup et de me notifier par email si tout va bien, ou pas, puis de télécharger le backup et de le conserver sur le NAS. Mais avec l'API ci-dessus, et en utilisant la scène LUA de backup déjà partagée, ça devrait être assez facile d'adapter je pense.
pepite Posté(e) le 19 août 2018 Signaler Posté(e) le 19 août 2018 Bonsoir, Voila voila, Testé pour les 2 types de backup. Merci @Lazer Gros gain de temps -- BACKUP -- ID des mobiles,tablettes pour notification local portable = {} -- {XX, XX} -- Type de backup : local/remote (cloud) local type = 'local' --local type = 'remote' -- Message Descriptif du Backup local descriptif = 'Backup HC2 du '..os.date("%d/%m/%y - %HH%M") -- Password admin encodé en base64 local password = 'xxxxxxxxxxxxxxxxxxxx' function sendPush(message) if #portable > 0 then for _,v in ipairs(portable) do fibaro:call(v,'sendPush', message) end end end --[[function sendPush(message) if #portable > 0 then fibaro:setGlobal('FreeSms', message) end end]]-- local url = 'http://127.0.0.1/api/service/backups' --local datas = '{"action":"create","params":{"name":"'..descriptif..'"}}' local datas = '{"action":"create","params":{"type":"'..type..'","description":"'..descriptif..'"}}' local httpClient = net.HTTPClient() httpClient:request(url , { success = function(response) if tonumber(response.status) == 202 then print("Backup Local Créé " .. 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/json', ["Authorization"] = 'Basic '..password }, data = datas } }); 4
Dragoniacs Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Ca ne fonctionne pas chez moi, j'ai une erreur 401....
Dragoniacs Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 j'avais raté mon encodage.... ca tourne Merci
lamparo Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 Bonsoir, question certainement bête, mais ou est stocker le backup local par la scène?
Lazer Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 Le backup local est stocké sur le disque (clé USB à mémoire SLC) interne de la box, dans une partition différente du système, des logs, et des données. La clé USB Recovery externe n'est plus utilisée On peut conserver un seul backup local, chaque nouveau backup local écrase le précédent. On peut télécharger le backup local (toujours le dernier réalisé, forcément, cf remarque précédente) pour le stocker ailleurs (PC, NAS, etc) On peut aussi réaliser autant de backup Cloud que l'on désire, dans la limite de l'espace autorisé par Fibaro sur leurs serveurs. 1
Sakkhho Posté(e) le 25 août 2018 Signaler Posté(e) le 25 août 2018 @tinman as aussi donné une version des scenes un peu different pour le delete https://forum.fibaro.com/topic/31086-backups-hc2-specific-or-not/?do=findComment&comment=156436 1
Messages recommandés