Aller au contenu

Messages recommandés

Posté(e)

je n'y arrive pas il y a peut être un paramètre que je configure mal. Le port utilisé par la module virtuel doit être le même que j'autorise sur la BOX je suppose? car même avec cela ca ne marche pas. La carte réseau est bien configurer pour ce réveiller ansi que dans le BIOS. Je pense que la box fait barrage cette c.....e

Posté(e) (modifié)

La box Internet n'y est pour rien dans le Wake On LAN. Il n'y a rien à  paramétrer à  ce niveau là .

 

Le paquet WOL part directement de la HC2 vers la carte réseau du PC cible. Donc ça passe par le switch de la box, mais ça reste de la commutation de niveau 2, donc le logiciel de la box ne le voit pas passer.

 

Il faut l'activer au niveau du PC : soit dans l'OS, soit dans le BIOS.

Après, certains couples de carte réseau / carte mère ont des limitations.

Par exemple, sur mon HTPC, c'est une carte mère ASUS P6T Deluxe V2, et il y a une sorte de bug. J'ai trouvé la solution sur Internet, mais en gros il fallait modifier un paramètre au niveau du driver de la carte réseau dans Windows pour pouvoir activer le WOL.

 

Donc ça dépend uniquement du PC...

 

 

EDIT pour Yohan et Phil : le forum remplace tout seul le terme "H T P C", je trouve ça un peu lourd...

Modifié par Lazer
Posté(e)

Merci Lazer pour cette explication mais comme je l'ai dit j'ai déjàtout activé au niveau du BIOS et de la carte réseau et je ne vois pas ce qu'il bloque

Posté(e)

Fait une recherche sur Google avec WOL et le modèle de ta carte mère. Les autres utilisateurs ont peut être le même souci.

Posté(e)

si tu as un ACER ou certaine autre marque mais surtout Acer, il faut désactiver également Deep Power Off Mode   dans le bios et ne pas oublier de paramétrer la carte réseau et autoriser les autorisations de sortie de veille sur le dernier onglet de la carte réseau aussi 

 

Attention, tout les pc ne sont pas forcement compatibles, tu peux aussi installer le pilote de ta carte réseau du constructeur (de la carte réseau et pas de l’assembleur du pc), car très souvent, les pc de marque embarque des pilotes générique ou il manque des options, dont celle ci.

Posté(e)

Alors moi j'ai essayé àpartir du code récupéré ici de créer un module virtuel avec un seul bouton. Ce module fonctionne pour le wakeonlan, sans problème. Par contre pour le shutdown, ça fonctionne uniquement si on est loggé sur la machine. Mes machines sont des windows 7 et si on est sur la page logOn, même la fonction ping ne marche pas (et donc le shutdown puisqu'il pense qu'elle est éteinte). Je vous poste le code en dessous mais je n'ai réellement rien changé.

-- convert MAC adress, every 2 Chars (7-bit ASCII), to one Byte Char (8-bits) 
local 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 

-- IP adress
local _ipAddress = "192.168.XXX.XXX";
-- MAC adress 
local _macAddress = convertMacAddress("XX:XX:XX:XX:XX:XX"); 
-- Create Magic Packet 6 x FF 
local _magicPacket = string.char(0xff, 0xff, 0xff, 0xff, 0xff, 0xff); 
-- Broadcast Address 
local _broadcastAddress = "255.255.255.255"; 
-- Default port used 
local _wakeOnLanPort = 9;
local _pingPort = 80;
local _SwitchOffPort = 8000;
--

-- recursive function to ping device
local function _ping(retry)
	retry = retry or 0;
	--open the socket
	local tcpSocket = Net.FTcpSocket(_ipAddress, _pingPort);
	--set the read timeout 
	tcpSocket:setReadTimeout(250);
	--notify user
	fibaro:debug("Search on the local network, try #" .. retry .. " please wait...");
	--send packet
	local bytes, errorCode = tcpSocket:write("ping");
	--check for error
	if errorCode == 0 then
		tcpSocket:disconnect();
		tcpSocket = nil;
		return true;
	else
		if retry < 5 then
			fibaro:debug("Retry process, please wait...");
			fibaro:sleep(1000);
			return _ping(retry + 1);
		end
		tcpSocket:disconnect();
		tcpSocket = nil;
		return false;
	end
end

-- function to wake on computer
local function _wakeonlan()
	for i = 1, 16 do
		_magicPacket = _magicPacket .. _macAddress;
	end
	fibaro:debug("Magic packet successfully created");
	local socket = Net.FUdpSocket();
	socket:setBroadcast(true);
	local bytes, errorCode = socket:write(_magicPacket, _broadcastAddress, _wakeOnLanPort);
	-- clean up memory
	soket = nil;
	--check for error
	if errorCode == 0 then
		fibaro:log("Magic packet sent");
	else
		fibaro:log("magic paquet failed");
	end
	return;
end

-- function to turn off computer
local function _shutdown()
	-- open http session
	local httpSession = Net.FHttp(_ipAddress, _SwitchOffPort);
	httpSession:setBasicAuthentication("User", "password");
	local response = httpSession:GET("/?action=System.Shutdown");
	fibaro:debug(response);
	return;
