[LUA] Script de fermeture et d"ouverture volets roulants

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Titof2375
Messages : 91
Inscription : 19 avr. 2017, 21:40

Re: [Resolu] Script de fermeture et d"ouverture volets roulants

Message par Titof2375 »

schwinny a écrit :Edit du 22/04/2017: le script fonctionne, voir le code dans ce message

Bonjour à tous.

Débutant dans la domotique, j'ai honteusement pompé le code de ce super site :) (tout en laissant les commentaires dans le code non mais...)

Le but est d'ouvrir les volets et de les fermer suivant l'heure et la luminosité mais aussi suivant certaines conditions: Invité present, jour férié (non implementé encore), samedi dimanche, ....

le soucis est que cela ne fonctionne pas pour l'ouverture :(
et pour la fermeture, je pourrais vous dire ce soir.


Le but étant de me former au script LUA, je ne desire pas reprendre un script deja fait.

Pouvez vous me mettre sur la voie et m'indiquer ce qui pourrait bloquer sans me donner forcement la réponse (il faut que je progresse... :D ) ?

Je n'ai pas accès au log de ce matin car la fenêtre de log ne remonte pas assez loin.
Savez vous ou accéder simplement en mode fichier au log ?
De plus, peux t'on afficher plus de log dans la fenêtre log de domoticz ?


De plus, d'apres ce que je comprend, le script se lance a chaque changement de charge CPU... cela n'est il pas trop gourmand ?
Ou regarder la charge du serveur Domoticz ?

Merci a vous.

SCRIPT QUI FONCTIONNE - V2 du 22/04/2017

Code : Tout sélectionner


-- Gestion des volets roulants en fonction
-- de la luminosite et d l'heure
-- le capteur utilisé est celui du salon nommé 'Luminosite Oeil Salon',
-- le groupe Volets est basculé si on est inf a 150 Lux et
-- qu'il est plus de 19h00
--
-- source de base (et modifié par schwinny) https://easydomoticz.com/mon-premier-script-lua-dans-domoticz-la-mise-en-oeuvre/
-- V2: 22/04/2017: correction de detection baie vitre ouverte
--------------------
-- les variables de seuil.
Seuil_Heure_Soir="20:00:00"
Seuil_Lux=100
Seuil_Heure_Matin="07:00:00"
-------------------

--------------------
-- les variables Locales
--- Récuperation du jour de la semaine: 1:Dimanche 2:Lundi .... 7:Samedi                        
local JourSemaine=os.date("*t").wday
--------------------
commandArray = {}
time = os.date("*t")

if ((time.min % 60)==0)  then
         Heure_Actuelle=os.date("%X")
         print('Script de fermeture des volets lancé')
         print(Heure_Actuelle)
                --Heure de Fermeture
                if Heure_Actuelle >=  Seuil_Heure_Soir then
                        print ("Heure de Fermeture Volet Atteinte")
                        valeur_lux = otherdevices_svalues['Luminosite oeil salon']
                        valeur_lux=tonumber(valeur_lux)
                        print("luminosite actuelle = "..valeur_lux)
                        if (valeur_lux < Seuil_Lux) then
                                if (otherdevices['Capteur ouverture salon']=="Off") then
                                        print("Fermeture des volets")
                                        commandArray['Scene:Fermeture Volets']='On'
                                else
                                        print("Baie Vitrée Ouverte, Mise en sécurité")
                                end
                        else
                                print("Il fait encore Jour, nous ne faisons rien")
                        end

                else
                        if Heure_Actuelle ==  Seuil_Heure_Matin then
                        print(JourSemaine)
                                  if ((JourSemaine==7)or(JourSemaine==0)) then
                                        print("Heure d'ouverture atteinte mais Jour non travaillé")
                                  else
                                        if (otherdevices['Invite Present'] == 'On') then
                                                print("Heure d'ouverture atteinte, Invité Present")
                                        else
                                                print("Heure d'ouverture atteinte")
                                                print("Ouverture des volets")
                                                commandArray['Scene:Ouverture Volets']='On'
                                        end
                                  end

                        end
                end
end
return commandArray

ATTTENTION CE SCRiPT NE FONCTIONNE PAS

Code : Tout sélectionner

-- Gestion des volets roulants en fonction
-- de la luminosite et d l'heure
-- le capteur utilisé est celui du salon nommé 'Luminosite Oeil Salon',
-- le groupe Volets est basculé si on est inf a 150 Lux et
-- qu'il est plus de 19h00
--
-- https://easydomoticz.com/mon-premier-script-lua-dans-domoticz-la-mise-en-oeuvre/

