Aller au contenu
fdp2

Arreter Ou Rebooter Votre Synology Avec La Hc2

Recommended Posts

Bonjour,

 

Ce sont bien des variables globales.

Vérifier qu'il n'y ai pas d'espace dans l'adresse MAC pour le réveil.

 

Voilà ... :)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors moi dans le Panneau Variable je n'ai pas Global j'ai variable et Variable prédéfinies :(

 

Je vasi regarder pourquoi le dernier NAS ne regain pas comme les autres ...

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

pour les variables globales elles sont écrites en dur sur le disque de la hc2.
Je ne sais pas si tu es sous xpenology ou pas car j'ai eu quelques soucis de réveil avec mon hp gen7. Il faut aussi activer la fonction WOL sur le NAS

Envoyé de mon SM-G901F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

je connais pas les vrai synology sur xpenology il faut aussi activer le wol dans le bios.
peux tu réveiller le synology avec l assistant synology. cela va permettre de savoir si ton synology est bien configuré. si tu as une freebox tu peux aussi envoyer un paquet magique

Envoyé de mon SM-G901F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Non non j'te jure j'le connais bien ça config est propre WOL sur les 4 porte IP fixe partout VLAN Identique a la Box et au routeur internet .. J'ai du merder la config de ce VD ou je vérifierais la MAC dans les variable ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

les lettres tu les rentres en majuscule ou minuscule car j'ai eu aussi ce problème seul les majuscules fonctionnés

 

Envoyé de mon SM-G901F en utilisant Tapatalk

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

J'essaye de connecter mon NAS Syno (DS918+) mais sans succès....

Suis sous DSM 6.1.5 15254 update1

NB1 création des variables

image.png.61978a9a9e88254e027221d2adc305a4.png

NB2 création du module: Adresse IP ? et Port ? c peut être de la que vient mon problème?

image.png.2da162cb0423857cb28cfde246a1e1ab.png

NB3 Redémarrer

--------------------------------------------------
-- Synology DSM
-- Reboot the disk station
-- janvier 2015
--------------------------------------------------

-- User configurable variables
local login = fibaro:getGlobal("LoginNAS1");
local password = fibaro:getGlobal("MdpNAS1");

-- System variables
local selfID = fibaro:getSelfId();
local ip = fibaro:get(selfID, "192.168.1.55"); -----ici c bien " ou '
local port = fibaro:get(selfID, "5000");-------------idem
local Synology = Net.FHttp(ip, tonumber(port));
local API_AUTH_ERROR_CODE = {
    [0]   = "Sans erreur.",
    [100] = "Erreur inconnue.",
    [101] = "Compte non spécifié.",
    [400] = "Mot de passe invalide.",
    [401] = "Compte désactivé.",
    [402] = "Permission refusée.",
    [403] = "Unique mot de passe non spécifié.",
    [404] = "Autentification erronée."
};
local API_RECORD_ERROR_CODE = {
    [400] = "Exécution ratée.",
};

-- Discover available APIs and corresponding information
payload = "/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth";
response, status, errorCode = Synology:GET(payload);
if tonumber(status) == 200 then
    jsonTable = json.decode(response);
      local version = jsonTable.data["SYNO.API.Auth"].maxVersion;
    if version >= 2 then
        fibaro:debug("Version API Synology OK");
        pathAuth = jsonTable.data["SYNO.API.Auth"].path;
        fibaro:debug("Chemin API Synology = "..pathAuth);
        cgiUsed="/entry.cgi";
        apiUsed="SYNO.Core.System";
        if version < 6 then
            cgiUsed="/dsm/system.cgi";
            apiUsed="SYNO.DSM.System";
        end

        -- Create new login session
        payload = "/webapi/"..pathAuth.."?api=SYNO.API.Auth&method=Login&version=2&account="..login.."&passwd="..password.."&session=DSM&format=sid";
        response, status, errorCode = Synology:GET(payload);
        if tonumber(status) == 200 then
            jsonTable = json.decode(response);
            if jsonTable.success == true then
                SID = jsonTable.data.sid;
                fibaro:debug("SID API Synology = ["..SID.."]");

                -- Reboot the disk station
                payload = "/webapi"..cgiUsed.."?api="..apiUsed.."&version=1&method=reboot&_sid="..SID;
                response, status, errorCode = Synology:GET(payload);
                if tonumber(status) == 200 then
                    fibaro:debug("Response ["..response.."]");
                    jsonTable = json.decode(response);
                    if jsonTable.success == true then
                        fibaro:log("Redémarrage OK");
                        fibaro:debug('<span style="color:green;">Redémarrage Disk Station Synology OK</span>');
                    else
                        fibaro:log("Erreur");
                        fibaro:debug('<span style="color:red;">Disk Station Synology n\'a pas redémarré</span>');
                    end
                    --
                else
                    fibaro:log("Erreur");
                    fibaro:debug('<span style="color:red;">Erreur : '..API_AUTH_ERROR_CODE[tonumber(errorCode)]..'</span>');
                      --fibaro:debug('<span style="color:red;">Erreur : '..errorCode..'</span>');
                end
                -- Destroy current login session
                payload = "/webapi/"..pathAuth.."?api=SYNO.API.Auth&method=Logout&version=2&session=DSM&_sid="..SID;
                response, status, errorCode = Synology:GET(payload);
                fibaro:debug(status);
            else
                fibaro:log("Erreur");
                fibaro:debug('<span style="color:red;">Erreur : '..API_AUTH_ERROR_CODE[tonumber(jsonTable.error.code)]..'</span>');
            end
        else
            fibaro:log("Erreur");
            fibaro:debug('<span style="color:red;">Erreur : Authentification API ratée</span>');
        end
    else
        fibaro:log("Erreur");
        fibaro:debug('<span style="color:red;">Erreur : Version API Synology trop vieille : <b>DSM 4.0-2251</b> est requise</span>');
    end
else
    fibaro:log("Erreur");
    fibaro:debug('<span style="color:red;">Erreur : Impossible de se connecter au Disk Station Synology</span>');
end

 

NB4 Réveiller

-- convert MAC adress, every 2 Chars (7-bit ASCII), to one Byte Char (8-bits)
function convertMacAddress(address)
  local s = string.gsub(address, ":", "");
  local x = "";  -- will contain converted MAC
  for i=1, 12, 2 do
    x = x .. string.char(tonumber(string.sub(s, i, i+1), 16));
  end
  return x;
end

fibaro:log("Réveiller");

-- MAC adress
local _macAdd = fibaro:getGlobal("MacNAS1");
local _macAddress = convertMacAddress(_macAdd);
-- Create Magic Packet 6 x FF
local _magicPacket = string.char(0xff, 0xff, 0xff, 0xff, 0xff, 0xff);
-- Broadcast Address
local _broadcastAddress = fibaro:getGlobal("BcastNAS");
-- Default port used
local _wakeOnLanPort = 9;

fibaro:sleep(750);

for i = 1, 16 do
  _magicPacket = _magicPacket .. _macAddress;
end

fibaro:log("Magic packet créé");

fibaro:sleep(1000);

socket = Net.FUdpSocket();
socket:setBroadcast(true);

local bytes, errorCode = socket:write(_magicPacket, _broadcastAddress, _wakeOnLanPort);
--check for error
if errorCode == 0 then
  fibaro:log("Envoyé");
else
  fibaro:log("Envoi raté");
end

-- clean up memory
socket = nil;

fibaro:log("Attendre le réveil.");

 

NB5 Boucle principale

-- Interval d'execution en minutes
local pollingTime = 10;

-- ID du virtual device
local selfID = fibaro:getSelfId();
fibaro:call(selfID, "pressButton", "3");

fibaro:sleep(pollingTime * 60000);

 

Merci pour votre aide.....

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu ne précises pas l'ip ni le port de ton NAS, il ne va pas te deviner

Envoyé de mon Nexus 5 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

 

En effet, il faut mettre l'adresse IP du NAS et le port (5000 par défaut, sinon, celui que vous avez modifié dans DSM pour un accès en HTTP) dans la capture NB2.

Et il ne faut pas toucher au code des boutons.

 

Voilà ... :)

 

