Dzvents:Comment lancer une Scène?
-
boosterkf+
- Messages : 11
- Inscription : 22 nov. 2016, 16:20
Dzvents:Comment lancer une Scène?
Salut, je débute en domotique et je me lance avec Dzvents. J'ai commencé à rédiger un script d'alarme mais je bute sur une action de Scène. J'ai donc créé une scéne dans Domoticz qui active toutes mes caméras pendant 10min. Lorsque le Dummy Alarme (270) est activé et que le PIR est On, j'active "normalement" la scène et reçois une notification. Je n'ai pas d'erreur de script et l'action est bien lancée. Pourtant, la scène ne se lance pas. Pour info, j'ai essayé plusieurs commandes:
domoticz.setScene('All_Caméra', 'On')
domoticz.setScene('All_Caméra', 'group_On')
domoticz.setScene('All_Caméra', 'Scene_On')
domoticz.setScene('All_Caméra', 'Open')
Voila, si quelqu'un peut m'aider.
Au fait, j'utilise une scène pour pouvoir activer mes caméras pendant 10min, chose que je n'arrive pas à faire avec le script LUA qui ne me remet pas les switch à l'état off.
Mon script ci-dessous:
return {
active = true,
on = {
['timer'] = 'every minute'
},
execute = function(domoticz, Alarme_TOTALE)
if (domoticz.devices[145].state == 'On' and domoticz.devices[270].state == 'On') then
domoticz.setScene('All_Caméra', 'On')
-- domoticz.devices[187].switchOn()
-- domoticz.devices[187].close().after_min(1)
domoticz.notify('Alarme', 'Présence_Salon',
domoticz.PRIORITY_EMERGENCY)
elseif (domoticz.devices[255].state == 'On' and domoticz.devices[270].state == 'On') then
domoticz.setScene('All_Caméra', 'On')
domoticz.notify('Alarme', 'Présence_Garage',
domoticz.PRIORITY_EMERGENCY)
elseif (domoticz.devices[152].state == 'On' and domoticz.devices[270].state == 'On') then
domoticz.setScene('All_Caméra', 'On')
domoticz.notify('Alarme', 'Présence_Bureau',
domoticz.PRIORITY_EMERGENCY)
end
end
}
domoticz.setScene('All_Caméra', 'On')
domoticz.setScene('All_Caméra', 'group_On')
domoticz.setScene('All_Caméra', 'Scene_On')
domoticz.setScene('All_Caméra', 'Open')
Voila, si quelqu'un peut m'aider.
Au fait, j'utilise une scène pour pouvoir activer mes caméras pendant 10min, chose que je n'arrive pas à faire avec le script LUA qui ne me remet pas les switch à l'état off.
Mon script ci-dessous:
return {
active = true,
on = {
['timer'] = 'every minute'
},
execute = function(domoticz, Alarme_TOTALE)
if (domoticz.devices[145].state == 'On' and domoticz.devices[270].state == 'On') then
domoticz.setScene('All_Caméra', 'On')
-- domoticz.devices[187].switchOn()
-- domoticz.devices[187].close().after_min(1)
domoticz.notify('Alarme', 'Présence_Salon',
domoticz.PRIORITY_EMERGENCY)
elseif (domoticz.devices[255].state == 'On' and domoticz.devices[270].state == 'On') then
domoticz.setScene('All_Caméra', 'On')
domoticz.notify('Alarme', 'Présence_Garage',
domoticz.PRIORITY_EMERGENCY)
elseif (domoticz.devices[152].state == 'On' and domoticz.devices[270].state == 'On') then
domoticz.setScene('All_Caméra', 'On')
domoticz.notify('Alarme', 'Présence_Bureau',
domoticz.PRIORITY_EMERGENCY)
end
end
}
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Dzvents:Comment lancer une Scène?
Salut,
Ah dzvent
cette page https://github.com/dannybloe/dzVents
mentionne:
Un script lua classique fait très bien le taf et les exemples sont nombreux.
est-ce vraiment un problème de lancement de scène ou de condition de lancement ?
ceci est il valide ?
En plus utiliser les idx c'est imbitable
je ne vois pas un seul print dans ton code pour aider à debugguer !
commence déjà par là !
as tu essayé de simplement allumer une lampe au moins ?
si oui l'activer par un script doit avoir le même résultat.
en lua la commande pour activer un switch 10 minutes est
tellement plus simple que ton
Ps: merci d'utiliser les balises code pour mettre en forme le code dans un message
Ah dzvent
cette page https://github.com/dannybloe/dzVents
mentionne:
Selon moi dzvent ne simplifie rien au contraire..--activate my scene
domoticz.setScene('Evening lights', 'On')
Un script lua classique fait très bien le taf et les exemples sont nombreux.
est-ce vraiment un problème de lancement de scène ou de condition de lancement ?
Code : Tout sélectionner
elseif (domoticz.devices[255].state == 'On' and domoticz.devices[270].state == 'On') thenEn plus utiliser les idx c'est imbitable
je ne vois pas un seul print dans ton code pour aider à debugguer !
commence déjà par là !
as tu essayé de simplement allumer une lampe au moins ?
Qu'entends tu par remettre les switch à off, ta scène fait elle le taf lorsque tu clic dessus ?boosterkf+ a écrit :j'utilise une scène pour pouvoir activer mes caméras pendant 10min, chose que je n'arrive pas à faire avec le script LUA qui ne me remet pas les switch à l'état off.
si oui l'activer par un script doit avoir le même résultat.
en lua la commande pour activer un switch 10 minutes est
Code : Tout sélectionner
'On FOR 10'Code : Tout sélectionner
domoticz.devices[187].switchOn()
domoticz.devices[187].close().after_min(10)MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
-
boosterkf+
- Messages : 11
- Inscription : 22 nov. 2016, 16:20
Re: Dzvents:Comment lancer une Scène?
Salut vil1driver,
Merci de me répondre. Le LUA est certainement plus puissant mais les fonctions proposées par Dzvents me suffisent pour l'instant et sont à priori plus simple à mettre en oeuvre pour un débutant.
Concernant mon script, il fonctionne:
Je reçois bien la notification et l'action est commandé. Pourtant le log de la scène n'indique pas de commande. Si je commande la scène directement dans domoticz, pas de problème.
Quand à la commande:
Elle active bien le switch mais ne le met jamais en Off.
Cette commande:
est l'équivalent de
Mais elle aussi ne passe jamais en Off.
J'utilise les idx pour ne pas avoir à reprendre le script quand je change le nom des éléments.
Tu me parle de print. Qu'est ce que c'est?
Merci de me répondre. Le LUA est certainement plus puissant mais les fonctions proposées par Dzvents me suffisent pour l'instant et sont à priori plus simple à mettre en oeuvre pour un débutant.
Concernant mon script, il fonctionne:
Code : Tout sélectionner
2017-02-10 12:00:00.397 LUA: =====================================================
2017-02-10 12:00:00.398 LUA: >>> Handler: intruder alert
2017-02-10 12:00:00.398 LUA: .....................................................
2017-02-10 12:00:00.398 LUA: .....................................................
2017-02-10 12:00:00.398 LUA: <<< Done
2017-02-10 12:00:00.398 LUA: -----------------------------------------------------
2017-02-10 12:00:00.412 LUA: [1] = Scene:All_Caméra: On
2017-02-10 12:00:00.412 LUA: [2] = SendNotification: Alarme#Présence_Salon#2#pushover
2017-02-10 12:00:00.412 LUA: =====================================================Quand à la commande:
Code : Tout sélectionner
domoticz.devices[187].switchOn()
domoticz.devices[187].close().after_min(1)Cette commande:
Code : Tout sélectionner
domoticz.devices[187].switchOn().for_min(10)Code : Tout sélectionner
'On FOR 10'J'utilise les idx pour ne pas avoir à reprendre le script quand je change le nom des éléments.
Tu me parle de print. Qu'est ce que c'est?
Re: Dzvents:Comment lancer une Scène?
Bonsoir
Certains periphériques répondent a .close/.open d'autres à SwitchOn et SwitfOff
Essaye les 2 sur le meme idx pour voir
Certains periphériques répondent a .close/.open d'autres à SwitchOn et SwitfOff
Essaye les 2 sur le meme idx pour voir
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Objectif : WAF > 1
-
boosterkf+
- Messages : 11
- Inscription : 22 nov. 2016, 16:20
Re: Dzvents:Comment lancer une Scène?
Salut,
Je pense avoir tout essayé, rien faire, la scène ne se lance pas. Je modifie mon script pour me passer de la scène.
@+
Je pense avoir tout essayé, rien faire, la scène ne se lance pas. Je modifie mon script pour me passer de la scène.
@+