--------------------
-- les variables de seuil.
Seuil_Heure_Soir="19:00:00"
Seuil_Lux=150
Seuil_Heure_Matin="07:00:00"
-------------------

--------------------
-- les variables Locales
--- Récuperation du jour de la semaine: 0:Dimanche 1:Lundi ....                         
local JourSemaine=os.date("*t").wday
--------------------


commandArray = {}
if (devicechanged['CPU_Usage'])then
        Heure_Actuelle=os.date("%X")
        print (Heure_Actuelle)
                --Heure de Fermeture 
                if Heure_Actuelle > Seuil_Heure_Soir then
                        print ("Heure de Fermeture Volet Atteinte")
                        valeur_lux = (otherdevices_svalues['Luminosite Oeil Salon'])
                        valeur_lux=tonumber(valeur_lux)
                        print("lum = "..valeur_lux)
                        if ((valeur_lux < Seuil_Lux) and (otherdevices_svalues['Capteur Ouverture Salon']=='On')) then
                                print("Heure de Fermeture atteinte")
                                commandArray['Scene:Fermeture Volets']='On'
                        else
                                print("Heure de Fermeture atteinte mais Baie Vitrée Ouverte")
                        end
                else
                        if Heure_Actuelle > Seuil_Heure_Matin then
                                if ((JourSemaine==0)or(JourSemaine==6)) then
                                        print("Heure d'ouverture atteinte mais Jour non travaillé")
                                else
                                        if (otherdevices['Invite Present'] == 'On') then
                                                                                   print("Heure d'ouverture atteinte, Invité Present")
                                        else
                                                print("Heure d'ouverture atteinte")
                                                commandArray['Scene:Ouverture Volets']='On'
                                        end
                                end
                        else
                                print("Heure de Fermeture Volet NON Atteinte")
                        end
                end
end
return commandArray
                                                                    

Bonjour, tu a pris comme capteur luminosité ?
schwinny
Messages : 123
Inscription : 23 mars 2017, 21:41

Re: [Resolu] Script de fermeture et d"ouverture volets roulants

Message par schwinny »

Bonjour.
Je ne comprend pas ta question ;)
Titof2375
Messages : 91
Inscription : 19 avr. 2017, 21:40

Re: [Resolu] Script de fermeture et d"ouverture volets roulants

Message par Titof2375 »

Je voulais savoir la marque de ton capteur de luminosité car j'en cherche un poir letre chez moi.
schwinny
Messages : 123
Inscription : 23 mars 2017, 21:41

Re: [Resolu] Script de fermeture et d"ouverture volets roulants

Message par schwinny »

ah d'accord :)

je remonte en fait les données du détecteur de mouvement fibaro qui fait aussi luminosité.


comme cela ca fait d'une "paire de coui...." :p
Titof2375
Messages : 91
Inscription : 19 avr. 2017, 21:40

Re: [Resolu] Script de fermeture et d"ouverture volets roulants

Message par Titof2375 »

merci, du coup il est a l'interrieur.
schwinny
Messages : 123
Inscription : 23 mars 2017, 21:41

Re: [Resolu] Script de fermeture et d"ouverture volets roulants

Message par schwinny »

Oui.
Titof2375
Messages : 91
Inscription : 19 avr. 2017, 21:40

Re: [Resolu] Script de fermeture et d"ouverture volets roulants

Message par Titof2375 »

donc tout le matin t'est volets s'ouvre a 7h00 qu'il fasse jour ou nuit alors.
schwinny
Messages : 123
Inscription : 23 mars 2017, 21:41

Re: [Resolu] Script de fermeture et d"ouverture volets roulants

Message par schwinny »

Oui.

mais en fait, je suis passé sur une HC2 et mon ouverture/fermeture de volet sera géré par le fantastique script GEa: https://www.domotique-fibaro.fr/topic/1 ... tomatique/


en fait, domoticz va me servir pour faire des ponts et des fonctions avancés que ne peux faire la HC2.
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: PB Script Fermeture Ouverture volets roulants

Message par Wolfen38 »

schwinny a écrit : 01 avr. 2017, 14:43 mon script fonctionne, ci joint le script qui fonctionne...
Salut,

J'essaie de faire des scenes qui ouvent et ferment mes volets, mais je bloque.

Pour fermer, c'est ok, mais pour ouvrir, rien ne se passe.

Pourrais tu me faire un screen de ta scene d'ouverture stp ?

Merci.
Répondre