Page 2 sur 2

Re: verifier si les portes et fenêtres sont fermées avant activation de l'alarme.

Publié : 13 nov. 2017, 14:03
par landaisbenj
revers59 a écrit :Moi j'en suis là maintenant avec mes 3 switchs planqués

le script qui permet de voir si tous les accès sont fermés avant l'activation de l'alarme

...

le script qui permet d'éteindre l'alarme
...

le script blocky pour être informé d'une intrusion en cas d'abscence
Image


Comme l'alarme xiaomi sonne que quelques secondes j'ai opté pour ça pour la faire sonner plus longtemps :

dans une scene :

...

et une scene temporise en ARM away uniquement pour pouvoir rentrer chez soi :)
Celle ci n'est pas utilisée dans mon Arm Home

...

Reste à faire :
j'a aussi un petit raspberry pi qui gère les video et la musique sous la TV relié à un ampli, il faut que je trouve le moyen de reproduire wles action d'alimentation de l'appli Yatse qui fait du CEC : veille et CEC: Activation pour pouvoir allumer l'ampli si une porte ou une fenêtre s'ouvre en mon absence car l'alarme xiaomi seule ne me convient pas forcement.
Bonjour.

Une petite question, y a t'il une raison de faire et du LUA et du Blockly ?

[EDIT]
Du coup avec tout ce que j'ai appris avec vous j'ai voulu le coder en LUA. Je pense que les raccourcis que je prend peuvent permettre de comprendre un peu plus loin la table devicechanged et la fonction sub:

Code : Tout sélectionner

commandArray = {}

if globalvariables['MySecurityDevice'] = 'Armed Away' and devicechanged[next(devicechanged)]=='On') then
	if devicechanged['détecteur mouvement salon']) then
		commandArray['Scene:alarme xiaomi']='On'
		ca['SendNotification']='Detecteur presence salon'
	elseif (tostring(next(devicechanged))):sub(1,19)=='Xiaomi Door Sensor '
		commandArray['Scene:alarme xiaomi']='On'
		ca['SendNotification']='Ouverture '..(tostring(next(devicechanged))):sub(19)
	end
end

return commandArray
Par contre attention je n'ai rien testé. Je ne sais meme pas si ca peut fonctionner. Mais si il n'y a pas de faute de synthaxe ca devrait aller. (en faite j'ai juste tester la fonction sub:

(tostring(next(devicechanged))):sub(1,19)=='Xiaomi Door Sensor ';
(tostring(next(devicechanged))):sub(19))