Aller au contenu
Tomzebest

Résumé Des Fonctions Lua (Doc Fibaro)

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Spider ou slider ?

Envoyé de mon smartphone

Partager ce message


Lien à poster
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_)

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci bien

 

Désolé mais je suis le champion des fautes d’orthographe   :(

Modifié par Krikroff

Partager ce message


Lien à poster
Partager sur d’autres sites

par contre mon slider â€‹par défaut fonctionne de 0 à  100.

 

comment pourrai-je le faire fonctionnaire de 0 à  1500 ?

Partager ce message


Lien à poster
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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ça ne fonctionne pas, ça reste àzéro.

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

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

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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)

Partager ce message


Lien à poster
Partager sur d’autres sites

@  Tomzebest et @ Krikroff

 

merci 1000fois pour votre aide sa fonction bien, j'ai fini par comprendre  :60:

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

salut

 

je recherche de l'aide pour faire clignoté une lampe avec un code lUA

 

j'ai deja essayer plusieur truc mai je n'y arrive pas .

 

 

merci d'avance 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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]

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Et non !!! On pleure tous là dessus justement :)

Partager ce message


Lien à poster
Partager sur d’autres sites

@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}")

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×