Page 1 sur 2

script lua presence personne

Publié : 01 oct. 2016, 22:14
par PTJ75
bonsoir, j'ai actuellmennt un script lua qui envoie un ping aux téléphone portables
j'ai une erreur dans le script.je ne vois pas pourquoi.de plus un telephone est un samsung ; il ne repondrait pas ping
Quelqu'un a t-il une astuce ou alors un script qui marche
merci

Re: script lua presence personne

Publié : 01 oct. 2016, 22:42
par Gaz
Bonsoir,
Testé sur des iPhones, lors de leurs mises en veilles le ping passe plus, par contre à chaque fois qu'ils stimule le réseaux (check mails toutes les seins...) ou que l'on utilise le tel,le ping fonctionne.
Idem sur ton samsung ????

Re: script lua presence personne

Publié : 02 oct. 2016, 12:59
par PTJ75
le ping ne passe pas du tout sur le samsung
apres j'ai un souci avec le script

Re: script lua presence personne

Publié : 02 oct. 2016, 13:34
par PTJ75
avec un archos, le ping passe mais les interrupteurs ne change pas d'état.
Apres, il faut peut être activé le wifi lorsque le telephone est en veille

Re: script lua presence personne

Publié : 02 oct. 2016, 14:18
par vil1driver
Salut,

Sinon tu as les beacons dont Patrice nous parlait tout récemment ;)

Re: script lua presence personne

Publié : 02 oct. 2016, 14:31
par PTJ75
sur iphone ,ca marche , dans le log succes.
Pour le sansung, rien à faire
Pour l'archos, c'est aléatoire.Meme avec l'option du wifi en marche lorsque l'appareil est en veille.
les interrupteurs ne marche pas, ils ne sont pas raffraichit; ils restent toujours en off.
j'ai regardé les beacons de patrice, je ne vois rien qui cloche au niveau des inters.

Re: script lua presence personne

Publié : 04 oct. 2016, 12:29
par Xynka
Bonjour à vous,

J'essaye tant bien que mal de faire fonctionner un script de détection par ip. J'ai réussi à le faire fonctionner mais il ne fonctionne uniquement que pour moi...(smartphone damien). J'ai mis des print dans tous les sens mais je ne trouve pas mon erreur ... Quelqu'un pourrait m'aider ?

Le script:

Code : Tout sélectionner

--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.62']='Smartphone Damien'
ping['192.168.1.23']='Smartphone Coco'
ping['192.168.1.64']='RaspberryPI'


--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)

switchname=tostring(switch)
val_otherdevices=otherdevices[switchname]

 if(debug==true)then
    print(switchname)
    print(val_otherdevices)
    print(otherdevices["Smartphone Coco"])
   end

 --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(val_otherdevices=='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(val_otherdevices=='On') then
    commandArray[switch]='Off' 
   end
 end


end




return commandArray
Le log:

Code : Tout sélectionner

 2016-10-04 12:21:01.388 LUA: Smartphone Damien
2016-10-04 12:21:01.388 LUA: On
2016-10-04 12:21:01.388 LUA: (PING) ping fail Smartphone Damien
2016-10-04 12:21:01.399 LUA: RaspberryPI
2016-10-04 12:21:01.399 LUA: (PING) ping success RaspberryPI
2016-10-04 12:21:02.409 LUA: Smartphone Coco
2016-10-04 12:21:02.409 LUA: (PING) ping fail Smartphone Coco
2016-10-04 12:21:02.410 EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_presence.lua
2016-10-04 12:21:03.119 (Dummy) Light/Switch (Smartphone Damien) 
Merci d'avance !

PS: je n'ai pas recréer de message pour éviter un doublon sur la même question.

Re: script lua presence personne

Publié : 04 oct. 2016, 19:40
par glybra
bonsoir,
en voila un qui marche chez moi , si cela peut le faire pour vous.
_________________________________
--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.x.00']='xxxx'
ping['192.168.x.xx']='xxxx'
ping['192.168.x.00']='xxxx'
ping['192.168.x.00']='xxxx'
--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

Re: script lua presence personne

Publié : 04 oct. 2016, 19:44
par vil1driver
Salut,

C'est le même :D

Ce message juste pour rappeler qu'utiliser les balises code (le bouton au dessus de la zone de saisie) aide à la mise en forme :)

Re: script lua presence personne

Publié : 04 oct. 2016, 21:07
par Xynka
Salut !!

En fait le mien fonctionne... Il suffisait de reboot le serveur ! LOL ;)