Intégration domotique Ping & Wake-on-LAN, gratuite et open source

Voyez quels PC, NAS, TV ou téléphones sont allumés, et réveillez-les par Wake-on-LAN.
Sachez quels PC, NAS, TV ou téléphones de votre réseau sont allumés, et allumez-les depuis Gladys. Chaque hôte surveillé devient un appareil Gladys qui dit s'il répond (en ligne / hors ligne) et en combien de temps (latence), avec un bouton Allumer quand son adresse MAC est connue (Wake-on-LAN).
Usages typiques : allumer le NAS avant une sauvegarde et attendre qu'il réponde, voir sur le tableau de bord que la console des enfants est restée allumée, savoir qu'un téléphone est à la maison (présence), être prévenu quand un serveur ne répond plus.
Développée sans le matériel : vos retours sont bienvenus. L'intégration est couverte par des tests automatiques, mais n'a pas encore été essayée dans une vraie installation Gladys avec un vrai ordinateur Wake-on-LAN. Dites-nous sur le forum Gladys comment elle se comporte chez vous.
Ce que vous obtenez
-
Un appareil par hôte, avec ces fonctionnalités :
Fonctionnalité Type dans Gladys Affiche En ligne détecteur de présence (oui/non) « Présence détectée » en vert quand il répond, rouge sinon Latence durée, en millisecondes aller-retour moyen du dernier test (graphique d'historique) Allumer bouton poussoir (seulement avec MAC) Appuyer envoie le paquet Wake-on-LAN -
Un widget de tableau de bord Appareils réseau : plusieurs hôtes d'un coup d'œil, avec un bouton Allumer pour ceux qui sont éteints.
-
Un déclencheur de scène, Un appareil ne s'est pas allumé, et deux actions de scène, Allumer un appareil (Wake-on-LAN) (qui peut attendre que l'appareil réponde) et Tester une adresse.
Prérequis
- Gladys Assistant 5.1.0 ou plus récent.
- Pour les tests : des hôtes joignables depuis la machine Gladys, par adresse IP (de préférence
fixe : réservez-la dans les réglages DHCP de votre box) ou par un nom DNS. Les noms
.local(mDNS) ne peuvent pas être résolus dans l'intégration. - Pour le Wake-on-LAN :
- l'ordinateur est sur le même réseau local que Gladys, et de préférence en filaire (le Wake-on-LAN en Wi-Fi fonctionne rarement) ;
- le Wake-on-LAN est activé dans son BIOS/UEFI et dans son système (Windows : propriétés de
la carte réseau, Wake on Magic Packet ; désactiver le Démarrage rapide aide souvent ;
Linux :
ethtool -s <interface> wol g; NAS : réglages d'alimentation) ; - son adresse MAC (dans la liste des appareils de votre box, ou par
ipconfig /all,ip link).
- À l'installation, Gladys vous demande d'autoriser deux accès : Accès Wake-on-LAN (le cœur envoie les paquets magiques : le conteneur de l'intégration ne peut pas émettre de diffusion) et Recherche SSDP de ssdp:all (la recherche sur le réseau).
Configuration
Réglages
| Réglage | Défaut | Effet |
|---|---|---|
| Intervalle des tests | 30 s | Fréquence à laquelle chaque hôte est testé (de 15 s à 5 min). |
| Hors ligne après | 1 minute | Durée sans aucune réponse avant qu'un hôte passe hors ligne. « Au premier test sans réponse » réagit tout de suite. |
| Délai de réveil | 3 minutes | Durée laissée à un appareil réveillé pour répondre avant Un appareil ne s'est pas allumé. |
| Langue des noms de fonctionnalités | Français | Noms des fonctionnalités des nouveaux appareils (En ligne, Latence, Allumer) et langue des messages. |
Ajouter un hôte
Dans Intégrations → Ping & Wake-on-LAN → Configuration, remplissez le formulaire Ajouter ou modifier un hôte et lancez-le :
- Nom et Adresse IP ou nom d'hôte (obligatoires) ;
- Adresse MAC, pour obtenir le bouton Allumer (toutes notations :
64:e4:d5:b4:12:66,64-E4-D5-B4-12-66…) ; - Adresse de diffusion, seulement si l'ordinateur ignore le réveil par défaut (essayez
l'adresse de diffusion de son réseau, ex.
192.168.1.255) ; - Méthode de test : Automatique (ping, puis TCP quand le ping reste sans réponse), Ping (ICMP) seulement, ou Port TCP seulement ;
- Port TCP : le port essayé quand le ping échoue (ex. 445 pour un PC Windows, 62078 pour un iPhone). Sans lui, la méthode automatique essaie quelques ports courants ;
- Hors ligne après (cet hôte) : remplace le réglage pour cet hôte (téléphones : 10 à 30 minutes).
L'intégration teste l'hôte une fois et vous dit s'il répond. Ouvrez ensuite l'onglet Découverte et cliquez sur Ajouter à Gladys. Pour modifier un hôte, relancez le formulaire avec le même nom ou la même adresse : l'appareil garde son historique. Si l'adresse MAC a été ajoutée, cliquez sur Mettre à jour dans l'onglet Découverte pour obtenir le bouton. Retirer un hôte le sort de la liste (son appareil reste dans Gladys jusqu'à ce que vous le supprimiez).
Recherche sur le réseau
Rechercher sur le réseau (et le bouton Scanner de l'onglet Découverte) demande à Gladys les appareils qui s'annoncent sur le réseau (UPnP/SSDP : TV, NAS, serveurs multimédias, box, imprimantes, consoles, PC Windows avec la découverte réseau active) et les propose dans l'onglet Découverte, nommés d'après leur description UPnP. Quand la machine Gladys connaît leur adresse MAC, l'appareil arrive avec le bouton Allumer. Les téléphones et la plupart des ordinateurs ne s'annoncent pas : ajoutez-les à la main.
Appareils
- En ligne : 1 dès que l'hôte répond, 0 une fois qu'il n'a pas répondu pendant le délai Hors ligne après. Un hôte pas encore testé n'a pas de valeur.
- Latence : aller-retour moyen du dernier test, en millisecondes, republié quand il bouge de 20 % (1 ms au moins) : l'historique reste lisible. Rien n'est publié tant que l'hôte est hors ligne.
- Allumer : envoie le paquet Wake-on-LAN. L'hôte est ensuite testé toutes les 5 secondes ; un paquet est renvoyé toutes les 30 secondes tant qu'il reste muet, jusqu'à ce qu'il réponde ou que le Délai de réveil s'achève.
Comment un hôte est testé :
- Ping (ICMP) : trois demandes d'écho à 0,2 s d'intervalle, 1 seconde pour répondre.
- TCP : une connexion à un port. Une connexion refusée prouve aussi que l'hôte est allumé : seul le silence signifie hors ligne. Cela rattrape les hôtes qui ignorent le ping (pare-feu Windows, certains téléphones). Sans port, la méthode automatique essaie ensemble 80, 443, 22, 445, 139, 3389, 5000, 8080, 8009 et 62078.
Gladys affiche « Pas de valeur récente » sur une valeur de plus de 48 heures : un état inchangé est republié toutes les 12 heures pour l'éviter.
Widget de tableau de bord
Éditer le tableau de bord → ajouter un widget → Appareils réseau. Laissez Appareils affichés vide pour voir tous les hôtes (10 au plus), ou choisissez-en. Chaque ligne donne l'état d'un hôte : En ligne avec sa latence, Hors ligne, ou Démarrage après un réveil. Jusqu'à quatre boutons Allumer apparaissent pour les hôtes hors ligne qui ont une adresse MAC.
Déclencheur de scène
Un appareil ne s'est pas allumé se déclenche quand un appareil réveillé par l'intégration (bouton, widget ou scène) ne répond toujours pas à la fin du Délai de réveil. Le filtre Appareil est facultatif. Variables : Nom de l'appareil, Adresse, Secondes d'attente.
Attention aux boucles : une scène qui réveille de nouveau l'appareil sur ce déclencheur recommence à chaque échec, toutes les quelques minutes, sans fin (un ordinateur débranché du secteur ne répondra jamais). Envoyez plutôt un message, ou arrêtez-vous après un seul nouvel essai par une condition de votre choix.
Pour « l'appareil est allumé / éteint », utilisez le déclencheur du cœur Changement d'état de l'appareil sur la fonctionnalité En ligne, et cochez Exécuter seulement lorsque le seuil est passé : l'état est renvoyé toutes les 12 heures, et sans la case la scène se relancerait à chaque fois.
Actions de scène
- Allumer un appareil (Wake-on-LAN) : Appareil (obligatoire) et Attendre qu'il réponde. Sans attente, le paquet est envoyé et la scène continue. Avec, les étapes suivantes démarrent quand l'appareil répond, ou après 100 secondes (Gladys accorde 120 secondes au plus à une action). Résultats : Répond (1 ou 0) et Durée de démarrage en secondes. Un appareil déjà allumé n'est pas réveillé (Répond 1, Durée de démarrage 0).
- Tester une adresse : une adresse IP ou un nom d'hôte (variables de scène acceptées) et un Port TCP facultatif (seul ce port est alors essayé). Résultats : Répond (1 ou 0) et Latence. Aucun appareil n'est créé.
Les résultats sont des nombres (1/0) pour que Condition sur variables puisse les comparer :
choisissez le résultat, =, et tapez 1.
Exemples de scènes
- Sauvegarde sur le NAS la nuit : Déclenchement programmé à 2 h → Allumer un appareil NAS avec Attendre qu'il réponde → Condition sur variables : Répond = 1 → vos étapes de sauvegarde (par exemple Faire une requête HTTP vers le NAS) → Envoyer un message avec le résultat Durée de démarrage (à insérer depuis la liste des variables).
- Soirée film : dans la scène qui prépare le salon → Allumer un appareil PC multimédia (sans attendre) → Attendre 1 minute → allumer la TV.
- Surveillance d'un serveur : Changement d'état de l'appareil sur En ligne du serveur, valeur Pas de présence, case du seuil cochée → Envoyer un message « Le serveur ne répond plus ». Une deuxième scène sur Un appareil ne s'est pas allumé → Envoyer un message avec les variables Nom de l'appareil et Secondes d'attente.
Dépannage
- Un hôte reste hors ligne alors qu'il est allumé : il ignore le ping (pare-feu Windows, téléphones). Choisissez Méthode de test → Port TCP seulement avec un port qu'il ouvre (445 pour le partage de fichiers Windows, 3389 pour le bureau à distance, 22 pour SSH, 62078 pour un iPhone), ou gardez Automatique avec ce port.
- Un téléphone passe sans cesse hors ligne puis revient : en veille Wi-Fi, les téléphones cessent de répondre pendant des minutes. Donnez à l'hôte Hors ligne après 10 à 30 minutes.
- L'écran de configuration dit que le ping (ICMP) n'est pas autorisé : le Docker de votre machine Gladys ne laisse pas les conteneurs envoyer de ping (Docker antérieur à 20.10). Les hôtes sont alors testés en TCP seulement : donnez un port à chacun, ou mettez Docker à jour.
- Allumer ne fait rien : vérifiez l'adresse MAC, que le Wake-on-LAN est activé dans le BIOS/UEFI et le système, et que l'ordinateur est en filaire. Essayez l'adresse de diffusion de son réseau. Un ordinateur débranché du secteur a souvent besoin d'un démarrage normal avant que le Wake-on-LAN refonctionne.
- La recherche sur le réseau ne trouve rien : beaucoup d'appareils ne répondent pas au SSDP ; ajoutez-les à la main. Si le message dit que la recherche est indisponible, Gladys a refusé l'accès SSDP.
- « Pas de valeur récente » sur un appareil : l'intégration est peut-être arrêtée ; regardez ses logs dans l'onglet Supervision.
- Logs : dans la page de l'intégration de Gladys, ou
docker logssur l'hôte. Ils restent calmes : le démarrage, un hôte qui passe hors ligne ou revient, chaque Wake-on-LAN, et un problème une fois quand il commence, une fois quand il se termine.LOG_LEVEL=debugmontre chaque test.
Limites
- Adresses IPv4 et noms DNS seulement ; les noms
.local(mDNS) ne sont pas résolus. - Le Wake-on-LAN atteint le réseau local de la machine Gladys : réveiller un ordinateur d'un autre réseau (VPN, autre VLAN) dépend de votre routeur, qui le plus souvent ne relaie pas les diffusions.
- Gladys envoie un paquet magique toutes les 2 secondes au plus : réveiller dix ordinateurs à la fois prend 20 secondes.
- Un réveil réussi signifie seulement que le paquet est parti : seules les réponses suivantes prouvent que l'appareil est allumé.
- 64 hôtes au plus. Chaque test envoie 3 pings ou, en TCP, jusqu'à 10 tentatives de connexion par hôte ; rien ne sort de votre réseau, aucun compte ni service cloud n'est utilisé.
- Ce que l'intégration conserve : la liste des hôtes et leurs options, dans
/data/hosts.jsonde son conteneur.
Paramètres de configuration
Voici les paramètres demandés par Ping & Wake-on-LAN dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Vos hôtes | section | Non | Ajoutez chaque PC, NAS, TV ou téléphone à surveiller avec l'action « Ajouter ou modifier un hôte » ci-dessous, puis créez son appareil dans l'onglet Découverte. « Rechercher sur le réseau » propose les appareils qui s'annoncent (UPnP), avec leur adresse MAC quand Gladys la connaît. |
| Intervalle des tests | select | Non | Fréquence à laquelle chaque hôte est testé. |
| Hors ligne après | select | Non | Durée sans aucune réponse avant qu'un hôte passe hors ligne. Les téléphones en veille Wi-Fi ne répondent pas toujours : comptez 5 à 10 minutes (par hôte, dans l'action ci-dessous). |
| Délai de réveil | select | Non | Durée laissée à un appareil réveillé pour répondre avant le déclencheur « Un appareil ne s'est pas allumé ». Un paquet est renvoyé toutes les 30 secondes en attendant. |
| Langue des noms de fonctionnalités | select | Non | Noms donnés aux fonctionnalités des nouveaux appareils (En ligne, Latence, Allumer) et langue des messages. |
Comment installer Ping & Wake-on-LAN dans Gladys
- Dans Gladys, ouvrez Intégrations : Ping & Wake-on-LAN apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/guim31/gladys-ping-wol:1.0.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-ping-wol.
Ping & Wake-on-LAN nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
Ping & Wake-on-LAN est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations externes
- Découvrir les intégrations natives intégrées à Gladys
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation