Raze Posté(e) le 26 octobre 2017 Signaler Posté(e) le 26 octobre 2017 Bonjour J'ai un petit souci de rien du tout pour vous autres je pense... J'ai recuperé une commande "ping" qui fonctionne tres bien merci a Krikroff la voici : --[[ %% properties %% globals --]] -- Ping v 1.0.1 [05-2013] -- Copyright © 2013 Jean-christophe Vermandé fibaro:log("Start process"); local _deviceIp = "192.168.0.34"; local _devicePort = 22; local _maxRetryProcess = 5; -- recursive function to ping device local function _ping(retry) retry = retry or 0; --open the socket local tcpSocket = Net.FTcpSocket(_deviceIp, _devicePort); --set the read timeout tcpSocket:setReadTimeout(250); --notify user fibaro:log("Search on the local network, try #" .. retry .. " please wait..."); fibaro:sleep(250); --send packet local bytes, errorCode = tcpSocket:write("test"); --check for error if errorCode == 0 then return true; else if retry < _maxRetryProcess then fibaro:log("Retry process, please wait..."); fibaro:sleep(1000); return _ping(retry + 1); end return false; end end --ping device, secure with pcall to catch errors. local f, result = pcall(_ping); if (f) then if (result == true) then fibaro:log("Device has been found, is awake and listening."); else fibaro:log("Device was not found!"); end else fibaro:log("Error: " .. f); end Maintenant je n'arrive pas a envoyer une commande Tcp... Voici mon script : --[[ %% properties %% globals --]] fibaro:log("Start process"); local _deviceIp = "192.168.0.34"; local _devicePort = 22; --open the socket local tcpSocket = Net.FTcpSocket(_deviceIp, _devicePort); tcpSocket:setReadTimeout(2000) local commande ='sudo shutdown -h now' fibaro:debug(commande) tcpSocket:write(commande) tcpSocket:setReadTimeout(2000) --open the socket local tcpSocket = Net.FTcpSocket(_deviceIp, _devicePort); tcpSocket:setReadTimeout(2000) local mdp ='000000' fibaro:debug(mdp) tcpSocket:write(mdp) fibaro:log("The computer is shuting down, please wait..."); fibaro:sleep(250); Et on ne rigole pas svp... Merci d'avance !!!
Lazer Posté(e) le 26 octobre 2017 Signaler Posté(e) le 26 octobre 2017 J'avais fait une longue réponse, mais elle a disparu (regarde si tu ne l'a pas vu passer dans tes emails de notification) En résumé : pas de SSH, mais TELNET OK => 1
Krikroff Posté(e) le 26 octobre 2017 Signaler Posté(e) le 26 octobre 2017 @Raze, c'est quoi l'idée, éteindre un Pi ? 1
Lazer Posté(e) le 26 octobre 2017 Signaler Posté(e) le 26 octobre 2017 Sinon l'autre solution, si c'est un PI ou tout autre machine sur laquelle on a la main, c'est de mettre un serveur Web avec PHP qui exécute les commandes désirées, ainsi il n'y a plus de limites. Et la HC2 sait faire des requêtes HTTP en toute simplicité.
Raze Posté(e) le 28 octobre 2017 Auteur Signaler Posté(e) le 28 octobre 2017 Merci pour vos reponses !! Desole de ne pas vous avoir repondu avant j'etais en deplacement pour le taf... Le 26/10/2017 à 19:44, Lazer a dit : J'avais fait une longue réponse, mais elle a disparu (regarde si tu ne l'a pas vu passer dans tes emails de notification) Merci pour ta reponse et non pas dans mes mails de notification je vais regarder en tout cas ce que tu me propose cela peux repondre a ma question Dès que j'ai du tps j'essaie... car avec le taf c chaud... Le 26/10/2017 à 19:53, Krikroff a dit : c'est quoi l'idée, éteindre un Pi ? C'est mon media center de la maison (HAKINTOSH... Je l'aurai bien mis sous ubuntu mais je dois d'abord passer toutes mes photos (beaucoup, beaucoup de Go) qui sont sur ce putain de "iphoto" en mode dossier simple.) Il me sert a regarder des series, écouter de la musique, regarder les photos... L'interet et de l'eteindre la nuit par un coup de poing qui eteints les lumieres... (consomation elec tout simplement) Le 26/10/2017 à 19:55, Lazer a dit : c'est de mettre un serveur Web avec PHP qui exécute les commandes désirées, ainsi il n'y a plus de limites. Et la HC2 sait faire des requêtes HTTP en toute simplicité. Comment fait on ca ? Mon scripte est il mauvais ? (je pense que oui et trouverai la reponse dans "Activer/désactiver Point Accès Wifi Via Hc2") En tout cas merci encore de m'aider ! Je debute un peu en code mais trouve ca vraiment interessant !
Raze Posté(e) le 28 octobre 2017 Auteur Signaler Posté(e) le 28 octobre 2017 Voila j'ai essayé ca --[[ %% properties %% globals --]] fibaro:log("Start process"); local _deviceIp = "192.168.0.34"; local _devicePort = 22; --open the socket local tcpSocket = Net.FTcpSocket(_deviceIp, _devicePort); tcpSocket:setReadTimeout(2000) bytes, errorCode = tcpSocket:write("sudo shutdown -h now") --code eteindre fibaro:sleep(1000) if errorCode == 0 then local result = tcpSocket:read() fibaro:debug("rep1: " .. string.len(tostring(result))) else fibaro:debug("error1") end bytes, errorCode = tcpSocket:write("xxxxxx") --pass fibaro:sleep(1000) if errorCode == 0 then result = tcpSocket:read() fibaro:debug("rep2: " .. string.len(tostring(result))) fibaro:debug(result) else fibaro:debug("error2") end fibaro:log("The computer is shuting down, please wait..."); fibaro:sleep(250); cela ne fonctionne pas sinon trop simpe... mon hakintosh est allumé HELP !!
lamparo Posté(e) le 28 octobre 2017 Signaler Posté(e) le 28 octobre 2017 Bonsoir, il faut que tu installes le serveur sur l'appareil que tu veux arrêter. Je me suis inspiré du post de Gazous pour gérer mon PI, cela devrait convenir à ton appareil aussi. Avec un peu d'imagination nul doute que tu y parviennes
Messages recommandés