Network Monitor Version 1.20     Voici un module virtuel permettant de surveiller plusieurs équipements sur le réseau local (et aussi sur Internet), et d'envoyer des notifications en cas de problème détecté.     Icônes :   Je propose ces 2 icônes, mais d'autres icônes sont disponibles dans les pages du topic :     Configuration :   Après import du module virtuel, modifier la section "User Variables" du 1er bouton du module virtuel : -- User variables local userID = {5} -- Mail local smartphoneID = {73, 127} -- Push local sms = { ["VD_ID"] = 98, -- Virtual Device ID ["VD_Button"] = "1", -- Virtual Device Button ["VG_Name"] = "SMS" -- Global Variable Name } local icons = { ["OK"] = 1028, -- Normal Icon ID ["Error"] = 1045 -- Error Icon ID } local DEVICES = { -- ["Service Name"] = { IP Address , Port, Protocol, Data to send, Expected return code, Expected data, Retry, {Notification methods}, VG, VG }, ["Eco-Devices"]                    = {"192.168.1.1",    80, "http", "/index1.htm",       200, "Eco Devices"            ,     1, {"push", "email", "sms"}, nil, nil}, ["HP ProLiant Remote Access Card"] = {"192.168.1.2",    80, "http", "/login.html",       200, "Remote Access Card"     ,     1, {        "email"       }, nil, {"Vacances", "1"}}, ["HP ProLiant Gen8 ILO"]           = {"192.168.1.3",   443, "tcp",  "",                  nil, ""                       ,     1, {        "email"       }, nil, nil}, ["ESXi"]                         = {"192.168.1.4",    80, "http", "/",                 301, ""                       ,     1, {"push", "email", "sms"}, nil, nil}, ["Synology DiskStation"]           = {"192.168.1.5",  5000, "http", "/webman/index.cgi", 200, "DiskStation"            ,     1, {"push", "email", "sms"}, nil, nil}, ["Raspberry PI"]                   = {"192.168.1.6",    80, "http", "/",                 200, "Welcome to nginx"       ,     1, {"push", "email", "sms"}, nil, nil}, ["Sonos"]                          = {"192.168.1.7",  1400, "http", "/status",           200, "Options"                ,     1, {"push", "email"       }, nil, {"Vacances", "1"}}, ["SMS Gateway"]                    = {"192.168.1.8",  9090, "http", "/",                 200, "Welcome to SMS Gateway" ,     5, {"push", "email"       }, nil, nil}, ["VRT-IP"]                         = {"192.168.1.9",    80, "http", "/",                 200, "Volets Roulant de Toit" ,     1, {"push", "email"       }, nil, nil}, ["IPX800"]                         = {"192.168.1.10",   80, "http", "/user/index2.htm",  200, "IPX800"                 ,     1, {"push", "email"       }, nil, nil}, ["Foscam"]                         = {"192.168.1.11",   88, "http", "/",                 200, "IPCam Client"           ,     1, {"push", "email", "sms"}, nil, {"Vacances", "0"}}, ["Hikvision"]                = {"192.168.1.12",   80, "http", "/doc/page/login.asp", 200, "login"                ,     1, {"push", "email", "sms"}, nil, nil}, ["HAproxy"]                        = {"192.168.1.13",   80, "http", "/",                 503, ""                       ,     1, {"push", "email", "sms"}, nil, nil}, ["FHEM"]                           = {"192.168.1.14", 8083, "http", "/fhem",             200, "EnOcean"                ,     1, {"push", "email", "sms"}, nil, nil}, ["Freebox"]                        = {"192.168.1.15",  80, "http", "/login.php",        200, "Freebox OS"             ,     1, {                 "sms"}, nil, nil}, ["OpenVPN"]                        = {"192.168.1.16",  443, "tcp",  "",                  nil, ""                       ,     1, {        "email", "sms"}, nil, nil}, ["Redhat"]                         = {"192.168.1.17",   22, "tcp",  nil,                 nil, "OpenSSH"                ,     1, {        "email"       }, nil, nil}, ["Google"]                         = {"www.google.fr",  80, "http", "/",                 200, "Recherche Google"       ,     1, {                 "sms"}, nil, nil}} } local debug = false userID : liste séparée par des virgules des ID des utilisateurs qui doivent recevoir des notification par email (le mail est celui configuré pour chaque utilisateur dans le panneau de contrôle d'accès) smartphoneID : liste séparée par des virgules des ID des smartphones qui doivent recevoir des notifications push (à  récupérer dans le toolkit de Krikroff ou via l'API : /api/iosDevices) sms : si vous avez une passerelle SMS sous Android avec SMS Gateway (ou équivalent) pilotée par un module virtuel, il faut renseigner ici les informations nécessaires. icons : si vous avez 2 icônes personnalisées, remplacer les valeurs nil par les ID numériques de vos icones (à  trouver dans /api/icons) DEVICES : c'est la partie la plus longue à  paramétrer, pour cela je vous ai laissé un exemple de tout ce que je monitore chez moi (j'ai juste changé les IP). C'est assez parlant, vous pouvez copier/coller en respectant bien la syntaxe. A noter que si l'avant-dernière colonne qui contient le nom facultatif d'une variable globale à  incrémenter, celle-ci est automatiquement créée par le module. La dernière colonne permet d'annuler le monitoring d'un équipement particulier en fonction de la valeur d'une variable globale. debug : true ou false afin d'activer l'affichage étendu dans la fenêtre de débugage du bouton du module virtuel.   Dans la Main Loop, le code est de Steven. Il y a une variable nbHeure permettant de paramétrer l'intervalle de vérification, par défaut à  1 heure. Si vous voulez un rafraichissement inférieur à  40 minutes, il suffit de tout remplacer par un simple fibaro:sleep(), car cette fonction ne plante pas pour les durées inférieures.   Network_Monitor_v1.01.vfib Network_Monitor_v1.10.vfib Network_Monitor_v1.20.vfib