Modifié par Kana-chan

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Jojo et Kana-chan

ok je viens de modifier mais j'ai tjrs ceci

image.png.5b92147dbdc1aa1541e75daaae9adea2.png

 

Modifié par Ghoosti

Partager ce message


Lien à poster
Partager sur d’autres sites

et ici c bon ?

NB3 Redémarrer

--------------------------------------------------
-- Synology DSM
-- Reboot the disk station
-- janvier 2015
--------------------------------------------------

-- User configurable variables
local login = fibaro:getGlobal("LoginNAS1");
local password = fibaro:getGlobal("MdpNAS1");

-- System variables
local selfID = fibaro:getSelfId();
local ip = fibaro:get(selfID, "192.168.1.55"); -----ici c bien " ou '
local port = fibaro:get(selfID, "5000");-------------idem

Partager ce message


Lien à poster
Partager sur d’autres sites

Et que donne les traces ?

Aller sur le bouton Debogger du bouton Etat.

Cliquer sur Demarrer et voir ce qui s'affiche.

 

Voilà ... :D

 

P.S. : C'est pas bon ça :
 

local ip = fibaro:get(selfID, "192.168.1.55"); -----ici c bien " ou '
local port = fibaro:get(selfID, "5000");-------------idem

Remettre comme c'etait aussi.

