script lua presence personne

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
PTJ75
Messages : 30
Inscription : 23 sept. 2015, 08:53

script lua presence personne

Message 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
Gaz
Messages : 224
Inscription : 17 oct. 2015, 10:30

Re: script lua presence personne

Message 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 ????
PTJ75
Messages : 30
Inscription : 23 sept. 2015, 08:53

Re: script lua presence personne

Message par PTJ75 »

le ping ne passe pas du tout sur le samsung
apres j'ai un souci avec le script
PTJ75
Messages : 30
Inscription : 23 sept. 2015, 08:53

Re: script lua presence personne

Message 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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: script lua presence personne

Message par vil1driver »

Salut,

Sinon tu as les beacons dont Patrice nous parlait tout récemment ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
PTJ75
Messages : 30
Inscription : 23 sept. 2015, 08:53

Re: script lua presence personne

Message 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.
Xynka
Messages : 3
Inscription : 04 oct. 2016, 12:24

Re: script lua presence personne

Message 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.
glybra
Messages : 95
Inscription : 05 avr. 2015, 12:58

Re: script lua presence personne

Message 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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: script lua presence personne

Message 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 :)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Xynka
Messages : 3
Inscription : 04 oct. 2016, 12:24

Re: script lua presence personne

Message par Xynka »

Salut !!

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