Aller au contenu

Kana-chan

Membres confirmés
  • Compteur de contenus

    335
  • Inscription

  • Dernière visite

  • Jours gagnés

    7

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

  1. Bonjour jojo, Je pense que c'est le cache du navigateur (ou du système) qui a dû jouer des tours. Voilà ...
  2. @jojo : Voici le code du VD pour récupérer les infos : -------------------------------------------------- -- Synology DSM -- Reboot the disk station -- janvier 2015 -------------------------------------------------- -- User configurable variables local login = fibaro:getGlobal("LoginNAS"); local password = fibaro:getGlobal("MdpNAS"); -- 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_temp_disk = 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_temp_disk = apiMethod_temp; apiMethod_vols = apiMethod_temp; if version < 6 then cgiUsed_cpu_mem = "/dsm/system_loading.cgi"; cgiUsed_temp = "/dsm/info.cgi"; cgiUsed_temp_disk = "/entry.cgi"; cgiUsed_vols = "/dsm/volume.cgi"; apiUsed_cpu_mem = "SYNO.DSM.SystemLoading"; apiUsed_temp_system = "SYNO.DSM.Info"; apiUsed_temp_disk = "SYNO.Core.System"; apiUsed_vols = "SYNO.DSM.Volume"; apiMethod_cpu_mem = "getinfo"; apiMethod_temp = apiMethod_cpu_mem; apiMethod_temp_disk = "info"; 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; info_mem = jsonTable.data.memory; load_cpu = 0; load_mem = 0; if (version < 6) then load_cpu = round(info_cpu.user*100); load_mem = round((info_mem.total-(info_mem.buffer+info_mem.cached+info_mem.free))/info_mem.total*100); else load_cpu = round(info_cpu.other_load+info_cpu.system_load+info_cpu.user_load); load_mem = round(info_mem.real_usage); end fibaro:debug("Memory: "..load_mem.."%"); info_cpu_memory = "Memory: "..load_mem.."% "; 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 temp_system = "System: N/A"; if (version < 6) then if jsonTable.data.temperature ~= "undefined" then temp_system = "System: "..round(jsonTable.data.temperature).."°C"; end else if jsonTable.data.sys_temp ~= nil then temp_system = "System: "..round(jsonTable.data.sys_temp).."°C"; end 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_disk.."?api="..apiUsed_temp_disk.."&version=1&method="..apiMethod_temp_disk.."&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..": "..round(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 = 0; if (version < 6) then vols_tab = jsonTable.data.volumes; else vols_tab = jsonTable.data.vol_info; end for nb = #vols_tab, 1, -1 do if (version < 6) then used_size_vol = vols_tab[nb].used; total_size_vol = vols_tab[nb].total; else used_size_vol = vols_tab[nb].used_size; total_size_vol = vols_tab[nb].total_size; end occupied_size = round(used_size_vol/total_size_vol*100); if (version < 6) then vols_load = vols_load..vols_tab[nb].id..": "..occupied_size.."% "; else vols_load = vols_load..vols_tab[nb].name..": "..occupied_size.."% "; end 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
  3. 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 ... Synology_NAS.vfib
  4. Bonjour, Je ne sais pas. Je vais devoir installer DSM 5.2 pour voir au niveau API ce qui cloche. Sinon, pour la température Système, j'ai un nouveau VD, domo. Pouvez-vous l'essayer ? Merci. Synology_NAS.vfib
  5. Pouvez-vous essayer ceci ? 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/entry.cgi?api=SYNO.Core.Storage.Disk&version=1&method=getinfo&type=storage&_sid=<sid_trouve_avant> Merci !
  6. Mince, je vais chercher encore ...
  7. OK, cela me donne la température du système. Pouvez vous faire l'autre ? Merci.
  8. Bon, normal alors que vous n'ayez rien. Pouvez-vous essayer ceci ? 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/info.cgi?api=SYNO.DSM.Info&version=1&method=getinfo&type=storage&_sid=<sid_trouve_avant> ou (si celle du dessus a raté) http://<adresse_ip_nas:port_dsm>/webapi/dsm/info.cgi?api=SYNO.DSM.System&version=1&method=getinfo&type=storage&_sid=<sid_trouve_avant> Merci !
  9. OK ! Bon bah il ne doit pas y avoir beaucoup de monde sur l'autoroute après 20h ... Ça attendra que vous rentriez chez vous ! Pas de souci.
  10. OK. Pouvez-vous faire les urls de mon précédent post pour comprendre les températures à zéro ? Merci.
  11. OK. Bizarre oui. C'est quel modèle de Synology ? Normalement si on peut voir la température dans l'interface DSM, je dois pouvoir l'avoir dans le VD. Pouvez-vous essayer ceci ? 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/info.cgi?api=&version=1&method=getinfo&type=storage&_sid=<sid_trouve_avant> ou (si celle du dessus n'a pas fonctionné) http://<adresse_ip_nas:port_dsm>/webapi/dsm/info.cgi?&version=1&method=getinfo&type=storage&_sid=<sid_trouve_avant> Merci.
  12. Je peux à deux chiffres, car j'ai déjà une fonction qui le fait. Essayez ce VD ... Synology_NAS.vfib
  13. En effet, vous êtes arrivé au bout. Voir ce que cela donne dans le VD en cliquant sur l'icone des 4 flèches. Voilà ... bonne nuit ...
  14. Bonsoir, Pouvez-vous essayer avec ce VD ? Merci ... Synology_NAS.vfib
  15. Ce n'est pas la même suite de commandes ...
  16. 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 ...
  17. Et avec celui-ci ? Synology_NAS.vfib
  18. Bonjour, Voici un nouveau VD pour prendre en compte le DSM 5. Pouvez-vous essayer ? Merci ... Synology_NAS.vfib
  19. 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à.
  20. 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à.
  21. 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à.
  22. Kana-chan

    acces externe par requetes http

    Nice est à moins de 50 km de chez moi...
  23. 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.
  24. 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à ...
  25. 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à ...
×
×
  • Créer...