Aller au contenu

Kana-chan

Membres confirmés
  • Compteur de contenus

    320
  • Inscription

  • Dernière visite

  • Jours gagnés

    6

Tout ce qui a été posté par Kana-chan

  1. OK ! Il faut que vous m'aidiez là encore. Pouvez-vous me donner le résultat de cela dans firefox ou IE ? http://<adresse_ip_nas:port_dsm>/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=<login_admin>&passwd=<password_admin>&session=DSM&format=sid http://<adresse_ip_nas:port_dsm>/webapi/dsm/volume.cgi?api=SYNO.DSM.Volume&version=1&method=list&type=storage&_sid=<sid_trouve_avant> Pour la deuxième commande, si vous avez des "+" devant des lignes, il faut cliquer dessus. Merci ...
  2. Et avec celui-ci ? Synology_NAS.vfib
  3. Bonjour, Voici un nouveau VD pour prendre en compte le DSM 5. Pouvez-vous essayer ? Merci ... Synology_NAS.vfib
  4. Bonjour, Essayer ceci dans firefox ou IE : http://<adresse_ip_nas:port_dsm>/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=<login_admin>&passwd=<password_admin>&session=DSM&format=sid http://<adresse_ip_nas:port_dsm>/webapi/dsm/system_loading.cgi?api=SYNO.DSM.SystemLoading&version=1&method=getinfo&type=current&_sid=<sid_trouve_avant> Pour la deuxième commande, si vous avez des "+" devant des lignes, il faut cliquer dessus. Voilà.
  5. Bonjour domo, En fait, c'est que je n'ai pas la structure de data.memory du DSM 5.x pour faire cette partie en DSM 5.x. Je ne l'ai qu'en DSM 6.x. Si vous avez un DSM 5.x, vous pouvez essayer de faire l'url pour voir la structure de data.memory et comme cela je serai quoi faire. Voilà.
  6. Bonjour Crockett, Merci pour la précision. Mais pour la livebox Play, il faut prendre peut-être le VD qui est compatible avec, et non celui de la livebox 4, à moins qu'Orange aie mis à jours la livebox play avec le même site web interne que la livebox 4. Voilà.
  7. Kana-chan

    acces externe par requetes http

    Nice est à moins de 50 km de chez moi...
  8. Kana-chan

    acces externe par requetes http

    @Lazer : OK Merci ! Je pense alors que cela vient de la distance avec le serveur de test. Mais même en prenant sur Nice, j'ai 15 ms de latence, donc c'est peut-être pas cela.
  9. Kana-chan

    acces externe par requetes http

    Bonjour, Oui, j'ai un VD télécommande pour le décodeur TV qui accompagne la livebox 4. D'ailleurs, j'ai aussi un VD pour piloter la livebox 4. Voilà ...
  10. Kana-chan

    acces externe par requetes http

    Salut Lazer, En effet, ton ping est impressionnant ! Par contre au niveau des valeurs de DL et UL, c'est peu ou prou comme moi. Je pense que c'est parce que tu n'es pas loin de Paris que tu as un ping comme cela. Ici, mon ping de 15 ms est comme ce que j'avais en ADSL, c'est vrai, mais ce n'est pas handicapant. C'est peut-être la livebox qui génère un ping de 15 ms d'ailleurs, ou bien le monde sur notre fibre (plein d'immeubles). Avais-tu testé avec la livebox avant de passer sur l'Ubiquiti ? Voilà ...
  11. Kana-chan

    acces externe par requetes http

    Oui 16 ms de latence. Je n'ai jamais eu en dessous de 14-15 ms dans mes tests. Je ne pense pas avoir moins de toute façon. De plus, cela me convient. Je serais tout de même ravi que vous me dites combien de latence vous avez. Et oui, c'est bien une offre comme la Jet, mais en Open car je voyage souvent
  12. Kana-chan

    acces externe par requetes http

    Il est vrai que la livebox est assez maigre en configuration par rapport à une freebox. Par contre, je suis assez content tout de même des performances réseaux de la fibre avec (+ ONT externe aussi pour moi). En Ethernet sur réseau Gbits/s : 930.59 Mb/s en DL 243.25 Mb/s en UL 16 ms de latence. En wifi ac : 341.26 Mb/s en DL 242.16 Mb/s en UL 18 ms de latence. Donc bon, la box n'est pas terrible, mais le réseau n'est pas si mal. Voilà ... P.S. : Je me sers du téléphone fixe. Il me permet d'appeler à l'étranger gratuitement, ceci au moins une fois par semaine.
  13. Kana-chan

    acces externe par requetes http

    Bonjour, Je possède une livebox 4 et je peux répondre sur : 1- le panneau des équipement 2- une API 3- le loopback Tout ceci est présent dans la livebox 4. Voilà ...
  14. Kana-chan

    acces externe par requetes http

    Bonjour, Le remplacement de la livebox par un routeur Ubiquiti n'est pas simple à réaliser et empêchera d'utiliser le téléphone. Connaissez-vous ce merveilleux site : La Fibre ? Cela pourra vous aider. Voilà ...
  15. Bonjour, Voici la version du VD avec les login/Mot de passe dans une variable globale : LoginNAS : l'utilisateur admin du NAS MdpNAS : Mot de passe de l'utilisateur admin du NAS MacNAS : adresse MAC de la carte réseau du NAS si le WOL est compatible BcastNAS : adresse de broadcast du réseau si le WOL est compatible Il faut créer ces quatre variables globales dans le panneau des variables, puis créer une scène pour les mettre à jour, en mode lua, avec le code suivant : fibaro:setGlobal("LoginNAS", "admin"); --compte admin du NAS fibaro:setGlobal("MdpNAS", "password"); --mot de passe admin du NAS fibaro:setGlobal("MacNAS", "00:11:22:33:44:FF"); --adresse MAC du NAS pour le WOL si compatible fibaro:setGlobal("BcastNAS", "192.168.1.255"); --adresse de broadcast pour le WOL si compatible Exécuter la scène pour remplir les variables globales, et cacher la scène ou la détruire si le code des scènes est visible dans l'application mobile. Importer le nouveau VD. Voilà ... Synology_NAS.vfib
  16. J'utilise le site web que j'accède depuis n'importe où. J'ai un Windows 10 Mobile ... OK, je vais faire un VD avec le login et mot de passe dans les variables globales.
  17. Bonsoir Lazer, Peut-être mettre une variable global pour le nom de l'admin et son mot de passe alors ? Dans l'appli mobile, il est possible de voir les variables globales ? Je ne l'utilise pas cette appli.
  18. Bonsoir, Le mieux est de créer un compte admin pour la HC2 sans double authentification. De plus, si votre HC2 et votre NAS sont sur le même réseau, ce n'est pas bien grave. Aussi, pour ce compte admin, il est peut-être possible de ne pas lui donner les droits d'ouverture de bureau. Voilà ...
  19. Bonjour, Pouvez-vous nous dire à quelle moment il affiche cela ? Mais je pense que pour voir certaines informations, un compte admin est requis. EDIT: J'ai fait le test. Un user normal ne peut pas arrêter et redémarrer le NAS. Et il ne peux pas utiliser l'api Synology pour ce qu'on demande dans le VD. Donc oui, il faut un compte administrateur.
  20. Bonjour, Je n'ai pas vraiment de contrôle sur le NAS en lui-même. Je ne peux donc pas agir sur les ventilateurs. De plus, je pense comme jojo, il vaut mieux laisser le NAS gérer son refroidissement. Voilà ...
  21. Bonsoir Minos, Voici les icônes. Une fois ajoutés dans la HC2, récupérer les index d'image et remplacer dans le bouton "Etat" : [...] fibaro:log(nameNAS.." ON"); fibaro:call(selfID, "setProperty", "currentIcon", "52"); [...] et [...] fibaro:log(nameNAS.." OFF"); fibaro:call(selfID, "setProperty", "currentIcon", "53"); [...] Voilà ... OFF ON REDEMARRER ARRETER ETAT + REVEILLER
  22. Bonjour Minos, L'IP du NAS se rentre en haut de la fenêtre du VD, dans le champ "Adresse IP" et le port dans le champ "Port" (5000 si vous ne l'avez pas changé). Pour l'utilisateur et le mot de passe, cela se passe dans le code des boutons, au début, il y a : -- User configurable variables local login = "aa"; local password = "bb"; Là, il faut rentrer à la place de aa, le nom de votre utilisateur NAS, et à la place de bb le mot de passe de cet utilisateur. Il faut faire cela dans les boutons "Redémarrer", "Arrêter" et "Etat". Voilà ...
  23. Quelque chose comme cela ?
  24. Bonjour jojo, Impossible de vous envoyer un message, mais je me suis dit que cela serait pas trop grave de mettre le code ici. Je rappelle que je n'ai pas la paternité du VD, il fut d'abord créé par fdp2. Voici le code pour les différents boutons du VD NAS Synology : Redémarrer : -------------------------------------------------- -- Synology DSM -- Reboot the disk station -- janvier 2015 -------------------------------------------------- -- User configurable variables local login = "aa"; local password = "bb"; -- System variables local selfID = fibaro:getSelfId(); local ip = fibaro:get(selfID, 'IPAddress'); local port = fibaro:get(selfID, 'TCPPort'); 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 Arrêter : -------------------------------------------------- -- Synology DSM -- Shutdown the disk station -- janvier 2015 -------------------------------------------------- -- User configurable variables local login = "aa"; local password = "bb"; -- System variables local selfID = fibaro:getSelfId(); local ip = fibaro:get(selfID, 'IPAddress'); local port = fibaro:get(selfID, 'TCPPort'); local Synology = Net.FHttp(ip, tonumber(port)); local API_AUTH_ERROR_CODE = { [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); --fibaro:debug("response [" .. response .. "] status [" .. status .."] error [" .. errorCode .. "]") 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); -- ShutDown the disk station payload = "/webapi"..cgiUsed.."?api="..apiUsed.."&version=1&method=shutdown&_sid="..SID; response, status, errorCode = Synology:GET(payload); fibaro:debug("response [" .. response .. "] status [" .. status .."] error [" .. errorCode .. "]") jsonTable = json.decode(response); if jsonTable.success == true then fibaro:log("Arrêt OK"); fibaro:debug('<span style="color:green;">Arrêt du Disk Station Synology OK</span>'); else fibaro:log("Erreur"); fibaro:debug('<span style="color:red;">Le Disk Station ne s\'est pas arrêté</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 État : -------------------------------------------------- -- Synology DSM -- Reboot the disk station -- janvier 2015 -------------------------------------------------- -- User configurable variables local login = "aa"; local password = "bb"; -- System variables local selfID = fibaro:getSelfId(); local ip = fibaro:get(selfID, 'IPAddress'); local port = fibaro:get(selfID, 'TCPPort'); local nameNAS = fibaro:getName(selfID); 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.", }; local OK_connected = false; -- Test connection tcpSocket = Net.FTcpSocket(ip, tonumber(port)); bytes, errorCode = tcpSocket:write("Test"); fibaro:log("Détection"); if errorCode == 0 then OK_connected = true; fibaro:log(nameNAS.." ON"); fibaro:call(selfID, "setProperty", "currentIcon", "52"); --fibaro:call(175, "sendDefinedPushNotification", "Ping ReseauHome OK"); else fibaro:log(nameNAS.." OFF"); fibaro:call(selfID, "setProperty", "currentIcon", "53"); --fibaro:call(175, "sendDefinedPushNotification", "Ping ReseauHome OFF"); end tcpSocket:disconnect(); -- Round function to display percentages round = function(num) local a = math.floor(num*100 + 0.5)/ 100; return a,string.format("%.2f",a); end if OK_connected then -- 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); 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_cpu_mem = "/entry.cgi"; cgiUsed_temp = cgiUsed_cpu_mem; cgiUsed_vols = cgiUsed_cpu_mem; apiUsed_cpu_mem = "SYNO.Core.System.Utilization"; apiUsed_temp_system = "SYNO.Core.System"; apiUsed_temp_disk = apiUsed_temp_system; apiUsed_vols = apiUsed_temp_system; apiMethod_cpu_mem="get"; apiMethod_temp = "info"; apiMethod_vols = apiMethod_temp; if version < 6 then cgiUsed_cpu_mem = "/dsm/system_loading.cgi"; cgiUsed_temp = "/dsm/info.cgi"; cgiUsed_vols = "/dsm/volume.cgi"; apiUsed_cpu_mem = "SYNO.DSM.SystemLoading"; apiUsed_temp_system = "SYNO.DSM.Info"; apiUsed_temp_disk = ""; apiUsed_vols = "SYNO.DSM.Volume"; apiMethod_cpu_mem = "getinfo"; apiMethod_temp = apiMethod_cpu_mem; apiMethod_vols = "list"; 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.."]"); -- Prepare string local info_cpu_memory = ""; -- CPU info from the disk station payload = "/webapi"..cgiUsed_cpu_mem.."?api="..apiUsed_cpu_mem.."&version=1&method="..apiMethod_cpu_mem.."&type=current&_sid="..SID; response, status, errorCode = Synology:GET(payload); if tonumber(status) == 200 then jsonTable = json.decode(response); if jsonTable.success == true then info_cpu = jsonTable.data.cpu; load_mem = jsonTable.data.memory.real_usage; fibaro:debug("Memory: "..load_mem.."%"); info_cpu_memory = "Memory: "..load_mem.."% "; load_cpu = 0; if (version < 6) then load_cpu = info_cpu.user*100; else load_cpu = info_cpu.other_load+info_cpu.system_load+info_cpu.user_load; end fibaro:debug("CPU: "..load_cpu.."%"); info_cpu_memory = info_cpu_memory.."CPU: "..load_cpu.."%"; fibaro:call(selfID, "setProperty", "ui.CPULoad.value", info_cpu_memory); end else fibaro:log("Erreur"); fibaro:debug('<span style="color:red;">Erreur : '..API_AUTH_ERROR_CODE[tonumber(errorCode)]..'</span>'); end -- Temp info from the disk station payload = "/webapi"..cgiUsed_temp.."?api="..apiUsed_temp_system.."&version=1&method="..apiMethod_temp.."&_sid="..SID; response, status, errorCode = Synology:GET(payload); if tonumber(status) == 200 then jsonTable = json.decode(response); if jsonTable.success == true then if jsonTable.data.sys_temp ~= nil then temp_system = "System: "..jsonTable.data.sys_temp.."°C"; else temp_system = "System: N/A"; end fibaro:debug("Temperature "..temp_system); fibaro:call(selfID, "setProperty", "ui.SYSTEMTemp.value", temp_system); end else fibaro:log("Erreur"); fibaro:debug('<span style="color:red;">Erreur : '..API_AUTH_ERROR_CODE[tonumber(errorCode)]..'</span>'); end -- Prepare string local temp_disks = ""; -- Temp info from the disk station payload = "/webapi"..cgiUsed_temp.."?api="..apiUsed_temp_disk.."&version=1&method="..apiMethod_temp.."&type=storage&_sid="..SID; response, status, errorCode = Synology:GET(payload); if tonumber(status) == 200 then jsonTable = json.decode(response); if jsonTable.success == true then local disk_tab = jsonTable.data.hdd_info; for nb = 1, #disk_tab do temp_disks = temp_disks..disk_tab[nb].diskno..": "..disk_tab[nb].temp.."°C "; end fibaro:debug("Disks temperature: "..temp_disks); fibaro:call(selfID, "setProperty", "ui.DISKSTemp.value", temp_disks); end else fibaro:log("Erreur"); fibaro:debug('<span style="color:red;">Erreur : '..API_AUTH_ERROR_CODE[tonumber(errorCode)]..'</span>'); end -- Prepare string local vols_load = ""; -- Temp info from the disk station payload = "/webapi"..cgiUsed_vols.."?api="..apiUsed_vols.."&version=1&method="..apiMethod_vols.."&type=storage&_sid="..SID; response, status, errorCode = Synology:GET(payload); if tonumber(status) == 200 then jsonTable = json.decode(response); if jsonTable.success == true then local vols_tab = jsonTable.data.vol_info; for nb = #vols_tab, 1, -1 do used_size_vol = vols_tab[nb].used_size; total_size_vol = vols_tab[nb].total_size; occupied_size = round(used_size_vol / total_size_vol * 100); vols_load = vols_load..vols_tab[nb].name..": "..occupied_size.."% "; end fibaro:debug("Volumes Load: "..vols_load); fibaro:call(selfID, "setProperty", "ui.VOLSLoad.value", vols_load); end else fibaro:log("Erreur"); fibaro:debug('<span style="color:red;">Erreur : '..API_AUTH_ERROR_CODE[tonumber(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("Déconnexion: "..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 else fibaro:call(selfID, "setProperty", "ui.CPULoad.value", "Memory: N/A % CPU: N/A %"); fibaro:call(selfID, "setProperty", "ui.SYSTEMTemp.value", "System: N/A °C"); fibaro:call(selfID, "setProperty", "ui.DISKSTemp.value", "Disk: N/A °C"); end 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 _macAddress = convertMacAddress("AA:BB:CC:DD:EE:FF"); -- Create Magic Packet 6 x FF local _magicPacket = string.char(0xff, 0xff, 0xff, 0xff, 0xff, 0xff); -- Broadcast Address local _broadcastAddress = "192.168.X.255"; -- 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."); Et le lien vers la page qui m'a servie à faire cela : api documentation for homebridge-synology (v0.2.2) Voilà ...
  25. En fait j'ai rajouté une zone de texte donc il n'y a pas que le code qui a changé. Mais j'y penserai pour la prochaine fois !
×
×
  • Créer...