
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.
Nécessitez pas à poser vos question dans les commentaires.
j ai Domoticz sur un Nas synology
ou je place je Script Merci
dans quelle chemine si on peux me mettre l arborescence
en merci
J’ai jamais utilisé Domoticz sur Synology mais je pense que ça doit être dans un dossier du genre /domoticz/scripts/lua/
salut Aurelien33
moi aussi je pensais ça sauf que je trouve pas de dossier Domoticz rien de tous ça !!
tous recherche d aide help mye
Ps:le 33 pour ta région ?
Je vais regarder si je trouve des info,
ps : Oui 33 c’est pour la Gironde ^^
je suis de Bordeaux merci Aussi merci Aurelien
Cool de rien
Bonjour, moi aussi j’avais installé Domoticz à partir d’un SPK sous Synology, mais maintenant je l’ai installé en Chroot sur le synology bien plus pratique ! Pour trouver Domoticz avec le SPK, il faut se connecter en SSH sur le Syno et vous le trouverez sous usr/local/domoticz/. Un Script comme celui la doit être placé dans “script/lua”
Voili, voilou….
bonjour j’ai essayée le script que vous proposé et moi sa ne fonctionne pas il me le met tous le temp en off j’ai pourtant une adresse ip fixe est ce quil faut régler quelque chose dans les log domoticz apres ? faut t’il relancer le serveur ?merci
faut til un rfx com pour que cela fonctionne
Dessolé de la réponse si tardive, non par besoin de Rfxcom avez vous bien mis votre IP dans Le script et nommer le le tel de la même façon dans le script et dans Domoticz ?
Merci pour toutes ces infos, voici une bonne lecture. J’ai appris différentes choses en vous lisant, merci à vous. Bonne journée à tout le monde ! Fabienne Huillet neonmag.fr
Génial vraiment.
Je cherchais désespérément un commande qui m’informe en cas d’arrêt des cameras, là c’est nickel.
J’ai juste inverser les ordres de façon à ce que l’interrupteur passe sur on quand ping erreur.
L’inter associer à un mail et voilà.
MERCI
de rien avec plaisir.
bonjour et merci pour ces explications et ce script.
je rencontre un fonctionement etrange, En effet toutes les minutes l’interupteur passe de ON a OFF…
J’ai raté queqlue chose ?
pour info je suis sur la derniere version de Domoticz sous W7
merci pour votre aide.
bonjour et merci pour ce script.
je me suis permis de le modifier afin de l’adapter a Windows.
en effet Domoticz tourne sous l’OS Microsoft et j’avais pas mal de soucis le ping fonctionnait mal. Un Unixien m’a fait remarquer que les commutateur et valeur d’attentes etaient differents…
voici donc une version adaptée:
–https://www.geekland-leblog.fr/gestion-des-event-detection-de-presence/
–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.100.2′]=’Droid-Toto’
ping[‘192.168.100.12′]=’Prise-WiFi’
ping[‘192.168.100.16′]=’Droid-Titi’
ping[‘192.168.100.17′]=’Droid-Tata’
ping[‘192.168.100.254′]=’BoxInternet’
–pour chaque entree du tableau
for ip, switch in pairs(ping) do
if (debug==true)then
print(“===> “..switch,ip)
end
–Le Ping ! : -n 1 = Un seul ping , -w 1000 délai (miliseconde) d’attente de réponse
ping_success = os.execute(“ping -n 1 -w 1000 “..ip)
–Si le ping a 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
Salut depuis le temps ça ne t’intéresse peut être pas de le savoir, mais dans les materiel de domoticz il y en a qui s’appelle “System Alive Checker (Ping)”
je crois que enfete ça fait la même chose que le scripte ^^
Je vais tester avec mon tel mais pour l’instant ça a l’air de fonctionner
Une précision : vérifier la gestion de l’alimentation de votre smartphone => le wifi doit rester actif lorsque l’appareil passe en veille sinon off assuré !
Hello,
Merci pour ce partage.
Juste un message qui pourrait servir a d’autres.
A la création de mes devices dans Domoticz, il faut bien compter 10min avant que le script commence a les prendre en compte. Ca me le fait a chaque fois que j’ajoute un nouveau device a “pinguer”.
Deuxième point, il manque “return commandArray” a la fin du script.
Et enfin, je suis sous synology, le scripts se trouvent dans :
/volume1/@appstore/domoticz/var/scripts/lua
@++
Seb
Bonjour,
J’ai mis dans mon synology via putty en SSH:
sudo nano /volume1/@appstore/domoticz/var/scripts/lua/script_time_ping.lua
réponse “command not found”
sudo nano /volume1/usr/local/domoticz/var/scripts/lua/script_time_ping.lua
car dans le journal, l’appli est installé ici :
/usr/local/domoticz/
réponse “sudo : nano: command not found”