Il faut avoir :

VD_Synology_NAS_Config.png.dabf102f9c75877b8b1d4ccf95ea6d6e.png

et cela dans le code :

SynologyConfigBouton.png.0100b7ed1b248eff0072b5700266f5eb.png

 

Modifié par Kana-chan
Explications

Partager ce message


Lien à poster
Partager sur d’autres sites

"Aller sur le bouton Debogger du bouton Etat"

image.png.69b4fe241e0e5081fe35cf96190903ce.png

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Hmmm, je ne connais pas cette erreur.

Le mieux est de supprimer le VD et le réimporter.

Puis de renseigner l'IP et le port comme dans ma capture et sauver.

Si les variables globales sont bonnes (dans la partie "Variables:" et non "Variables prédéfinies"), en cliquant sur le bouton Etat, tout se mettra à jour.

 

Voilà ... :)

 

Modifié par Kana-chan

Partager ce message


Lien à poster
Partager sur d’autres sites

ok vais essayer mais quel version pour le VD, j'avais pris Synology_NAS.vfib de Janvier 2015

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 22/07/2017 à 12:02, Kana-chan a dit :

Bonjour domo,

 

Voici la dernière (je l'espère !! :D) version avec la prise en charge de la température des disques dur.

Pouvez-vous tester de votre coté ?

 

Merci ... :P

 

Synology_NAS.vfib

Il faut prendre celui-là.

 

Voilà ... :)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@GhoostiVoici la version que j'utilise. Elle fonctionne parfaitement. Tu dois mettre ton IP et ton Port.

Ensuite mettre ton ID et le mot de passe de ton Synology sur chaque bouton sauf celui du WOL ou tu dois mettre l'adresse mac de ton Synology.

Synology_Monitoring_Partage_Internet.vfib.json

Partager ce message


Lien à poster
Partager sur d’autres sites

@fredokl

Merci je garde sous le coude.....

Partager ce message


Lien à poster
Partager sur d’autres sites

@Ghoosti Cool. la version que j'ai mis et différente de celle de @Kana-chan.

Je vais la tester pour voir les différences.

Partager ce message


Lien à poster
Partager sur d’autres sites

×