Domoticz détection de présence par ip sur Domoticz

 

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.

tel_domoticz

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.

dunidev

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.

add tel

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.

20 Comments
  1. Reply
    bob41 08/03/2015 at 17:23

    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

    • Reply
      aurelien33 08/03/2015 at 19:08

      J’ai jamais utilisé Domoticz sur Synology mais je pense que ça doit être dans un dossier du genre /domoticz/scripts/lua/

      • Reply
        bob41 08/03/2015 at 20:41

        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 ?

        • aurelien33 08/03/2015 at 23:37

          Je vais regarder si je trouve des info,
          ps : Oui 33 c’est pour la Gironde ^^

        • bob41 09/03/2015 at 06:32

          je suis de Bordeaux merci Aussi merci Aurelien

        • aurelien33 09/03/2015 at 11:36

          Cool de rien

  2. Reply
    jec_44 18/03/2015 at 07:18

    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….

  3. Reply
    damien 17/05/2015 at 18:16

    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

  4. Reply
    damsi 17/05/2015 at 18:56

    faut til un rfx com pour que cela fonctionne

    • Reply
      aurelien33 19/05/2015 at 09:33

      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 ?

  5. Reply
    Huillet 30/05/2015 at 06:47

    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

  6. Reply
    Sam 26/10/2015 at 09:29

    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

    • Reply
      aurelien33 27/10/2015 at 10:35

      de rien avec plaisir.

  7. Reply
    toups 22/01/2016 at 18:20

    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.

  8. Reply
    toups 29/01/2016 at 11:44

    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

  9. Reply
    lainiwaku 29/10/2016 at 21:53

    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

  10. Reply
    cbond19 07/11/2016 at 11:48

    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é !

  11. Reply
    Seb 11/11/2016 at 16:00

    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

  12. Reply
    algue 06/10/2017 at 20:27

    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”

    • Reply
      algue 06/10/2017 at 21:04

      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”

Leave a reply

Register New Account
Reset Password
Compare items
  • Cameras (0)
  • Phones (0)
Compare
0