Fredric Posté(e) le 17 mars 2014 Auteur Signaler Posté(e) le 17 mars 2014 comme cela, ça fonctionne mais je reçois les notification par 2, le nombre de volets, je pense qu'il m'envoi une notification par volet.
Shad Posté(e) le 17 mars 2014 Signaler Posté(e) le 17 mars 2014 elseif (tonumber(fibaro:getValue(windowscontrolrelay[i], "value")) == 0) then --si les volets sont fermés fibaro:call(53, "sendDefinedPushNotification", "20"); elseif (tonumber(fibaro:getValue(windowscontrolrelay[i], "value")) > 0) then --si les volets sont pas fermés fibaro:call(53, "sendDefinedPushNotification", "21"); Toi aussi franchement ^^ --[[ %% autostart %% properties %% globals JouretNuit --]] local windowscontrolrelay = {57, 65}; --si la nuit tombe et que les volets sont ouverts, meme peut ouverts. if ( fibaro:getGlobalValue("JouretNuit") == "Nuit") then for i =1, #windowscontrolrelay do if (tonumber(fibaro:getValue(windowscontrolrelay[i], "value")) > 0) then fibaro:call(windowscontrolrelay[i], "close"); end end fibaro:sleep(60*1000); --attente une minute pour attendre que les volets déscendent if ((fibaro:getValue(57, "value") == 0) and (fibaro:getValue(65, "value") == 0)) then --si les volets sont fermés fibaro:call(53, "sendDefinedPushNotification", "20"); elseif ((fibaro:getValue(57, "value") > 0) or (fibaro:getValue(65, "value") > 0)) then --si les volets sont pas fermés fibaro:call(53, "sendDefinedPushNotification", "21"); end fibaro:debug("Volets fermés"); fibaro:sleep(60*1000); end
Fredric Posté(e) le 17 mars 2014 Auteur Signaler Posté(e) le 17 mars 2014 --[[ %% autostart %% properties %% globals JouretNuit --]] local windowscontrolrelay = {57, 65}; --si la nuit tombe et que les volets sont ouverts, meme peut ouverts. if ( fibaro:getGlobalValue("JouretNuit") == "Nuit") then for i =1, #windowscontrolrelay do if (tonumber(fibaro:getValue(windowscontrolrelay[i], "value")) > 0) then fibaro:call(windowscontrolrelay[i], "close"); end end fibaro:sleep(60*1000); --attente une minute pour attendre que les volets déscendent if ((tonumber(fibaro:getValue(57, "value")) == 0)) and ((tonumber(fibaro:getValue(65, "value")) == 0)) then --si les volets sont fermés fibaro:call(53, "sendDefinedPushNotification", "20"); elseif ((tonumber(fibaro:getValue(57, "value")) > 0)) or ((tonumber(fibaro:getValue(65, "value")) > 0)) then --si les volets sont pas fermés fibaro:call(53, "sendDefinedPushNotification", "23"); end fibaro:debug("Volets fermés"); fibaro:sleep(60*1000); end comme ça plutôt, ça rentre tu vois ça marche, si ils sont arrêtés en course, j'ai la bonne notification Merci Shad
Fredric Posté(e) le 17 mars 2014 Auteur Signaler Posté(e) le 17 mars 2014 ça commence àme plaire le Lua, j'ai affiné avec la notification sur le volet qui ne c'est pas fermé. --[[ %% autostart %% properties %% globals JouretNuit --]] local windowscontrolrelay = {57, 65}; --si la nuit tombe et que les volets sont ouverts, meme peut ouverts. if ( fibaro:getGlobalValue("JouretNuit") == "Nuit") then for i =1, #windowscontrolrelay do if (tonumber(fibaro:getValue(windowscontrolrelay[i], "value")) > 0) then fibaro:call(windowscontrolrelay[i], "close"); end end fibaro:sleep(50*1000); --attente 50 secondes pour attendre que les volets déscendent if ((tonumber(fibaro:getValue(57, "value")) == 0)) and ((tonumber(fibaro:getValue(65, "value")) == 0)) then --si les volets sont fermés fibaro:call(53, "sendDefinedPushNotification", "20"); elseif (tonumber(fibaro:getValue(57, "value")) > 0) then --si le volet salon est pas fermés fibaro:call(53, "sendDefinedPushNotification", "21"); elseif (tonumber(fibaro:getValue(65, "value")) > 0) then --si le volet cuisine est pas fermés fibaro:call(53, "sendDefinedPushNotification", "23"); end fibaro:debug("Volets fermés"); fibaro:sleep(60*1000); end 1
Shad Posté(e) le 17 mars 2014 Signaler Posté(e) le 17 mars 2014 Erf !!!! Entre mes fautes de frappes et les tonumber je vais me coucher Xd. Bref content que sa fonctionne
Fredric Posté(e) le 17 mars 2014 Auteur Signaler Posté(e) le 17 mars 2014 encore merci Shad, je me serai découragé avant si tu ne m'avais pas aidé
lolomail Posté(e) le 17 mars 2014 Signaler Posté(e) le 17 mars 2014 Cool voila un truc qui avance, sacré Shad toujours prêt à rendre service pour faire un script LUA . Moi faut aussi que je m'y mettes sur la reprog de mon script pour les volets, les contraintes: - Ouverture à heure fixe le week-end histoire de pouvoir dormir tranquille, - Ouverture en semaine soit à une heure fixe si le jour se lève trop tot, soit au lever du soleil sur le soleil se lève après l'heure fixe déterminée Bon vais essayer de m'y mettre et reprendre deux trois idées de ton script
Shad Posté(e) le 17 mars 2014 Signaler Posté(e) le 17 mars 2014 Je suis obligé d'aidé avec la récompense qu'on m'a mis sur le dos
amonthet Posté(e) le 15 avril 2014 Signaler Posté(e) le 15 avril 2014 ça commence à me plaire le Lua, j'ai affiné avec la notification sur le volet qui ne c'est pas fermé. --[[ %% autostart %% properties %% globals JouretNuit --]] local windowscontrolrelay = {57, 65}; --si la nuit tombe et que les volets sont ouverts, meme peut ouverts. if ( fibaro:getGlobalValue("JouretNuit") == "Nuit") then for i =1, #windowscontrolrelay do if (tonumber(fibaro:getValue(windowscontrolrelay[i], "value")) > 0) then fibaro:call(windowscontrolrelay[i], "close"); end end fibaro:sleep(50*1000); --attente 50 secondes pour attendre que les volets déscendent if ((tonumber(fibaro:getValue(57, "value")) == 0)) and ((tonumber(fibaro:getValue(65, "value")) == 0)) then --si les volets sont fermés fibaro:call(53, "sendDefinedPushNotification", "20"); elseif (tonumber(fibaro:getValue(57, "value")) > 0) then --si le volet salon est pas fermés fibaro:call(53, "sendDefinedPushNotification", "21"); elseif (tonumber(fibaro:getValue(65, "value")) > 0) then --si le volet cuisine est pas fermés fibaro:call(53, "sendDefinedPushNotification", "23"); end fibaro:debug("Volets fermés"); fibaro:sleep(60*1000); end Salut, j'essaye de comprendre le script.. je bloque notamment sur les lignes commençant par "fibaro:call(53,"....Si les modules 57 et 65 sont des volets, le 53 c'est quoi?
Shad Posté(e) le 15 avril 2014 Signaler Posté(e) le 15 avril 2014 Le 53 est son téléphone, il envoie une notification push.
amonthet Posté(e) le 15 avril 2014 Signaler Posté(e) le 15 avril 2014 Ahhhhh je m'en doutais , comment faut-il procéder pour configurer son smartphone sur la HC2 ?
Shad Posté(e) le 15 avril 2014 Signaler Posté(e) le 15 avril 2014 Faut juste installer l'application, et utiliser le toolkit de sieur krikroff pour récupérer son id.
amonthet Posté(e) le 15 avril 2014 Signaler Posté(e) le 15 avril 2014 Ok merci, je vais voir ça demain. @++
Fredric Posté(e) le 15 avril 2014 Auteur Signaler Posté(e) le 15 avril 2014 Je suis en train de la modifier pour qui ce fermer par rapport a la luminosité. Je ne reviens pas sur les dire de Shad, elle est de lui cette scène , il sait bien mieux que moi
Fredric Posté(e) le 15 avril 2014 Auteur Signaler Posté(e) le 15 avril 2014 --[[ %% properties 187 value %% globals JouretNuit --]] local startSource = fibaro:getSourceTrigger(); local windowscontrolrelay = {57, 65}; --si la nuit tombe et que les volets sont ouverts, meme peut ouverts et que le luminosité est à40 lux if (tonumber(fibaro:getValue(187, "value")) <= 40) and ( fibaro:getGlobalValue("JouretNuit") == "Nuit") and ((tonumber(fibaro:getValue(57, "value")) > 0)) and ((tonumber(fibaro:getValue(65, "value")) > 0)) then for i =1, #windowscontrolrelay do if (tonumber(fibaro:getValue(windowscontrolrelay, "value")) > 0) then fibaro:call(windowscontrolrelay, "close"); end end fibaro:sleep(40*1000); --attente une minute pour attendre que les volets déscendent if ((tonumber(fibaro:getValue(57, "value")) == 0)) and ((tonumber(fibaro:getValue(65, "value")) == 0)) then --si les volets sont fermés fibaro:call(53, "sendDefinedPushNotification", "20"); fibaro:call(58, "sendDefinedPushNotification", "20"); elseif (tonumber(fibaro:getValue(57, "value")) > 0) then --si le volet salon est pas fermés fibaro:call(53, "sendDefinedPushNotification", "23"); fibaro:call(58, "sendDefinedPushNotification", "23"); elseif (tonumber(fibaro:getValue(65, "value")) > 0) then --si le volet cuisine est pas fermés fibaro:call(53, "sendDefinedPushNotification", "24"); fibaro:call(58, "sendDefinedPushNotification", "24"); end fibaro:debug("Volets fermés"); fibaro:sleep(60*1000); end
Shad Posté(e) le 15 avril 2014 Signaler Posté(e) le 15 avril 2014 J'enleve ce que j'ai dit, faut espérer pour toi que personne ne ferme un des volets avant ^^.
Fredric Posté(e) le 15 avril 2014 Auteur Signaler Posté(e) le 15 avril 2014 pourquoi Shad? j'ai pas essayé ça, juste la fermeture qui fonctionne. je l'ai mis en place, si il y a un risque, je préférerai le savoir
Fredric Posté(e) le 15 avril 2014 Auteur Signaler Posté(e) le 15 avril 2014 je ne sais pas comment cette ligne en ligne 13 est arrivé là !!! surement un reste de mes ancienne scène resté dans notepad++ and ((tonumber(fibaro:getValue(57, "value")) > 0)) and ((tonumber(fibaro:getValue(65, "value")) > 0)) mais, cela peux que faire un doublon? comme ça c'est mieux! --[[ %% properties 187 value %% globals JouretNuit --]] local startSource = fibaro:getSourceTrigger(); local windowscontrolrelay = {57, 65}; --si la nuit tombe et que les volets sont ouverts, meme peut ouverts et que le luminosité est à 40 lux if (tonumber(fibaro:getValue(187, "value")) <= 10) and ( fibaro:getGlobalValue("JouretNuit") == "Nuit") then for i =1, #windowscontrolrelay do if (tonumber(fibaro:getValue(windowscontrolrelay[i], "value")) > 0) then fibaro:call(windowscontrolrelay[i], "close"); end end fibaro:sleep(40*1000); --attente une minute pour attendre que les volets déscendent if ((tonumber(fibaro:getValue(57, "value")) == 0)) and ((tonumber(fibaro:getValue(65, "value")) == 0)) then --si les volets sont fermés fibaro:call(53, "sendDefinedPushNotification", "20"); fibaro:call(58, "sendDefinedPushNotification", "20"); elseif (tonumber(fibaro:getValue(57, "value")) > 0) then --si le volet salon est pas fermés fibaro:call(53, "sendDefinedPushNotification", "23"); fibaro:call(58, "sendDefinedPushNotification", "23"); elseif (tonumber(fibaro:getValue(65, "value")) > 0) then --si le volet cuisine est pas fermés fibaro:call(53, "sendDefinedPushNotification", "24"); fibaro:call(58, "sendDefinedPushNotification", "24"); end fibaro:debug("Volets fermés"); fibaro:sleep(60*1000); end
Steven Posté(e) le 15 avril 2014 Signaler Posté(e) le 15 avril 2014 @amonthet Pour info, si tu ne peux pas installer le toolkit de Monsieur Kirkoswald, tu peux créé une scène en mode bloc. Ensuite tu demande de la passer en mode lua et tu verras les Ids.
Fredric Posté(e) le 15 avril 2014 Auteur Signaler Posté(e) le 15 avril 2014 Oui, tu as raison Steven, c'est comme cela que j'ai trouvé les miens au départ , mais maintenant, c'est tellement facile avec le toolkit ...
Shad Posté(e) le 15 avril 2014 Signaler Posté(e) le 15 avril 2014 Et en fait avant que tu enlèves la ligne, si tu n'avais pas les deux volets d'ouvert ta scène ne ce serait pas lancé.
Fredric Posté(e) le 16 avril 2014 Auteur Signaler Posté(e) le 16 avril 2014 @Shad : j'ai trouvé pourquoi cette ligne était rajouté à la ligne 13, ce n'était pas une erreur, j'ai modifier cette ligne le 19 mars et depuis, cela fonctionne. and ((tonumber(fibaro:getValue(57, "value")) > 0)) and ((tonumber(fibaro:getValue(65, "value")) > 0)) c'est très simple, comme est fait le script en début de poste, sans cette ligne, à chaque fois que la variable JourNuit passe en "Nuit", la scène ce lance, vérifie si les volets sont ouvert, si ils sont ouvert, elle les ferme et envoie un push, mais, si les volets sont déja fermés alors, la scène ce lance, vérifie les volets, voit qu'ils sont fermés et envoie un push quand même, donc tout les soir, je recevais un push, même si je n'étais pas chez moi et que les volets non pas étaient manipulés. alors, qu'avec cette ligne en plus, la scène ce lance, et vérifie les deux conditions, il fait "Nuit" et "les volets sont ouvert" avant d'aller plus loin, donc je reçois le push uniquement si les volets ont était véritablement fermés. maintenant, avec ma modif pour insérer le capteur de luminosité, là j'ai un petit soucis que le "scheduler" devrait corriger. là comme est la scène, les volets ce ferment uniquement si la variable JourNuit passe en "Nuit" et que le capteur et égal ou inférieure à 10 lux, sauf que, je peux plus ouvrir mes volets la nuit, sauf si la lumière de la salle à manger et allumée, car si le capteur et dans le noir, ou presque, mes volets sent refermes , donc, il faut que je donne un créneau horaire en plus pour le déclenchement: 30 minutes avant et aprés que la variable JourNuit passe en "Nuit" et que le capteur et égal ou inférieure à 10 lux. donc je posterai la solution que je trouverai. HS: je suis un petit long dans mes explications et cela va certainement barber certain qui maîtrise la chose parfaitement. J'essai d’être le plus explicite possible pour les personnes qui comprennent pas trop,puisse déchiffrer le but du code,ceux qui sont novice et qui n'osent pas trop poser les questions de peur de passer pour des "gland". Moi, vous aurez remarqué, j'ai un leitmotiv, R.A.B.! je ne vais pas passer une semaine sur un problème qui peut en plus abîmer mon matériel, alors qu'il y a ici des super crack, qui connaissent la solution et de plus, c'est le but d'un forum. cela fait 20 ans que je suis tech en informatique et je ne suis pas là par hasard, on passe pas 20 ans dans les mailles du filet si est pas bon, la domotique, c'est nouveau pour moi et en même temps pas tant que ça... Alors les noob, les novices et débutants, et vous êtes nombreux à vous inscrire sur le forum, n’hésitez pas, posez vos questions, il faut démocratiser la domotique... vous allez vous dire, il à fondu un plomb le Fred!! et bien non, ce qui me fait réagir, c'est que je parle de la domotique autour de moi, à mes amis, des connaissances, et ceux qui sont vraiment intéressés, je leur donne l'adresse du forum. et justement, j'ai croisé une connaissance qui ne c'est même pas inscrit, qui a juste survolé le forum et il ma dit entre autre chose "c'est pour les surdoués la domotique, je ne comprend pas un mot sur trois".(et c'est loin d’être un con). donc, je pense, qu'il faut mettre des mots compréhensibles car des débutants, il y en aura tout le temps. moi le premier, je n’écrivais pas "Virtual Device" mais "V D", je vais faire attention à ça maintenant... (super, je découvre que les lettre V et D collé, ce transforme en "virtual device" automatiquement , la bravo!!) bon,rien à voir avec ce post, je l'ai un peu pourri, mais c'est pas grave, c'est le mien 3
Shad Posté(e) le 16 avril 2014 Signaler Posté(e) le 16 avril 2014 Fred j'ai compris pour ta ligne, mais tu devrais écrire: if ((tonumber(fibaro:getValue(187, "value")) <= 40) and ( fibaro:getGlobalValue("JouretNuit") == "Nuit") and ((tonumber(fibaro:getValue(57, "value")) > 0) or (tonumber(fibaro:getValue(65, "value")) > 0))) Là au moins même si tu n'as qu'un volet de fermé l'autre se fermera aussi. Après pour ton problème de notification, je te dirais tout simplement de créer 2 local, que tu appelles chacun leur tour dans la boucle for, si le volet est ouvert tu changes la valeur, et dans ce cas dans tu peux gérer tes notifications et ne les envoyer que si un volet précis n'étais pas fermé. Bon je sais pas so tu m'as compris car j'en suis encore à mon café et pas du tout réveillé ^^.
Fredric Posté(e) le 16 avril 2014 Auteur Signaler Posté(e) le 16 avril 2014 bien vu Shad, or à la place de and, effectivement, c'est mieux, ça ferme le volet qui est ouvert même si l'autre est fermé. c'est fou, on peut toujours affiner un script du coup, en laissant cette ligne, cela règle le problème de notification, si aucun des volets est ouvert, la scène ne vas pas plus loin Merci Shad
Messages recommandés