LUA Alarme pbl avec état des portes Open/Closed

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 <\>.
tomaprice
Messages : 14
Inscription : 10 nov. 2017, 15:10

LUA Alarme pbl avec état des portes Open/Closed

Message par tomaprice »

Bonjour à tous,
Je fais tourner un script LUA pour déclencher les sirènes en cas d'intrusion. Jusqu'à maintenant le script fonctionnait. Mon problème est que depuis quelques jours, l'alarme ne se déclenche plus lorsqu'une porte ou une fenêtre est ouverte quand l'alarme est activée. Pour tester, j'ai modifié l'état 'Open' par 'Closed' dans mon script et là ça fonctionne quand les portes et fenêtres sont fermées... Il y a un pbl avec l'état 'Open'. j'ai essayé avec 'On' et 'Off' au cas où mais ça ne marche pas.

Quelqu'un à déjà rencontré ce pbl ? Sachant que dans les logs de mes portes et fenêtres, j'ai bien mes changements d'état On/Off aux ouvertures et fermetures.

Code : Tout sélectionner

if (devicechanged['Activation_alarme'] == 'Arm Home' and otherdevices['Xiaomi_Porte_entree'] == 'Open') then
      print('Attention intrusion par la porte d\'entrée')
      commandArray[1]={['Xiaomi_Gateway_Volume']='On'}
      commandArray[2]={['Xiaomi_Gateway_Volume']='Set level 50'}
      commandArray['Xiaomi_Gateway_alarme_sonnerie'] = 'Set Level 20'
      print('Sirène Gateway ON')
      commandArray['SendEmail'] = 'Alarme#Attention intrusion par la porte d\'entrée#email@free.fr'
end
De plus mes notifications en pushover ne fonctionnent plus... Je passe par la notification mail du coup... mais ça marchait avant.
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: LUA Alarme pbl avec état des portes Open/Closed

Message par thier »

J'ai un problème avec cette ligne,
if (devicechanged['Activation_alarme'] == 'Arm Home' and otherdevices['Xiaomi_Porte_entree'] == 'Open') then
Je la comprends si j'active l'alarme et que la porte d'entrée est ouverte, je sonne. Ors ce n'est pas ce que tu veux puisque tu dis "l'alarme ne se déclenche plus lorsqu'une porte ou une fenêtre est ouverte quand l'alarme est activée"
Je pencherais plutôt pour si ma porte s'ouvre et que l'alarme est activée, je sonne. Ce qui donnerai
if (devicechanged['Xiaomi_Porte_entree'] == 'Open' and otherdevices['Activation_alarme'] == 'Arm Home' ) then
Pour debugguer ton script tu mets des print un peu partout qui te permettront de savoir ou ça coince. ça te permettra aussi de poser des questions plus précises sur le forum.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
tomaprice
Messages : 14
Inscription : 10 nov. 2017, 15:10

Re: LUA Alarme pbl avec état des portes Open/Closed

Message par tomaprice »

Putain mais oui !!!
C'est logique et en plus ça marche ! :D
Ce qui est étrange c'est que ça fonctionnait quand même avant... :roll: bisarre :ugeek: .
Merci beaucoup !!!
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: LUA Alarme pbl avec état des portes Open/Closed

Message par landaisbenj »

tomaprice a écrit :C'est logique et en plus ça marche !
Bah oui c'est logique DONC ca fonctionne lol

Si ça fonctionnait c'est peut être parce que dans ton script tu as d'autre condition qui active Activation_Alarme a Arm Home au moment ou la porte d’entrée est ouverte?
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
tomaprice
Messages : 14
Inscription : 10 nov. 2017, 15:10

Re: LUA Alarme pbl avec état des portes Open/Closed

Message par tomaprice »

Non même pas... peut-être que j'avais inversé devicechanged et otherdevices sans m'en rendre compte... :?
Merci de ton aide en tout cas.
Pour les notifications pushover par contre j'avoue ne pas comprendre... ça marchait très bien jusqu'à fin janvier et depuis ça ne passe plus. J'arrive à contourner via le mail mais bon c'est bizarre quand même...
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: LUA Alarme pbl avec état des portes Open/Closed

Message par thier »

Explique comment tu fais tes push et on va t'aider. Moi ça fonctionne.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
tomaprice
Messages : 14
Inscription : 10 nov. 2017, 15:10

Re: LUA Alarme pbl avec état des portes Open/Closed

Message par tomaprice »

bah j'avais trouvé le script en lua qui fonctionnait bien et maintenant j'ai un message d'erreur dans les logs. J'ai pas le script sous les yeux la mais c'était un truc du genre commandArray['SendNotification'] = sujet#message#pushover
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: LUA Alarme pbl avec état des portes Open/Closed

Message par thier »

Erreur de ma part c'est pas pushover que j'utilise mais pushbullet.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
tomaprice
Messages : 14
Inscription : 10 nov. 2017, 15:10

Re: LUA Alarme pbl avec état des portes Open/Closed

Message par tomaprice »

la syntaxe doit être quasi identique non ?
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: LUA Alarme pbl avec état des portes Open/Closed

Message par thier »

Je ne procède pas de la même manière.
J'utilise une variable de type chaine. Cette variable est renseignée par le script lua qui a besoin d'envoyer une alerte.
Par exemple commandArray ['Variable:pushbullet']='Signal de la sonde extérieure perdu'
J'ai un script device qui est déclenché chaque fois que la variable est renseignée

Code : Tout sélectionner

--[[
script_device_pushbullet.lua
Envoi une notification Pushbullet si la uservariable 'pushbullet' n'est pas égal à zéro et la connexion internet est ok.
Après envoi, remise à zéro de la uservariable 'pushbullet'.

On utilise tostring(uservariables["etatboxadsl"]) == '0' pour ne pas diffuser d'alerte si la connexion adsl n'est pas ok
--]]

commandArray = {}

if (uservariables["pushbullet"] ~= '0' and tostring(uservariables["etatboxadsl"]) == '0' ) then
	local titre = 'Domoticz'
	local message = uservariables["pushbullet"]

  	-- Run curl command
  	print("envoi notification pushbullet: " .. message)
 	envoi_succes = os.execute ('/home/pi/domoticz/scripts/sh/pushbullet_touslesappareils.sh "'..titre..'" "'..message..'" ')

  	if envoi_succes then
    	print("envoi notification pushbullet : success")
    	-- RAZ de la uservariable pushbullet 
   	 commandArray['Variable:pushbullet'] = '0'
 	else
    	print("envoi notification pushbullet: échec")
  	end
end

return commandArray
Ce script fait appel à un script sh qui gère l'envoi des push

Code : Tout sélectionner

#!/bin/bash
api= "ton apitoken pushbullet
title="$1"
body="$2"
curl -u $api: https://api.pushbullet.com/v2/pushes -d type=note -d title="$title" -d body="$body"
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Répondre