Krikroff Posté(e) le 7 juillet 2014 Signaler Posté(e) le 7 juillet 2014 Sur une idée originale de razowski et dans la continuité du sujet de Steven ici (http://www.domotique-fibaro.fr/index.php/topic/1303-double-clique-pour-confirmer/) voici un module virtuel permettant de déclencher une action sur validation d'un code PIN au préalable renseigné dans le code du Main Loop. Version 1.0.1 L'action peut-être le déclenchement d'une scène, l'allumage ou l’extinction d'un périphérique ou bien encore l’exécution d'un script LUA afin de laisser cours à votre imagination . Le clavier est simple avec juste 12 touches: 10 boutons de 0 à 9, un bouton "clear" et un "Enter". La validation est automatique lorsqu' un code à 4 chiffre est renseigné, sinon il faut utiliser la touche correspondant à "Enter". J' ai fait ça vite fait entre midi et deux et juste pour poser les bases, je ferais évoluer la chose si le code suscite de l’intérêt. Pour la mise en place il faut commencer par créer un variable globale PINCode000, puis d'importer le fichier vfib en téléchargement sur cette page. Ensuite vous devez modifier le code dans le MainLoop pour l'adapter à vos besoins. Explications succinctes: - ["1010"] : correspond au code qui est formaté sur 4 chiffres (de 1 à 4 chiffres).- caption : une légende pour l'action associée au code- task.object : Peut prendre les valeurs suivantes: scene, device, lua, virtual, globalv- task.id : Identifiant de la scène, du device, de la varible ou du vd utilisé [option]- task.value: pour une scène [start, stop], un périphérique [on, off, dim], lua [function], valeur de la variable globale etc.- task targetId: l'id d'un bouton ou d'un slider dans le cas d'un vd. Les options de l'objet task: -- object: device - actions: [on, off, dim] - id: [num] - value: [0-100] (option)-- object: scene - actions: [start, stop] - id: [num]-- object: virtual - actions: [pressButton, setSlider] - id: [num] - value: [0-100] - targetId: [num]-- object: lua - value: [lua function] (ex: function() -- lua code here end)-- object: globalv - id: [name] - value: [xxx] cf. code extrait du Main Loop: local codeTable = { ["1010"] = { caption = "Disarm perimeter with scene", task = { object = "scene", id = 999, action = "start" } }, ["2020"] = { caption = "lua sample", task = { object = "lua", value = (function() fibaro:debug("Custom lua action!"); end) } }, ["3030"] = { caption = "turn on device", task = { object = "device", id = 999, action = "off" } }, ["4040"] = { caption = "dim device", task = { object = "device", id = 999, action = "dim", value = 25 } }, ["5050"] = { caption = "set global variable 'myvar' to 8989", task = { object = "globalv", id = "myvar", value = 8989 } }, ["6060"] = { caption = "set slider id#8 to 75 in virtual device #999", task = { object = "virtual", id = 999, targetId = 8, action = "setSlider", value = 75 } } }; Modifications: Version 1.0.1 - 08/07/20141. Renommage du module en "Security Virtual Keybaord" (ça sert à rien mais je préfère)2. Ajout du support pour: scène, vd, variable globale VirtualDevice-Security-Keyboard-V1.0.1.vfib 7
Steven Posté(e) le 7 juillet 2014 Signaler Posté(e) le 7 juillet 2014 Il manque juste la possibilité d'ouvrir un VD depuis un autre VD et là , je suis sà»r que @Moicphil te demande en mariage Edit : superbe idée ce VD. 4
Krikroff Posté(e) le 7 juillet 2014 Auteur Signaler Posté(e) le 7 juillet 2014 ah! si c'est pour moicphil ... mais faut que j'en parle àma femme alors , sinon tu veux dire quoi par ouvrir un vd depuis un autre vd je ne suis pas certain de bien comprendre ? genre action sur un bouton d'un vd ?
Steven Posté(e) le 7 juillet 2014 Signaler Posté(e) le 7 juillet 2014 Exactement, tu as un VD sous les yeux, tu cliques sur le bouton "Pendre moicphil". Cela a pour effet de lancer ton PinCode VD .. .si tu rentre la bonne combinaison, cela démarre le scénario XXX qui envoi un message àune équipe de gros bras qui habite près de chez lui. 1
Moicphil Posté(e) le 7 juillet 2014 Signaler Posté(e) le 7 juillet 2014 Punaise, c'est pour quand la polygamie en France , je vous épouse tous les 2 ! J-c, oui, ca serait top une action sur un autre module virtuel...
Krikroff Posté(e) le 7 juillet 2014 Auteur Signaler Posté(e) le 7 juillet 2014 @Steven, l'été sera chaud . à‡a risque d'être compliqué cette histoire mais l'idée est top, peut-être un jour avec les plugins mais nous sommes encore dans les fantasmes hein ! @moicphil, bon il faut que je fasse du propre dans le code, je vais en profiter pour ajouter les actions sur vd au passage
razowski Posté(e) le 7 juillet 2014 Signaler Posté(e) le 7 juillet 2014 Excellent Je test demain, trop fier d'être àla base de l'idée razowski
Krikroff Posté(e) le 7 juillet 2014 Auteur Signaler Posté(e) le 7 juillet 2014 Mise à jour en Version 1.0.1 1. Renommage du module en "Security Virtual Keybaord" (ça sert à rien mais je préfère)2. Ajout du support pour: scène, Virtual Device, variable globale La possibilité d'injecter du code lua dans la boucle devrait couvrir les autres cas de figure Exemple: ["9999"] = { caption = "lua code", task = { object = "lua", value = (function() if (tonumber(fibaro:getGlobalValue("SceneTrigger")) == 1) then fibaro:call(7, "setValue", "50"); fibaro:call(8, "setValue", "50"); fibaro:call(33, "setValue", "50"); end end)} }, -- etc... Le code sera optimisé dans un prochaine mise à jour. 2
q.philippe Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 est ce qu'avec le code1 on active scène 1 et avec un second code2 ,on active la scène 2 ! ou même avec le code3, on coupe la scène du code1 ou le code 33 on coupe 1 et 2 .
Krikroff Posté(e) le 10 juillet 2014 Auteur Signaler Posté(e) le 10 juillet 2014 @q.philippe, c'est toi qui décide , tu peux créer autant de code que tu le souhaites pour exécuter toutes les actions que tu souhaites... Exemple: CODE 1001 lance la scène 999, le CODE 1002 stop la scene 999 local codeTable = { ["1001"] = { caption = "start scene", task = { object = "scene", id = 999, action = "start" } }, ["1002"] = { caption = "stop scene", task = { object = "scene", id = 999, action = "stop" } } } }; Après tu peux utiliser l'object "lua" afin d’exécuter des commandes enchainées genre: alllumer le bandeau LED en rouge si fenêtre ouverte sinon armer les détecteurs ...
kinou.69 Posté(e) le 11 janvier 2016 Signaler Posté(e) le 11 janvier 2016 Bonjour, je n'arrive pas a modifier le code pour agir sur un bouton d'un module virtuel. Pouvez vous m'aider. Merci
fredo Posté(e) le 3 février 2016 Signaler Posté(e) le 3 février 2016 salut Krikroff, je reviens sur ce VD car je suis en train de plancher dessus, en complément du VD Virtuel Alarme Avancée. Je rencontre des petits soucis. Visiblement pour que ça fonctionne, il faut taper les 4 chiffres très rapidement sinon ça ne fonctionne pas. D'autre part, ça ne semble pas fonctionner à tous les coups. Enfin, peut-on afficher des étoiles à la place des chiffres saisis? Merci d'avance.
kinou.69 Posté(e) le 4 février 2016 Signaler Posté(e) le 4 février 2016 bonjour fredo, peux-tu m'expliquer comment veux-tu l'utiliser en complément du VD alarme avancée. j'ai installé ce module, mais je ne sais pas encore comment je vais l'utiliser. Pourquoi retenir un code pour une action alors que rien n’empêche d'agir directement sur le module concerné.
fredo Posté(e) le 4 février 2016 Signaler Posté(e) le 4 février 2016 Bonjour, en fait, le gros problème du VD alarme avancée, c'est qu'il n'y a pas de désactivation par pin code. Là je suis en train de voir avec MoicPhil pour l'intégration du VD security Virtual Keyboard dans le VD Alarme Avancée. ça marche à peu près, mais il faut entrer les 4 chiffres très rapidement et ça ne fonctionne pas à tous les coups. Idéalement, je voudrais pouvoir, en appuyant sur le bouton désarmer, aller sur le Pin Code du panneau Alarme, mais ça ne fonctionne pas. Lorsqu'on désarme en LUA un module ou une scène protégée par pin code, ça les désarme directement sans afficher l'écran Pin code. La seule façon d'afficher la demande Pin code, c'est de déclencher une alarme. J'aimerai faire un détecteur virtuel pour lequel on pourrait lui donner un statut (armé,normal, en alerte) pour pouvoir le mettre en "armé en alerte" lors de l'appui sur le bouton "désarmer", ça permettrait d'aller sur la demande du pin code. Autre possibilité, un FGS sur l'entrée filaire d'un FGK101, ça permettrait aussi de créer une alarme. Bref, c'est pas simple
maestrea Posté(e) le 18 mai 2016 Signaler Posté(e) le 18 mai 2016 Bonsoir, Est-ce que vous avez des problemes avec le declenchement des scenes avec le nouveaux firmware 4.082 Beta? Chez moi le module n'execute pas les scenes.Merci.
fredokl Posté(e) le 18 février 2018 Signaler Posté(e) le 18 février 2018 (modifié) @fredo Salut. As-tu fait des avancés sur le VD Security Virtual Keyboard? Je suis aussi intéressé pour l'intégrer. Modifié le 18 février 2018 par fredokl
fredo Posté(e) le 20 février 2018 Signaler Posté(e) le 20 février 2018 Bonjour @fredokl, pas du tout, j'ai même laissé de coté le HC2 pour le moment.
Messages recommandés