Dans cette article, on va créer des interrupteurs virtuels sur Domticz qui vont représenter les téléphones connectés sur le Wifi de votre box.
Exemple : On voit que mon téléphone est connecté sur le wifi donc je suis chez moi et ma copine est au travail, donc son téléphone est hors-ligne. On va commencé par créer nos boutons virtuels.
Crée un Matériel virtuel de type « Dummy (Does nothing, use for virtual switch only »). Nommez-le comme vous voulez, pour moi ça sera Dummy dev, cliquez sur ajoutez, on va à présent crée les interrupteurs virtuels, Interrupteur/Ajout manuel.
Sélectionner Hardware: Dunny dev ( pour vous le nom que vous lui avez donnez) Switch Type: on/off Type: X10, puis add Devices refaite l’opération pour un deuxième téléphone en changeant juste le unit code. Maintenant il faut installer le sctipt sur le serveur. On connecte le pi en SSH avec putty, il faut mettre le script dans le repertoire /home/pi/domoticz/scripts/lua et le nommer « script_time_ping.lua ».
Pour crée un dossier, on va taper :
sudo nano /home/pi/domoticz/scripts/lua/script_time_ping.lua
Et on va copier ce scripte modifié avec vos paramètre :
--Initialise la commande de retour finale
commandArray={}
--Mode deboggage (affichage des messages)
debug=true
--Prefixe pour les sorties de log
prefixe="(PING) "
--Tableau des périphériques à "pinguer"
-- Key = adresse ip à pinguer
-- Value = périphérique virtuel à switcher
local ping={}
ping['192.168.1.56']='Tel aurelien'
ping['192.168.1.20']='NAS'
ping['192.168.1.39']='Tel chaton'
--pour chaque entree du tableau
for ip, switch in pairs(ping) do
--Le Ping ! : -c1 = Un seul ping , -w1 délai d'une seconde d'attente de réponse
ping_success=os.execute('ping -c1 -w1 '..ip)
--Si le ping à répondu
if ping_success then
if(debug==true)then
print(prefixe.."ping success "..switch)
end
--si le switch etait sur off on l'allume
if(otherdevices[switch]=='Off') then
commandArray[switch]='On'
end
else
--Si pas de réponse
if(debug==true)then
print(prefixe.."ping fail "..switch)
end
--si le switch etait sur oN on l'eteind
if(otherdevices[switch]=='On') then
commandArray[switch]='Off'
end
end
end
Sources du script ici
Vous modifiez les lignes avec les adresses ip CTRL X pour sauvegarder.
On est maintenant capable de savoir si nos téléphones sont présent cela marche aussi avec un pc ou un nas il suffit juste de créer un interrupteur et de rentrer l’ip dans le script.
source : http://www.geekland-leblog.fr/