tester un capteur toutes les 4 minutes

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.
pinx74
Messages : 21
Inscription : 03 juil. 2017, 18:32

tester un capteur toutes les 4 minutes

Message par pinx74 »

Bonjour,


je cherche a trouver une solution pour vérifier l’état d'un capteur toutes les 4 minutes.
et a lancer un scénario seulement lorsque ce capteur est sur "ON"


pour le moment mon scénario se lance a chaque fois que l’état du capteur passe sur "ON" mais je souhaiterais que ça ne soit le cas que lorsque celui ci est sur "ON" et que les 4 minutes sont écoulées.(et on pas entre les 2 périodes de vérification espacées de 4 minutes)


je débute sur Domoticz, et ne trouve pas la solution.

merci de votre aide pour contourner mon problème
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: tester un capteur toutes les 4 minutes

Message par landaisbenj »

C'est problématique de jouer avec le temps. Tu peux regarder le Dzvents qui a des facilités pour cela.

Le plus compliqué c'est de faire en sorte que ton script détecte le fait que 4 minutes ce sont écoulés.

Ma première idée simple serait de jouer avec un bouton virtuel en mode Push ON button.

Quand il passe a l’état ON tu fais deux actions:
Vérifier que ton capteur et a On ou pas, et par la suite lancer ton scénario
Lancer une commande ON AFTER 4 minutes sur ton bouton virtuel.

un truc du genre (en LUA):

Code : Tout sélectionner

if devicechanged['Bouton virtuel']=='On' then
	commandArray['Bouton virtuel']=='On AFTER 240'
	if otherdevice['Capteur']=='On' then
		lancer le scenario
	end
end
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: tester un capteur toutes les 4 minutes

Message par thier »

cherche sur le forum la fonction lastupdate
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.
Fredok
Messages : 90
Inscription : 12 août 2016, 15:04

Re: tester un capteur toutes les 4 minutes

Message par Fredok »

Bonjour, moi je ferais comme cela
1) je crée une variable de type string mais au format date (Ex "2017-11-23 19:15:58") je l'appelle majCapteur
2) Dans un script device en lua a chaque fois que le capteur envoi un "On" l'initialise majCapteur
if (devicechanged['monCapteur'] == 'On') then
commandArray['Variable:majCapteur']=tostring(os.date("%Y-%m-%d %X"))
end
3) Dans un script time tj en lua (qui contient la fonction timedifference(String str) ) on test s'il s'est écoulé 4min

if(otherdevice['monCapteur']=='On' and timedifference(uservariables['majCapteur']%240==0) then
on fait qqchose
end
Voila l'idée
bye
Opi
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+
Fredok
Messages : 90
Inscription : 12 août 2016, 15:04

Re: tester un capteur toutes les 4 minutes

Message par Fredok »

Après réflexion le mieux c'est comme ça
pas de variable un lastUpdate suffit

Dans un scriptTime Lua uniquement (qui contient timedifference)

--on calcul la différence de temps convertie en min
tps = math.ceil(timedifference(otherdevices_lastupdate['monCapteur'])/60)
--on teste toute les 4min si 'on'
if(otherdevice['monCapteur']=='On' and tps%4==0) then
on fait qqchose
end
Opi
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+
Fredok
Messages : 90
Inscription : 12 août 2016, 15:04

Re: tester un capteur toutes les 4 minutes

Message par Fredok »

la condition serait plutôt
if(otherdevice['monCapteur']=='On' and tps>1 and tps%4==0) then
Opi
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+
pinx74
Messages : 21
Inscription : 03 juil. 2017, 18:32

Re: tester un capteur toutes les 4 minutes

Message par pinx74 »

:? ...


Bon. merci d'avoir essayé de m'aider..

mais comme je te le disais je suis débutant sur Domoticz, et je n'ai encore jamais abordé les scripts.
du coups je suis très ....très ...très loin du niveau nécessaire pour pourvoir réaliser la manip que tu me donne, même si elle me semble logique.


==> du coups, je suis en train de regarder du coté de BLOCKLY si je trouve de quoi contourner le problème avec d’éventuels interrupteur virtuels :

je pense par exemple:

a réception de l'info ON de mon capteur de courant, de mettre sur ON un interrupteur virtuel pour une durée de 240 sec aprés laquelle il repasse a OFF.

et dans blokly de tester :
- si mon capteur est sur ON, et interrupteur sur ON de ne rien faire (inferieur a 240 sec)
- si mon capteur est sur ON et l’interrupteur sur OFF de lancer mon scénario (car nous serions alors dans le cas ou temps>240 sec )


c'est jouable d’après toi ?

==> si j'ai pas de bol ça risque de lancer le test entre le moment ou mon capteur passe sur ON et que l'interupteur s'allume... :(
Fredok
Messages : 90
Inscription : 12 août 2016, 15:04

Re: tester un capteur toutes les 4 minutes

Message par Fredok »

Bonjour, qqchose comme cela (en 2 blockys)
blocky.jpg
blocky.jpg (9.48 Kio) Consulté 6090 fois
Avec capteur=2emeEtageLumiere
capteur virtuel=ImprimanteBrother

????
Opi
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+
Répondre