spirituAlK Posté(e) le 9 septembre 2014 Signaler Posté(e) le 9 septembre 2014 Bonjour ! Je me lance dans mon premier sujet . Après plusieurs recherche sur le forum j'ai réussi à me faire quelque chose qui fonctionne bien pour l'armement/activation de mon alarme. Voici mes modules ! 1x Télécommande KFOB2 3x Détecteur d'ouverture Everspring HSM02 1x Sirène Vision Security ZM1602 Donc, j'ai suivi des tutos pour la configuration de ma télécommande qui va me servir à déclenché une scène vu qu'elle ne peut pas directement être associé à un module. (Jusque la tt va bien) J'ai également suivi différents tutos pour mettre en place 2 scènes pour "L'activation de l'alarme" & la "Désactivation de l'alarme" Ce qui me fait en tt 3 Scène pour ! Voici mes codes LUA des différentes scènes: Scène Télécommande --[[ %% properties 9 sceneActivation %% globals --]] local NumScene = fibaro:getValue(9, "sceneActivation") fibaro:debug("Numéro de scène: " ..NumScene) if (NumScene == 11) then fibaro:debug('Bouton 1') fibaro:startScene(3) end if (NumScene == 21) then fibaro:debug('Bouton 2') fibaro:startScene(4) end if (NumScene == 13) then fibaro:debug('Bouton 2 long') fibaro:call(11, 'turnOff') fibaro:debug('Sirene eteinte') end if (NumScene == 23) then fibaro:debug('Bouton 2 long') fibaro:call(11, 'turnOff') fibaro:debug('Sirene eteinte') end Scène d'activation: --[[ %% properties 9 SceneActivation %% globals --]] local NumScene = fibaro:getValue(9, "sceneActivation") fibaro:debug("Numéro de scène: " ..NumScene) local NumScene = tonumber(fibaro:getValue(9, "sceneActivation")) local sensors = {5, 6, 7} -- Script v1.0 en test -- Debut du script fibaro:debug('Demarrage') fibaro:debug('Activation de ALARME') fibaro:sleep(1000) fibaro:debug('Activation de alarme dans 5min)') fibaro:call(4, "sendDefinedPushNotification", "3"); fibaro:sleep(300000) fibaro:debug('Notification envoye') for i, v in ipairs (sensors) do fibaro:call(tonumber(v), "setArmed", "1"); fibaro:debug('Envoie de la notification') fibaro:call(4, "sendDefinedPushNotification", "1"); fibaro:debug('Notification envoye') end fibaro:debug('ALARME ACTIVE') -- Fin du script Désactivation de l'alarme: --[[ %% properties 9 SceneActivation %% globals --]] local NumScene = fibaro:getValue(9, "sceneActivation") fibaro:debug("Numéro de scène: " ..NumScene) local NumScene = tonumber(fibaro:getValue(9, "sceneActivation")) local sensors = {5, 6, 7} -- Script v1.0 en test -- Debut du script if (NumScene == 21) then fibaro:debug('Bouton 2') end fibaro:debug('Demarrage') fibaro:debug('Desactivation de ALARME') for i, v in ipairs (sensors) do fibaro:call(tonumber(v), "setArmed", "0"); fibaro:debug('Envoie de la notification') fibaro:call(4, "sendDefinedPushNotification", "2"); fibaro:debug('Notification envoye') end fibaro:debug('ALARME DESACTIVE') -- Fin du script Voilà donc mes 3 scènes et ma question est la suivante: Est il possible d'optimisé mes codes pour regroupé mes 3 scènes en 1 seul scène ! Exemple: Appuie sur la touche 1 = déclenchement de l'activation de l'alarme dans 5min avec la notification et une seconde notification pour m'indiquer que l'alarme est activé ! Touche 2 désactivation ! J'ai bien essayé de tenté des choses mais sans résultat ! Je démarre dans le LUA même si je pense avoir assimilé pas mal de truc il reste encore pas mal de zone sombre pour moi ! Merci d'avance !
Shad Posté(e) le 9 septembre 2014 Signaler Posté(e) le 9 septembre 2014 Be oui c'est possible, bon je sors d'un apéro avec un client donc pas trop en état de te répondre .
spirituAlK Posté(e) le 9 septembre 2014 Auteur Signaler Posté(e) le 9 septembre 2014 Je me doute que c'est possible ! Mais j'ai pas réussi looser que je suis
Shad Posté(e) le 9 septembre 2014 Signaler Posté(e) le 9 septembre 2014 Je vais regarder quand je serais au bureau d'ici 30 min
spirituAlK Posté(e) le 9 septembre 2014 Auteur Signaler Posté(e) le 9 septembre 2014 ah tiens j'ai oublié de parler d'autre chose que je n'est pas réussi àrésoudre !Quand j'arme les détecteur d'ouverture, je demande une notification push ! Seulement ( c'est codé comme ça j'en suis conscient ) je reçois 3 notifications ! y'a t'il possibilité de recevoir 1 seul notification pour l'ensemble des détecteurs ? ( je pense que ma compagne va g****é si elle reçoit 3 notification àchaque fois ! pas WAF )
Shad Posté(e) le 9 septembre 2014 Signaler Posté(e) le 9 septembre 2014 Tiens je l'ai fais en 5min donc vérifie que c'est bon. --[[ %% properties 9 sceneActivation %% globals --]] local NumScene = fibaro:getValue(9, "sceneActivation"); fibaro:debug("Numéro de scène: " ..NumScene); ocal sensors = {5, 6, 7}; if (NumScene == 11) then fibaro:debug('Bouton 1'); fibaro:debug('Demarrage'); fibaro:debug('Activation de ALARME'); fibaro:sleep(1000); fibaro:debug('Activation de alarme dans 5min)'); fibaro:call(4, "sendDefinedPushNotification", "3"); fibaro:sleep(300000); fibaro:debug('Notification envoye'); for i, v in ipairs (sensors) do fibaro:call(tonumber(v), "setArmed", "1"); end fibaro:debug('Envoie de la notification'); if ((tonumber(fibaro:getValue(5, "value")) == 1 ) and (tonumber(fibaro:getValue(6, "value")) == 1 ) and (tonumber(fibaro:getValue(7, "value")) == 1 )) then fibaro:call(4, "sendDefinedPushNotification", "1"); fibaro:debug('Notification envoye'); end fibaro:debug('ALARME ACTIVE'); elseif (NumScene == 21) then fibaro:debug('Bouton 2'); fibaro:debug('Demarrage'); fibaro:debug('Desactivation de ALARME'); for i, v in ipairs (sensors) do fibaro:call(tonumber(v), "setArmed", "0"); end fibaro:debug('Envoie de la notification'); if ((tonumber(fibaro:getValue(5, "value")) == 0 ) and (tonumber(fibaro:getValue(6, "value")) == 0 ) and (tonumber(fibaro:getValue(7, "value")) == 0 )) then fibaro:call(4, "sendDefinedPushNotification", "2"); fibaro:debug('Notification envoye'); end fibaro:debug('ALARME DESACTIVE'); elseif (NumScene == 13) then fibaro:debug('Bouton 2 long'); fibaro:call(11, 'turnOff'); fibaro:debug('Sirene eteinte'); elseif (NumScene == 23) then fibaro:debug('Bouton 2 long'); fibaro:call(11, 'turnOff'); fibaro:debug('Sirene eteinte'); end
spirituAlK Posté(e) le 9 septembre 2014 Auteur Signaler Posté(e) le 9 septembre 2014 hummmmmmmmm bien vu ! j'avais effectivement essayé de faire quelque chose dans ce genre la mais je n'avais pas pensé àrecup la valeur des modules ! je test ca ce soir dans tt les cas et je reviens te voir si j'ai un problème !
spirituAlK Posté(e) le 9 septembre 2014 Auteur Signaler Posté(e) le 9 septembre 2014 Verdict ! Ca fonctionne pas ! le script s'arrete a local NumScene = fibaro:getValue(9, "sceneActivation"); fibaro:debug("Numéro de scène: " ..NumScene); tu avais oublier un "L" à local mais je l'ai bien rajouter ! edit: trouvé j'ai rajouté local NumScene = tonumber(fibaro:getValue(9, "sceneActivation")) en début de script ! Je continue les tests !
Shad Posté(e) le 9 septembre 2014 Signaler Posté(e) le 9 septembre 2014 Ha je t'ai dis que je sortais d'un apéro et que je fais sa vite fait ^^. Dans ce cas tu peux dégager local NumScene = fibaro:getValue(9, "sceneActivation");
spirituAlK Posté(e) le 9 septembre 2014 Auteur Signaler Posté(e) le 9 septembre 2014 J'ai également viré cette ligne for i, v in ipairs (sensors) do fibaro:call(tonumber(v), "setArmed", "1"); end fibaro:debug('Envoie de la notification'); if ((tonumber(fibaro:getValue(5, "value")) == 1 ) and (tonumber(fibaro:getValue(6, "value")) == 1 ) and (tonumber(fibaro:getValue(7, "value")) == 1 )) then fibaro:call(4, "sendDefinedPushNotification", "1"); <------------ CETTE LIGNE LA !!!! fibaro:debug('Notification envoye'); end La fonction fibaro:call ne fonctionne pas avec "for" & "do" ! Une raison ?
spirituAlK Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 Pendant que j'y suis dans l’amélioration de mon alarme ! Est il possible de changer le paramètre d'un module avec le LUA ? Exemple avec ma sirene Vision Security qui utilise: Le mode de fonctionnement par le paramètre "0" en fixant la valeur à "0" = Sirène et flash (par défaut) "1" = Sirène seulement "2" = Flash seulement L'arrêt automatique de l'alarme par le paramètre "1" en fixant la valeur à "1" = 60 secondes (par défaut) "2" = 120 secondes "3" = pas d'arrêt automatique (non recommandé) Dans le monde des bisounours l'idéal serai pour moi d'obtenir une "Alerte visuel' du type: Appuie sur le bouton 1 je passe le parametre du module à "2" = Flash seulement je passe l'alarme en turnON pour l'alerte visuel je passe l'alarme en turnOff et je reviens à mon parametre "0" = Sirène et flash (par défaut) et je continue mon script ..
ruddy Posté(e) le 25 septembre 2014 Signaler Posté(e) le 25 septembre 2014 Bonjour, Je suis également occupé à configurer un système d'alarme incluant la sirène Vision ZM1602. Lors de l'inclusion de celle-ci dans la HC2, elle apparaît comme in interrupteur on-off. Les paramètres 0 et 1 sont inexistants. Et tout comme comme Nouveau je voudrais également l'utiliser comme avertissement visuel et/ou avertissement sonore. Merci pour vos futures conseils
ruddy Posté(e) le 25 septembre 2014 Signaler Posté(e) le 25 septembre 2014 Oups ... Nouveau = SpirituAIK
spirituAlK Posté(e) le 25 septembre 2014 Auteur Signaler Posté(e) le 25 septembre 2014 Tu na pas cette partie dans les configs avancées ? dé-inclu et re-inclu ton module !
ruddy Posté(e) le 25 septembre 2014 Signaler Posté(e) le 25 septembre 2014 Ok, je l'ai maintenant! merci. Et maintenant, via LUA, est-il possible de changer les paramètres?
spirituAlK Posté(e) le 25 septembre 2014 Auteur Signaler Posté(e) le 25 septembre 2014 Module virtuel 2 boutons (flash/sirene) flash local deviceID = XXX; local json = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 0,"size": 1,"value": 2}]}}'; local HC2 = Net.FHttp("192.168.XXX.XXX", 80); HC2:setBasicAuthentication("login", "password"); local response, status, errorCode = HC2:PUT("/api/devices?id="..deviceID, json) Sirene local deviceID = XXX; local json = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 0,"size": 1,"value": 0}]}}'; local HC2 = Net.FHttp("192.168.XXX.XXX", 80); HC2:setBasicAuthentication("login", "password"); local response, status, errorCode = HC2:PUT("/api/devices?id="..deviceID, json)
ruddy Posté(e) le 25 septembre 2014 Signaler Posté(e) le 25 septembre 2014 Merci, et une petite dernière... peut-on appeler un Module Virtuel àl'intérieur d'une scène ?
spirituAlK Posté(e) le 25 septembre 2014 Auteur Signaler Posté(e) le 25 septembre 2014 fibaro:call(XXX, "pressButton", "1")
ruddy Posté(e) le 26 septembre 2014 Signaler Posté(e) le 26 septembre 2014 Un peu de retard dans ma réponse, mais j'ai du un peu digérer le module virtuel. Maintenant c'est clair. Encore un tout grand merci pour l'orientation!
Messages recommandés