Re: [Resolu] Script de fermeture et d"ouverture volets roulants
Publié : 07 sept. 2017, 21:30
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...) ?
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/2017Code : 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 PASCode : 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é ?