Rechercher dans la communauté
Affichage des résultats pour les étiquettes 'lua'.
103 résultats trouvés
-
Bonsoir, j'essaye de migrer mes scripts d'alarme en utilisant un maximum de ce que fibaro nous propose integré dans leur nouveau panel alarme. Savez-vous s'il existe des variables accessibles qui définissent notamment l'état de l'alarme ( armé/désarmé/breached) et s'il est possible d'activer/désactiver l'alarme en lua ? Merci !
-
Est ce que quelqu'un peut m'expliquer plus précisément cette fonction ? : fibaro:countScenes(sceneID) > 1 then fibaro:abort(sceneID) Pour info, voila mon script : (Je viens de le passer de "block" en "lua") --[[ %% properties 133 value 25 value 26 value 27 value 28 value 29 value 30 value 31 value 132 value 103 value 131 value 104 value 133 armed 25 armed 26 armed 27 armed 28 armed 29 armed 30 armed 31 armed 132 armed 103 armed 131 armed 104 armed %% globals VAR --]] local startSource = fibaro:getSourceTrigger(); if ( ( (tonumber(fibaro:getValue(133, "value")) > 0 and tonumber(fibaro:getValue(133, "armed")) > 0) or (tonumber(fibaro:getValue(25, "value")) > 0 and tonumber(fibaro:getValue(25, "armed")) > 0) or (tonumber(fibaro:getValue(26, "value")) > 0 and tonumber(fibaro:getValue(26, "armed")) > 0) or (tonumber(fibaro:getValue(27, "value")) > 0 and tonumber(fibaro:getValue(27, "armed")) > 0) or (tonumber(fibaro:getValue(28, "value")) > 0 and tonumber(fibaro:getValue(28, "armed")) > 0) or (tonumber(fibaro:getValue(29, "value")) > 0 and tonumber(fibaro:getValue(29, "armed")) > 0) or (tonumber(fibaro:getValue(30, "value")) > 0 and tonumber(fibaro:getValue(30, "armed")) > 0) or (tonumber(fibaro:getValue(31, "value")) > 0 and tonumber(fibaro:getValue(31, "armed")) > 0) or (tonumber(fibaro:getValue(132, "value")) > 0 and tonumber(fibaro:getValue(132, "armed")) > 0) or (tonumber(fibaro:getValue(103, "value")) > 0 and tonumber(fibaro:getValue(103, "armed")) > 0) or (tonumber(fibaro:getValue(131, "value")) > 0 and tonumber(fibaro:getValue(131, "armed")) > 0) or (tonumber(fibaro:getValue(104, "value")) > 0 and tonumber(fibaro:getValue(104, "armed")) > 0) ) and ( tonumber(fibaro:getGlobalValue("VAR")) == tonumber("3") ) or startSource["type"] == "other" ) then fibaro:call(5, "pressButton", "5"); fibaro:call(82, "pressButton", "1"); fibaro:call(138, "pressButton", "1"); fibaro:call(7, "pressButton", "5"); fibaro:call(7, "pressButton", "7"); fibaro:sleep(15000); fibaro:call(42, "setValue", "100"); fibaro:call(38, "setValue", "100"); fibaro:call(43, "setValue", "100"); fibaro:sleep(135000); fibaro:call(82, "pressButton", "2"); fibaro:sleep(30000); fibaro:call(42, "turnOff"); fibaro:call(38, "turnOff"); fibaro:call(43, "turnOff"); end Mon problème est le suivant : Cette scène concerne la gestion d'une intrusion si une porte passe en alerte. Elle fonctionne bien, néanmoins, quand cette scène se déclenche, je reçois des push en continu tant que la porte n'est pas refermée! La fonction push vient d'un VD ( fibaro:call(5, "pressButton", "5") avec le service "Pushover" D’où ma question, est ce que je peux utiliser la fonction "fibaro:countScenes(sceneID) > 1 then fibaro:abort(sceneID)" ? Si oui, ou dois je la positionner dans mon code ? Merci d'avance
-
Tuto HC2 [Lua - Leçon 1] – Allumer/éteindre – Module Binaire
Domotique-Home a posté un sujet dans Tutoriels
Bonjour à tous, Je me suis aperçu que il n’existe pas beaucoup de tutoriel sur le langage LUA pour HC2 de Fibaro. Je reçois régulièrement les demande de mes clients pour une configuration un peu plus complexe de scènes pour leurs installation domotique. J’ai décidé donc de partager le peu de connaissances que je possède Aujourd’hui je vais vous expliquer comment allumer et éteindre la lumière (binary_light) on considère que le module possède ID=100 Rappel le code LUA doit TOUJOURS commencer par: Code: --[[ %% properties %% globals --]] On va utiliser les API de Fibaro suivants: fibaro:debug = Affiche un commentaire fibaro:call = Fonction qui envoie une requête pour exécuter une action. fibaro:getValue = Fonction qui récupère la valeur. Voilà le code commenté: Code: --[[ %% properties %% globals --]]– État actuel de la variable light local light = fibaro:getValue(100, ‘value’)– si égal à 0 (lumière éteint) alors on allume if (light == ’0′) then fibaro:debug(‘On Allume!’) fibaro:call(100, ‘turnOn’) else – dans le cas contraire (lumière allumée) on éteint fibaro:debug(‘On Éteint’) fibaro:call(100, ‘turnOff’) end Explication des API utilisées: - fibaro:debug(text) Affiche le message ‘text’ dans la console debug associée avec le script. Paramètre: text: texte a afficher Exemple: fibaro:debug(‘Votre texte ici’); - fibaro:call(deviceID, actionName, …) Envoie une requête pour exécuter une action. Paramètre: deviceID : numéro ID de module actionName : nom de l’argument a exécuter (ici turnOff ‘mise à 0′ et turnOn ‘mise à 1′) Exemple: fibaro:call(100, ‘turnOff’); –mise à 0 du module - fibaro:getValue(deviceID, propertyName) Fonction qui récupère la valeur. Paramètre: deviceID : numéro ID de module propertyName : nom de propriété Exemple: local light = fibaro:getValue(100, ‘value’) — récupère l’état de la variable light (soit 0, soit 1) Si vous avez des question n’hésitez pas a me contacter. Merci et à bientôt