Declencher un evenement pendant une duree precise

domstuff -  
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,

Etant totalement novice en script,je cherche a declencher un evenement pendant un certain temps.
Il s'agit d'un script pour ma domotique qui permet de forcer les eclairages des chambres a 50% de 23h a 8h du matin quand ils passent a On.

voici mon script actuel:

Module Script
Public Sub Main()
Dim heur as string

heur=Xlobby.GetXlobbyVar("datetime>HH")

if ((Integer.Parse(heur)> 23) and (Integer.Parse(heur)< 8)) then

Xlobby.ExecCommand("plugin-Edomotix", "Local PLCBus : Preset Bright", "lum_parents~25~10")

End if
End Sub
End Module

il a fonctionner une 1ere fois puis plus rien .Je pense a un soucis dans la gestion du temps,j'ai vu qu'on peut utiliser "DateDiff" mais ne sais pas du tout comment integrer ca a mon script.

Merci de vôtre aide.

A voir également:

2 réponses

Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

Dans cette ligne :
if ((Integer.Parse(heur)> 23) and (Integer.Parse(heur)< 8)) then

Je ne vois pas comment cela a pu fonctionner ne serait-ce qu'une fois.
Il faudrait mettre OR plutôt que AND !

Ensuite, est-ce qu'il ne faudrait pas remettre la valeur de lumens normale quand tu es hors de cette tranche horaire ?

Xavier
0
domstuff
 
Ben pourtant il a fonctionné,mais pour tester j'avais mis de 15 h à 18 h.
Me demande si c'est pas à cause du changement de jour que ça va pas.
Et oui en effet il faut que la luminosité revienne à la normal en dehors de cette plage horaire,mais ça je peux le gérer depuis le prog (Ed-win)
0
Reivax962 Messages postés 3742 Statut Membre 1 011
 
Supérieur à 15 et inférieur à 18, ce n'est pas choquant.
Supérieur à 23 et inférieur à 8, ça l'est !
;)

Essaie plutôt :
if ((Integer.Parse(heur)> 23) or (Integer.Parse(heur)< 8)) then
0