Page 1 sur 1

[Résolu] Séries de Bips sur évenement capteur

Publié : 18 juil. 2020, 21:23
par Sisiphe
Bonjour,

Je suis débutant dans Domoticz et je suis en train de me fabriquer une alarme filaire à l'aide d'un Raspberry pi 3 et de son GPIO. La détection d'ouverture de porte et la sirène fonctionne très bien.

J'aimerais ajouter un peu de préventif avant que ma porte ne soit forcée en générant une série de bips sirène après détection de chocs ou vibrations sur la porte (Module filaire SW-18010P raccordés au GPIO) mais je n'y parviens pas.

J'ai tout d'abord tenté avec Blockly, sans succès, j'obtiens bien le premier bip mais je n'ai pas trouvé comment répéter plusieurs bips.
Je suis ensuite passé par LUA et dzVents mais je bloque au même endroit, 1 seul bip, j'ai tenté des boucles "repeat", "while" sans succès.
J'ai recherché des solutions toute l'après-midi, j'ai trouvé un tas de trucs et de nouvelles idées domotiques grâce à ce super forum mais je n'ai rien trouvé de probant à ce sujet, et je ne sais plus trop avec quels mots clés rechercher.

Comme modèle concret, ma moto est protégée par une alarme. Dans un espace temps d' 1 minute, au premier contact, elle émet 1 bip d'une demie seconde, au deuxième contact, une rafale de 5 bips bien prononcés, et au troisième contact, ça sonne très fort. J'aimerais bien parvenir aux mêmes effets préventifs. De plus quand je l'amorce = 1 bip, et lorsque je la désamorce = 4 bips.

Sauriez-vous m'aider et m'indiquer des pistes à explorer ?
Merci d'avance

PS: pour info, avec dzVents voilà schématiquement ce qui fonctionne, je vous évite les boucles qui ne fonctionnaient pas :

Code : Tout sélectionner

return {
	on = {
		devices = {
			'entree_porte_choc'
		}
	},
    execute = function(domoticz, switch)
    		if (switch.state == 'Closed') then
domoticz.devices('entree_porte_buzzer').switchOn().forSec(0.1)
Jusque là, ça fonctionne ^^
Je pensais initialement qu'en doublant la même ligne en dessous, ça allait le faire, et non !!!

Re: Séries de Bips sur évenement capteur

Publié : 18 juil. 2020, 21:54
par Keros
Je ne pense pas que tu puisses directement en lua ou DZvents.

Regarde peut-être avec un script sh qui commande le GPIO : il me semble que tu peux indiquer des durées en secondes ou millisecondes.

Re: Séries de Bips sur évenement capteur

Publié : 18 juil. 2020, 22:03
par vil1driver
Salut

Lua permet pas mal de choses tout de même

Code : Tout sélectionner

commandArray['DeviceName']="On FOR 2 SECONDS REPEAT 9 INTERVAL 4 SECONDS" -- Passe un device a ON durant 2 secondes 9 fois toutes les 4 secondes


Re: Séries de Bips sur évenement capteur

Publié : 18 juil. 2020, 23:02
par Keros
Pardon, j'ai écrit une bêtise :roll:

Re: Séries de Bips sur évenement capteur

Publié : 19 juil. 2020, 19:22
par Sisiphe
Bonjour et Merci à vous 2 pour vos réponses.

@ Keros, je ne sais pas si tu as écrit une bêtise, je n'ai pas testé, mais je garde l'idée éventuelle du script sh au cas ou. De plus, durant mes recherches d'hier, j'ai découvert tes articles "Mon projet, mon matos & des infos", c'est très riche en infos, et très profitable pour le néophyte Domotics que je suis.

@vil1driver, cette piste m'a permis de découvrir la liste des "commandArray", super, et ta solution fonctionne parfaitement.

Puis j'ai farfouillé du côté de DzVents avec les éléments puisés des commandes Array de Lua , et j'ai trouvé ce que je cherchais, voici le code si ça peut aider:

Code : Tout sélectionner

domoticz.devices(''DeviceName'').switchOn().forSec(0.1).repeatAfterSec(0.2, 2)  -- Passe le device a ON durant 0,1 seconde, puis 2 fois toutes les 0,2 secondes 

Encore un grand merci à vous deux pour votre temps et votre aide.
A bientôt

Re: [Résolu] Séries de Bips sur évenement capteur

Publié : 19 juil. 2020, 21:24
par Keros
Sisiphe a écrit : 19 juil. 2020, 19:22 De plus, durant mes recherches d'hier, j'ai découvert tes articles "Mon projet, mon matos & des infos", c'est très riche en infos, et très profitable pour le néophyte Domotics que je suis.
C'est fait pour !! Et si tu as des questions, il ne faut pas hésitez.

Je n'avais pas vu qu'on l'on pouvait indiquer des durées en dessous de la seconde. Merci pour l'info ;)

Re: [Résolu] Séries de Bips sur évenement capteur

Publié : 20 juil. 2020, 13:28
par Sisiphe
Message reçu 5/5, je n'hésiterai pas ;)

A mon retour, je vais m'atteler à la suite, soit inclure ces bips dans une boucle de temps.

Comme cité dans mon exemple, dans une période de temps à déterminer (30 secondes, voir moins), à la première détection de vibration, émission d'1 bip, à la deuxième détection, une rafale de 5 bips bien prononcés, et à la troisième détection, ça sonne très fort. Si une seule détection en 30 secondes, reset du compteur.

L'idée étant d'éviter que si mon voisin claque sa porte toutes les heures ça ne fasse qu'activer le beeper, mais si un brigand mets 3 coups de masse en 10 secondes, que ça d’éclanche rapidement la sirène avant même qu'il puisse ouvrir la porte.

Pour le moment, je parcours les commandes, les notions de timers et autres, afin de tenter de trouver la meilleure approche, pas évident !

Mais j'ouvrirai un autre sujet pour ça. (Enfin, une piste est toujours la bienvenue...) 8-)

A bientôt

Re: [Résolu] Séries de Bips sur évenement capteur

Publié : 20 juil. 2020, 19:31
par lost
Sisiphe a écrit : 20 juil. 2020, 13:28 L'idée étant d'éviter que si mon voisin claque sa porte toutes les heures ça ne fasse qu'activer le beeper, mais si un brigand mets 3 coups de masse en 10 secondes, que ça d’éclanche rapidement la sirène avant même qu'il puisse ouvrir la porte.
Pour ma part, avec une sirène, je gère une pré-alerte de 5s... avant de faire éventuellement sonner pour 5mn... avec un système global de poids cumulés sur 1mn glissante (via une variable utilisateur). Toute cette partie est codée en Lua.

Chaque type de capteur (identifié par un préfixe de nommage simplifiant les inclusions ultérieures de nouveaux capteurs, idée de base chopée sur le wiki) a un poids de base: Capteur interne/fiable = poids de base égal à seuil de déclenchement long. Capteur externe/non fiable (chat qui passe...) = une fraction du seuil long.

Ainsi, il faut qu'un capteur externe déclenche plusieurs fois (ou plusieurs capteurs de manière rapprochée) afin de déclencher le seuil court puis, si cela insiste, le long.

L'avantage est que c'est facilement extensible dans le temps.

Même les caméras externes contrôlent un switch virtuel (de type PIR, alimenté par la présence de nouvelles captures sur mouvement remontées via FTP par les caméras) dans Domoticz qui s'intègrent donc également bien dans ce système.

Attention au truc pensé pour un capteur: Dans le temps cela va être galère à faire évoluer. Il vaut AMHA mieux penser à un truc facilement généralisable à différents types de capteurs.

Re: [Résolu] Séries de Bips sur évenement capteur

Publié : 22 juil. 2020, 08:15
par Sisiphe
@lost

Je ne pensais pas tout cela possible, cette notion de minute glissante, etc, il y a effectivement matière pour réaliser un système vraiment bien adapté à sa situation. Merci pour ces infos complémentaires.