end


fibaro:log("Start process"); 

fibaro:sleep(750); 

--ping device, secure with pcall to catch errors. 
local f, result = pcall(_ping); 

if (f) then 
	if (result == true) then 
		fibaro:debug("Conputer has been found, is awake and listening."); 
		fibaro:log("Turn Off computer");
		fibaro:sleep(750);
		_shutdown();
		fibaro:log("Wait for shutdown");
		fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1018);
	else
		fibaro:debug("Computer was not found !");
		fibaro:log("Turn On computer");
		fibaro:sleep(750);
		_wakeonlan();
		fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1017);
		fibaro:log("Wait for startup");
		fibaro:sleep(750);
	end 
else 
	fibaro:log("Error: " .. f); 
end
Posté(e)

Merci à  tous c'est Frédéric qui détient la solution en tout cas pour ma part il suffisait de désactiver " Deep Power Off Mode" dans le bios. Maintenant ça marche nikel youpiiiii

 

Bravo a fred et a tous les autres aussi

  • Upvote 1
Posté(e)

Tu l'as dans mon post Jerry

-- function to turn off computer
local function _shutdown()
	-- open http session
	local httpSession = Net.FHttp(_ipAddress, _SwitchOffPort);
	httpSession:setBasicAuthentication("User", "password");
	local response = httpSession:GET("/?action=System.Shutdown");
	fibaro:debug(response);
	return;
end
Posté(e)

La box Internet n'y est pour rien dans le Wake On LAN. Il n'y a rien à  paramétrer à  ce niveau là .

 

Le paquet WOL part directement de la HC2 vers la carte réseau du PC cible. Donc ça passe par le switch de la box, mais ça reste de la commutation de niveau 2, donc le logiciel de la box ne le voit pas passer.

 

Il faut l'activer au niveau du PC : soit dans l'OS, soit dans le BIOS.

Après, certains couples de carte réseau / carte mère ont des limitations.

Par exemple, sur mon HTPC, c'est une carte mère ASUS P6T Deluxe V2, et il y a une sorte de bug. J'ai trouvé la solution sur Internet, mais en gros il fallait modifier un paramètre au niveau du driver de la carte réseau dans Windows pour pouvoir activer le WOL.

 

Donc ça dépend uniquement du PC...

 

 

EDIT pour Yohan et Phil : le forum remplace tout seul le terme "H T P C", je trouve ça un peu lourd...

 

Oui c'est pour les débutants qui ne connaissent pas tous les termes... donc le forum traduit en automatique.

Posté(e)

il faut remplacer certains champs dans ton script ben? ou simplement l’insérer tel quel? car tel qu'il est chez moi ca ne marche pas

Posté(e)

Oui t'as des prérequis :

1. installer le soft switchoff de airytech

2. ouvrir dans le firewall de windows l'accès au soft sur le reseau privé

3. activer la page web dans le soft et fixer un user + pass

4. dans mon script changer _ipAdress par l'ip de la machine que tu veux éteindre et _switchOffPort tu mets 8000 àla place.

5. tu changes User et password par celui que t'as fixé dans le logciel

6. Ce qui t'intéresse c'est ça, tu le colles dans un bouton et voilou

-- open http session
	local httpSession = Net.FHttp(_ipAddress, _SwitchOffPort);
	httpSession:setBasicAuthentication("User", "password");
	local response = httpSession:GET("/?action=System.Shutdown");
	fibaro:debug(response);
Posté(e)

Ou alors, pour ceux qui ont XBMC, on doit pouvoir éteindre le PC via l'API, ce qui évite d'installer un logiciel supplémentaire.

Couplé àdes Wall-plugs sur la TV et l'ampli (ou des modules virtuels pour ceux qui ont des équipements modernes avec une adresse IP), on peut faire une simulation de présence sympa :)

  • 9 mois après...
Posté(e)

C'est super ca! Par contre c'est cool pour les pc sous windows mais si on a des mac à  allumer et à  éteindre comment on fait? Le logiciel de switch off ne propose que pour windows... (C'est pour une instal d'un cabinet dentaire d'un copain donc je me renseigne avant la mise en place).

 

PS ca serait possible de mettre à  dispo le tuto complet parce que Fibaro ne semble plus accepter de nouveaux membres sur le fofo officiel... :angry:

  • 1 mois après...
Posté(e)

@Benjy: Merci pour ce script. Pour info, j'ai modifié la valeur du _pingPort à139 pour faire fonctionner correctement le script

Posté(e)

Je viens de finir l'installation complète pour allumer/éteindre pour la gestion de mon serveur multimédia et ça marche nickel!!!

Merci Benjy et Krikroff !!!

  • Upvote 2
  • 3 semaines après...
  • 4 mois après...
Posté(e)

Bonjour à  tous !

 

 

 

Le WoL est-il réalisable sur la petite HCL ? Le plugin Fibaro intégré à  la V4 fonctionne-il chez quelqu'un ? 

 

 

  • 4 mois après...
Posté(e)

il me met : [DEBUG] 02:13:23: line 7: attempt to index global 'Net' (a nil value)

quand j'execute le script :/
une idée ?
×
×
  • Créer...