Aller au contenu

Résumé Des Fonctions Lua (Doc Fibaro)


Tomzebest

Recommended Posts

  • 4 weeks later...

Bonjour àtous

J ai besoin un ti coup de main

Je cherche àréaliser dans un module virtuel un code LUA permetant d'enregistrer la valeur du spider dans une variable (varspider)

Ex: si je déplace mon spider á 25, automatiquement ma variable (varspider) passe a 25

Lien vers le commentaire
Partager sur d’autres sites

Bon sans rire c'est tout bête. Si il s'agit bien d'un slider dans un module virtuel, tu peux envoyer la valeur àta variable àchaque fois que tu changes sa position.

Indique ca en LUA dans la case du slider:

fibaro:setGlobal("varslider", _sliderValue_)
Lien vers le commentaire
Partager sur d’autres sites

Je ne pense pas que ce soit possible de changer l'échelle par défaut du slider...

Par contre si ce qui t’intéresse est d'avoir la valeur entre 0 et 1500 dans ta variable globale, tu peux mettre un coefficient dans le code que je t'ai donné. Mais tu auras des valeurs qui seront uniquement des multiples de 15.

fibaro:setGlobal("varslider", _sliderValue_) * 15

 

Tu peux du coup avoir en dessous de ton slider la valeur récupérée de ta variable globale, pour voir en direct le changement quand tu bouges le slider.

Ajoute un Label (ou étiquette maintenant que c'est traduit en français) et dans le main loop colle ce code

local Value = fibaro:getGlobalValue("varslider")
fibaro:call(<ID du module>, 'setProperty', 'ui.Label1.value', Value)

Indique le numéro de ton module et si tu n'as pas d'autres étiquettes dans ton module virtuel ne change rien d'autre, sinon change Label1 par l'ID de ton nouveau label.

Lien vers le commentaire
Partager sur d’autres sites

Tu peux essayer ceci pour appliquer le coef. aussi sur la variable globale

fibaro:setGlobal("varslider", tonumber(_sliderValue_)*15)
Lien vers le commentaire
Partager sur d’autres sites

Oui mais pour combien de temps, je suis prudent maintenant ils font trop le yoyo un coup le type est passe partout un coup c'est sensible au type :P

Lien vers le commentaire
Partager sur d’autres sites

merci a vous deux, pour la multiplication de la valeur ça fonctionne 

 

Mai pour le retour de la valeur sa fonction pas 

ID du module c'est:    ID du slider ou ID du module virtuel ? 

label c'est quoi exactement ?

local Value = fibaro:getGlobalValue("varslider")
fibaro:call(<ID du module>, 'setProperty', 'ui.Label1.value', Value)
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

bonsoir

 

J’ai créé un code qui me permet d'activer trois lampes au choix, à  partir de l'interrupteur sur le cordon d'alimentation d'une lampe de chevet.

Comment ça fonctionne:

1-  j'allume ma lampe variable passe à  1 et allume lampe 1

ou

2-  j'allume ma lampe 2fois (allume, éteint, allume), la variable passe à  2 et allume lampe 2

ou

3-  j'allume ma lampe 3 fois (allume, éteint, allume, éteint, allume), la variable passe à  3 et allume lampe 3

ou

4- j'allume ma lampe 4 fois (allume, éteint, allume, éteint, allume, éteint, allume),la variable passe à  0 (remise à  zéro de la variable)

 

j'ai deux probleme,

1- si je souhaite sélectionner la lampe N°3 comment éviter d'activer les lampes  1 et 2

 

2- j'ai pas encore trouver comment faire code pour la remise a zero.

--[[
%% properties
221 power
%% globals
var23
--]]



local val = fibaro:getValue(221, "value");

if (tonumber(val) >= 1) then
local var = fibaro:setGlobal('var23', fibaro:getGlobalValue('var23') + 1); 
  
 end

---si la variable = 1 alors on lampe bar N°1---
local value = fibaro:getGlobalValue('var23')
if (value == '1') 
  then  
fibaro:call(60, 'turnOn'); 
  
  end

---si la variable = 2 alors on lampe SB AMELIA N°2---
local value = fibaro:getGlobalValue('var23')
if (value == '2') 
  then  
fibaro:call(169, 'turnOn');  
  
  end

---si la variable = 3 alors on lampe CH CHAMBRE N°3 ---
local value = fibaro:getGlobalValue('var23')
if (value == '3') 
  then  
fibaro:call(167, 'turnOn');
  
  end

j'ai deux probleme,

1- si je souhaite sélectionner la lampe N°3 comment éviter d'activer les lampes  1 et 2

 

2- j'ai pas encore trouver comment faire code pour la remise a zero.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...

Bonjour a tous

 

je cherche un moyen de modifier la valeur des paramètre d'un FGRM-222  (Protection de commande)

 

"RFProtectionState": "1",  la passé à   = 0

et 

 

"localProtectionState": "2" la passer a = 5

 

 

Moyen choisi pour modifier les paramètres:

 

si variable securitée_1 =ON alors     "localProtectionState": = 0

et pour l'autre

si variable sécurité_2 =ON alors      "localProtectionState" = 5

 

pour info les paramètre correspond à  ça:

post-112-0-26091000-1458264928_thumb.jpg

 

merci d'avance pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

  • 9 months later...

Bonjour

@ 971jmd

Voir si le FGS 223 peut répondre à ton besoin, il a a un mode intégré flash voir paramètre 13 , non testé.

13. First channel - pulse time for flashing mode
This parameter allows to set time of switching to opposite state in
flashing mode.
Available settings: 1-32000 (0.1-3200.0s, 0.1s step) - time parameter
Default setting: 5 (0.5s) Parameter size: 2 [bytes]

Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...

Bonjour,

Je suis épaté d'une telle connaissance des fonctionnalités de Fibaro.

J'ai une question, et pardonnez-moi si elle n'est pas dans la bonne rubrique:

- Lorsque l'on crée un Module Virtuel, y-a t'il moyen de lui donner un type (par exemple, thermomètre, ou mesure de consommation, ...) afin de le voir comme si c'était un "vrai" module Fibaro ?

Merci pour vos lumières !

 

Yves

Lien vers le commentaire
Partager sur d’autres sites

  • 8 months later...

@Javier Carelli

Tu n'as pas l'air d'aimer le LUA ;-) Je serais toi, j'essaierais GEA

 

avec une syntaxe pus simple, tu pourrais faire tout ce que tu souhaites.

Exemple pour ta batterie : tu recevras un message avec le nom du module qui aura un niveau de batterie < 30

 

GEA.add({"Batteries", 30}, 30, " Batterie faible : {Name}")

 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...