Bonjour
Je viens vers vous pour comprendre, voici mon problème :
J'essaie d mettre en place sur mon domoticz (sous rasberry pi), un détecteur de presence de mon smartphone, j'ai adapté le script (vu sur le forum), j'ai mis des pro=int pour voir mais rienau niveau du "LOG", j'ai bien placé le script dans le dossier LUA.
voici le script
commandArray = {}
ping_success=os.execute(‘sudo arping -q -c3 192.168.1.76 -W 1’)
if ping_success then
if ( otherdevices[‘Presence Fabrice’] == ‘Off’) then
commandArray[‘Presence Fabrice’]=’On’
end
else
if (otherdevices[‘Presence Fabrice’] == ‘On’) then
commandArray[‘Presence Fabrice’]=’Off’
end
end
ping_success=os.execute(‘sudo arping -q -c5 192.168.1.22 -W 1’)
if ping_success then
if ( otherdevices[‘Presence Valerie’] == ‘Off’) then
commandArray[‘Presence Valerie’]=’On’
end
else
if (otherdevices[‘Presence Valerie’] == ‘On’) then
commandArray[‘Presence Valerie’]=’Off’
end
end
return commandArray
je n'ai rien, je ne trouve pas de solution, merci de m'aider même si je suis sur que le problème est évident pour vous.
MERCI
Hyper débutant domoticz script_time.lua
-
philmasse50
- Messages : 15
- Inscription : 29 mai 2017, 01:05
- Localisation : Manche FRANCE
-
philmasse50
- Messages : 15
- Inscription : 29 mai 2017, 01:05
- Localisation : Manche FRANCE
Re: Hyper débutant domoticz script_time.lua
bien sur, j'ai adapté l'IP et le nom de la commande
-
bruno_ghost17
- Messages : 97
- Inscription : 01 févr. 2016, 18:56
- Localisation : Rochefort(17)
Re: Hyper débutant domoticz script_time.lua
salut,
moi je fais avec ping_success=os.execute('ping -c1 192.168.151.18')
commande qui semble etre differente de la tienne.
Bruno.
moi je fais avec ping_success=os.execute('ping -c1 192.168.151.18')
commande qui semble etre differente de la tienne.
Bruno.
Raspi 2 - RFxCom - sondes Oregon
-
philmasse50
- Messages : 15
- Inscription : 29 mai 2017, 01:05
- Localisation : Manche FRANCE
Re: Hyper débutant domoticz script_time.lua
merci de ta réponse
j'ai changé le fichier mais toujours rien, normalement je dois voir quelque chose dans la liste de LOG de domoticz, je ne vois rien, comment savoir si le script est exécuté, merci pour vos aides.
voici mon script, il est dans le dossier domoticz/scripts/lua/script_time_presence_xiaomi.lu
commandArray = {}
print("couc cou debit du script")
ping_success=os.execute(‘ping -c1 192.168.1.44’)
if ping_success then
if ( otherdevices[‘Presence’] == ‘Off’) then
commandArray[‘Presence’]=’On’
end
else
if (otherdevices[‘Presence’] == ‘On’) then
commandArray[‘Presence’]=’Off’
end
end
print("script xiaomo lu")
print("coucouc philippe")
return commandArray
j'ai changé le fichier mais toujours rien, normalement je dois voir quelque chose dans la liste de LOG de domoticz, je ne vois rien, comment savoir si le script est exécuté, merci pour vos aides.
voici mon script, il est dans le dossier domoticz/scripts/lua/script_time_presence_xiaomi.lu
commandArray = {}
print("couc cou debit du script")
ping_success=os.execute(‘ping -c1 192.168.1.44’)
if ping_success then
if ( otherdevices[‘Presence’] == ‘Off’) then
commandArray[‘Presence’]=’On’
end
else
if (otherdevices[‘Presence’] == ‘On’) then
commandArray[‘Presence’]=’Off’
end
end
print("script xiaomo lu")
print("coucouc philippe")
return commandArray
-
philmasse50
- Messages : 15
- Inscription : 29 mai 2017, 01:05
- Localisation : Manche FRANCE
Re: Hyper débutant domoticz script_time.lua
le nom du script est bien un ".lua" et pas un ".lu"
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Hyper débutant domoticz script_time.lua
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
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
-
philmasse50
- Messages : 15
- Inscription : 29 mai 2017, 01:05
- Localisation : Manche FRANCE
Re: Hyper débutant domoticz script_time.lua
Bonjour
Mon problème venait de l'emplacement du fichier, je le mettai dans le dossier domoticz de PI, je l'ai placer dans domoticz de home et oh miracle..... mais , oui il ya un mais
J'ai une erreur "lua:33: unexpected symbol near char(194)" dans LOG de domoticz
que signifie cette erreur
voici le script
-- Alexandre DUBOIS - 2014
-- Ce script vérifie la présence de 2 téléphones sur le réseau pour savoir si quelqu'un est là.
-- La vérification est effectuée une fois par minute tant qu'aucun téléphone n'est à portée,
-- puis une fois toute les 10 minutes quand au moins un téléphone est connecté pour ne pas trop stresser sa batterie.
commandArray ={}
--Cette fonction calcule la différence de temps (en secondes) entre maintenant
--et la date passée en paramètre.
function timedifference (s)
year=string.sub(s, 1, 4)
month=string.sub(s, 6, 7)
day=string.sub(s, 9, 10)
hour=string.sub(s, 12, 13)
minutes=string.sub(s, 15, 16)
seconds=string.sub(s, 18, 19)
t1=os.time()
t2=os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference=os.difftime (t1, t2)
return difference
end
--Si le téléphone n'est pas détecté ou qu'il est présent depuis plus de 10 minutes (600 secondes),
--alors on vérifie à nouveau sa présence
if (otherdevices['Presence']=='Off' or (otherdevices['Presence']=='On' and timedifference(otherdevices_lastupdate['Presence']) > 600)) then
ping_success_tel1=os.execute('ping -c1 192.168.1.44')
ping_success_tel2=os.execute('ping -c1 192.168.1.54')
if ping_success_tel1 or ping_success_tel2 then
commandArray['Presence']='On'
else
if otherdevices['Presence']=='On' then --On ne passe l'interrupteur virtuel à Off que s'il est sur On.
commandArray['Presence']='Off
end
end
end
return commandArray
Merci à TOUS
Mon problème venait de l'emplacement du fichier, je le mettai dans le dossier domoticz de PI, je l'ai placer dans domoticz de home et oh miracle..... mais , oui il ya un mais
J'ai une erreur "lua:33: unexpected symbol near char(194)" dans LOG de domoticz
que signifie cette erreur
voici le script
-- Alexandre DUBOIS - 2014
-- Ce script vérifie la présence de 2 téléphones sur le réseau pour savoir si quelqu'un est là.
-- La vérification est effectuée une fois par minute tant qu'aucun téléphone n'est à portée,
-- puis une fois toute les 10 minutes quand au moins un téléphone est connecté pour ne pas trop stresser sa batterie.
commandArray ={}
--Cette fonction calcule la différence de temps (en secondes) entre maintenant
--et la date passée en paramètre.
function timedifference (s)
year=string.sub(s, 1, 4)
month=string.sub(s, 6, 7)
day=string.sub(s, 9, 10)
hour=string.sub(s, 12, 13)
minutes=string.sub(s, 15, 16)
seconds=string.sub(s, 18, 19)
t1=os.time()
t2=os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference=os.difftime (t1, t2)
return difference
end
--Si le téléphone n'est pas détecté ou qu'il est présent depuis plus de 10 minutes (600 secondes),
--alors on vérifie à nouveau sa présence
if (otherdevices['Presence']=='Off' or (otherdevices['Presence']=='On' and timedifference(otherdevices_lastupdate['Presence']) > 600)) then
ping_success_tel1=os.execute('ping -c1 192.168.1.44')
ping_success_tel2=os.execute('ping -c1 192.168.1.54')
if ping_success_tel1 or ping_success_tel2 then
commandArray['Presence']='On'
else
if otherdevices['Presence']=='On' then --On ne passe l'interrupteur virtuel à Off que s'il est sur On.
commandArray['Presence']='Off
end
end
end
return commandArray
Merci à TOUS