forcer un script timer pour reset
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
forcer un script timer pour reset
Bonjour
Suite à une restauration de la base domoticz dans la journée quel est le moyen le plus simple pour forcer un script timer qui est censé s'exécuter à 00H05 et de le déclencher via l'interface ?
Pierrotori
Suite à une restauration de la base domoticz dans la journée quel est le moyen le plus simple pour forcer un script timer qui est censé s'exécuter à 00H05 et de le déclencher via l'interface ?
Pierrotori
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: forcer un script timer pour reset
S'agissant d'un script time, il ne peux pas être déclencher par un devicechanged, donc difficile directement depuis l'interface.
Et si tu changeais tout simplement l'heure d'exécution ?
Tu peux aussi modifier ton script en type device, l'associer à un device type push on button, bouton pour lequel tu paramètres le planning pour qu'il change d'état à 00h05.
N'oublie pas de paramétrer ton bouton avec un Délai d'extinction à 1 seconde afin qu'il revienne à Off après un changement d'état.
Tu n'as plus, dans ton script, qu'a remplacer ton par
Un peu lourd pour un simple test, mais cela te permet d'exécuter ton script quand tu le souhaites, en plus du paramétrage de l'heure d'exécution via la fonction planning du device.
Et si tu changeais tout simplement l'heure d'exécution ?
Tu peux aussi modifier ton script en type device, l'associer à un device type push on button, bouton pour lequel tu paramètres le planning pour qu'il change d'état à 00h05.
N'oublie pas de paramétrer ton bouton avec un Délai d'extinction à 1 seconde afin qu'il revienne à Off après un changement d'état.
Tu n'as plus, dans ton script, qu'a remplacer ton
Code : Tout sélectionner
if time.hour==0 and time.min==5 thenCode : Tout sélectionner
if devicechanged['mon_bouton'] thenPi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Re: forcer un script timer pour reset
Je viens de déplacer ton sujet dans la section script.
Je suis aussi d'avis pour la proposition de Denis d'utiliser le planning d'un device pour gérer l'exécution du script.
Sinon, tu peux aussi jouer sur le fait que le script est exécuter toutes les minutes pour prendre en compte le passage d'un widget à On et le remettre à Off :
Tu as par contre une prise en compte de ton appui sur le bouton à la prochaine minute.
Dernière possibilité, regarder le DzVent qui permet de gérer les multiple déclencheurs.
Je suis aussi d'avis pour la proposition de Denis d'utiliser le planning d'un device pour gérer l'exécution du script.
Sinon, tu peux aussi jouer sur le fait que le script est exécuter toutes les minutes pour prendre en compte le passage d'un widget à On et le remettre à Off :
Code : Tout sélectionner
if time.hour==0 and time.min==5 and otherdevices['Bouton'] = "On" then
if otherdevices['Bouton'] == "On" then commandArray['Bouton']='Off' end
La suite du script...
end
Dernière possibilité, regarder le DzVent qui permet de gérer les multiple déclencheurs.
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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
Re: forcer un script timer pour reset
Je viens de penser si je declenche un httpresponses qui serait gere par le script qui doit faire le reset
Re: forcer un script timer pour reset
Le httpresponses me fait penser à du DzVents. C'est ce langage-là que tu utilises ou du LUA ?
Si tes scripts sont en DzVents, je pense qu'effectivement qu'un httpresponses pourrait être déclenché dans plusieurs scripts en même temps.
Si tes scripts sont en DzVents, je pense qu'effectivement qu'un httpresponses pourrait être déclenché dans plusieurs scripts en même temps.
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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
forcer un script timer pour reset
je suis en full dzvents
je créé une device reset rattaché à un script qui fera un
domoticz.openURL({
url = URLGetReset,
method = 'GET',
callback = 'RetourReset',
})
RetourReset qui sera géré par le script qui calcul la total (jour de la semaine,jour férié , vacances .....) ca devrait être réalisable et synchronisable sachant que ce script tourne une fois par jour à 00H05 pour mettre à jour le calendrier et le planning
je ne sais pas si c'est la meilleur solution, mais pas facile de forcer un script timer qui s'execute une fois par jour, et de relancer sans le dupliquer ou d'aller modifier son timer
je créé une device reset rattaché à un script qui fera un
domoticz.openURL({
url = URLGetReset,
method = 'GET',
callback = 'RetourReset',
})
RetourReset qui sera géré par le script qui calcul la total (jour de la semaine,jour férié , vacances .....) ca devrait être réalisable et synchronisable sachant que ce script tourne une fois par jour à 00H05 pour mettre à jour le calendrier et le planning
je ne sais pas si c'est la meilleur solution, mais pas facile de forcer un script timer qui s'execute une fois par jour, et de relancer sans le dupliquer ou d'aller modifier son timer
Dernière modification par pierrotori le 10 oct. 2021, 21:37, modifié 1 fois.
Re: forcer un script timer pour reset
Tu as encore plus simple sans faire appel à une url :
Et pour le lancer :
Code : Tout sélectionner
customEvents = { 'RetourReset', },Code : Tout sélectionner
domoticz.emitEvent('RetourReset')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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
Re: forcer un script timer pour reset
merci en effet , je vais etudier ca
https://www.domoticz.com/forum/viewtopic.php?t=31330
https://www.domoticz.com/forum/viewtopic.php?t=31330
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
Re: forcer un script timer pour reset
donc je mets une device switch on/off avec un script dzvent qui se déclenche sur la device
dans le script qui détermine Jour ouvré, jour week-end en fonction des vacances, Jour férié et week-end
Code : Tout sélectionner
return {
on = {
devices = { 'reset' }
},
execute = function(domoticz, mySensor)
-- déclenche un script timer
domoticz.emitEvent('init', 'statut' = 1)
end
}
Code : Tout sélectionner
on = {
{ timer = { 'at 00:05'} },
on = { customEvent = { 'init' }},
execute = function(domoticz, trigger)
if (triggeredItem.data.statut = 1 )
domoticz.log('Déclenchement et execution sctipt')
else
domoticz.log('Pas de déclenchement du script)
end
},
Re: forcer un script timer pour reset
Oui. Par contre, pour tester le déclenchement forcé, ce n'est pas tout à fait ça. = 1 -> assignation, == 1 -> test.
Aussi, pas besoin de donnée supplémentaire juste pour ça :
Aussi, pas besoin de donnée supplémentaire juste pour ça :
Code : Tout sélectionner
execute = function(domoticz, trigger)
if (trigger.isCustomEvent)
domoticz.log('Déclenchement reset')
else
domoticz.log('Pas de déclenchement forcé')
end
end
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT