éteindre après 10 minutes

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 <\>.
Hydci
Messages : 7
Inscription : 12 déc. 2018, 14:18

éteindre après 10 minutes

Message par Hydci »

Bonjour a tous,
Je possède une ampoule connecter via zigbee2mqtt après une coupure de courant celle-ci s'allume (et remonte sont état) j'ai essayer de faire un dzvent qui surveille toute les minutes si la lumière et allume depuis 10 minutes alors il l'éteint mais ça ne marche pas.
Si pour les besoins du code il faut passer en LUA a la place de DZvent ce n'est pas gênant

Code : Tout sélectionner

return {
	on = {
		timer = {'every minute'}
	},
	execute = function(domoticz, device, item)
	    if item.state("Devant") == "On" and lastUpdate.minutesAgo >10 then
		    domoticz.devices("Devant").switchOff()
		end
	end
}
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

Re: éteindre après 10 minutes

Message par boum »

Pas testé du tout mais c'était un peu du gloubiboulga tes appels dans dzvents ;)

Code : Tout sélectionner

return {
	on = {
		timer = {'every minute'}
	},
	execute = function(domoticz, item)
	    local devant = domoticz.devices("Devant")
	    if devant.state == "On" and devant.lastUpdate.minutesAgo >10 then
		    devant.switchOff()
		end
	end
}
Après, Keros fait plus dans le pédagogique et sa signature contient des liens pour t'aider à débugger un scripe pour finaliser le bousin.
bon courage !
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: éteindre après 10 minutes

Message par Keros »

Voilà ma signature :mrgreen:

Merci boum ;)

Hydci, ton script avait un soucis au niveau de l’exécution : il est lancé par un timer. C'est ce timer qui sert d'item dans la suite du script. Donc quand tu fait item.state("Devant"), tu essayes de regarder un état "Devant" sur le timer ...

Le script de boum répare ces erreurs. Tu avais des erreurs à la base du script : fait attention en faisant des copier/coller.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Hydci
Messages : 7
Inscription : 12 déc. 2018, 14:18

Re: éteindre après 10 minutes

Message par Hydci »

Merci pour la correction du script Boum, Et merci a toi Keros pour les explication vous êtes super j'ai compris d'où venait mon erreur grâce a vous bonne soirée :D
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: éteindre après 10 minutes

Message par Keros »

N'hésites pas si tu as des questions.

Démarre avec les scripts par défaut pour avoir une bonne base et faire les modifications que tu comprends ;)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Hydci
Messages : 7
Inscription : 12 déc. 2018, 14:18

Re: éteindre après 10 minutes

Message par Hydci »

Je reviens vers vous car j'ai un problème voila je vous explique zigbee2mqtt interroge les appareils (pour savoir si il et en ligne, avoir ça force de signal etc...) et le lastseen ce met a jour du dispositif existe t'il un moyen de préciser ON ou OFF dans le script prendre en compte que l'état On en gros si allumer depuis 10 minutes éteindre sinon je suis embêter :?

Edit: j'ai vu que pour réaliser ce que j'ai besoin certain parle de variable ?
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: éteindre après 10 minutes

Message par Keros »

Ton besoin est de repasser à Off un interrupteur au bout de 10 minutes ? Tu peux utiliser le délai d'extinction dans les paramètres du switch. Ainsi quand le switch passera à On, il repassera automatiquement à Off après le délai d’extinction.

Avant d'utiliser une variable (qui est plus compliqué), il est aussi possible d'envoyer une commande d'extinction retardée. Il faut le faire au moment du passage à On :
Voir la documentation DZvents
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre