Planning avec un Script

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 <\>.
stephG38
Messages : 72
Inscription : 04 déc. 2016, 20:35

Planning avec un Script

Message par stephG38 »

Bonjour à tous,
Je galère depuis un bon moment pour faire simplement un planning avec un script !
Il me manque encore quelque chose pour soit déclencher mon inter soit ne pas avoir un log toute les secondes :

Code : Tout sélectionner

--------------------------------
 ------ Variables ------
 --------------------------------

 local ECS ='Test'
 local heure = os.date("%H:%M")
 ---------------------------
 -- Fin Variables -- 
 
 commandArray = {}

          if (devicechanged['Test'])
        then
           
            if (heure > '18:59' and heure < '20:01') then
                    commandArray[ECS]='On'
            else    commandArray[ECS]='Off'
       
            end
        end

 return commandArray
Si je met le "devicechanged" mon inter ne bouge pas
et sans cela fonctionne bien mon inter s'allume et s'éteint aux heures demandées mes j'ai des logs toutes les secondes :

Code : Tout sélectionner

2017-08-10 19:35:52.349 EventSystem: Script event triggered: Eau Chaude
2017-08-10 19:35:52.338 (Temp Virtuel) Light/Switch (Test)
2017-08-10 19:35:52.387 EventSystem: Script event triggered: Eau Chaude
2017-08-10 19:35:52.375 (Temp Virtuel) Light/Switch (Test)
2017-08-10 19:35:52.403 EventSystem: Script event triggered: Eau Chaud
HELP
Merci par avance pour votre aide !!
Stéphane
stephG38
Messages : 72
Inscription : 04 déc. 2016, 20:35

Re: Planning avec un Script

Message par stephG38 »

Bon j'avance mais c'est pas encore ça :

Code : Tout sélectionner

--------------------------------
 ------ Variables ------
 --------------------------------

 local ECS ='Test'
 local heure = os.date("%H:%M")
 ---------------------------
 -- Fin Variables -- 
 
 commandArray = {}
        if (heure == '20:16') then
            commandArray[ECS]='On'
        end    
        if (heure == '20:17') then
            commandArray[ECS]='Off'
        end    
       
   

 return commandArray
avec cette version les logs sont seulement dans l'intervale !
j'ai pensé ajouter les secondes mais défois elle sont suté et l'inter ne démare pas !!
HELP !!
Ca doit pas etre compliqué !!!!
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Planning avec un Script

Message par thier »

c'est bien un script time ?
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.
stephG38
Messages : 72
Inscription : 04 déc. 2016, 20:35

Re: Planning avec un Script

Message par stephG38 »

Bonjour
Je ne sait pas !
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Planning avec un Script

Message par Neutrino »

Moi je fais ça :

Code : Tout sélectionner

---récupère l'heure actuelle en minutes
time=os.time()
minutes=tonumber(os.date('%M',time))
hours=tonumber(os.date('%H',time))
maintenant=tonumber(hours*60+minutes)

---calcule entre 7h et 9h30
if(maintenant>=420 and maintenant<= 570)then
...
C'est sale, mais ça marche.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Planning avec un Script

Message par thier »

tu ne sais pas ? je pense que tu devrais lire les bases de la programmation lua. regarde sur le wiki officiel.
regarde les différents noms de types de scripts, device, time, etc. du nom dépend la fréquence d'exécution du script.
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.
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Planning avec un Script

Message par Neutrino »

Et même des tutos en français rédigés par notre hôte Patrice !
pour commencer :
https://easydomoticz.com/point-scripts-lua/

Pour tout déchirer :
https://easydomoticz.com/?s=lua
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Planning avec un Script

Message par thier »

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.
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Planning avec un Script

Message par thier »

un dernier conseil puisque tu débute en lua, mets des prints dans tes scripts. ils s'ecriront dans les logs de Domoticz ce qui te permet de contrôler le déroulement de ton script et t'aide à trouver où ça bug
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.
stephG38
Messages : 72
Inscription : 04 déc. 2016, 20:35

Re: Planning avec un Script

Message par stephG38 »

Bonsoir à vous deux,
Un grand merci pour vos conseils !
Effectivement un peu de lecture ne fais pas de mal !!
J'ai basculé mon script en "Time" et cela fonctionne parfaitement !

Code : Tout sélectionner

--------------------------------
 ------ Variables ------
 --------------------------------

 local ECS ='Test'
 local heure = os.date("%H:%M")
 ---------------------------
 -- Fin Variables -- 
 
 commandArray = {}
        if (heure == '23:18') then
            commandArray[ECS]='On'
            print("Démarrage ECS")
        end    
        if (heure == '23:20') then
            commandArray[ECS]='Off'
            print("Arret ECS")
        end    
       
 return commandArray
J'ai même ajouté les print suivant vos conseils :D
Encore merci et je vais faire un peu de lecture sur les bases grâce à vos liens pour progresser en LUA.
Bonne soirée
Stéphane
Répondre