Hyper débutant domoticz script_time.lua

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
philmasse50
Messages : 15
Inscription : 29 mai 2017, 01:05
Localisation : Manche FRANCE

Hyper débutant domoticz script_time.lua

Message par philmasse50 »

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
philmasse50
Messages : 15
Inscription : 29 mai 2017, 01:05
Localisation : Manche FRANCE

Re: Hyper débutant domoticz script_time.lua

Message par philmasse50 »

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

Message par bruno_ghost17 »

salut,

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

Message par philmasse50 »

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
philmasse50
Messages : 15
Inscription : 29 mai 2017, 01:05
Localisation : Manche FRANCE

Re: Hyper débutant domoticz script_time.lua

Message par philmasse50 »

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

Message par vil1driver »

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
philmasse50
Messages : 15
Inscription : 29 mai 2017, 01:05
Localisation : Manche FRANCE

Re: Hyper débutant domoticz script_time.lua

Message par philmasse50 »

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
Répondre