Aller au contenu
971jmd

Variation Du Lampe Par Rapport À Un Volet Roulant Lua

Recommended Posts

bonjour a tous

 

je cherche à  faire varier une lampe ID10 par rapport a la position d'un volet roulant.

 

code LUA

--[[
%% properties
145 value
10 value
%% globals
--]]

local ID1 = 145

local value2 = fibaro:getValue(ID1, 'value');

---affiche information sur la valeur ID10
local A = fibaro:getValue(ID1, 'value');
fibaro:debug('Volet du bar ouvert ' .. A .. " %" )

  
---Si variable (value2) sup à  10 augmentée la lampe ID10 de 10%

 if (tonumber(value2) >= 10) then fibaro:call(10, 'setValue', '10')

 ---Si variable (value2) sup à  20 augmentée la lampe ID10 de 20% 
if (tonumber(value2) >= 20) then fibaro:call(10, 'setValue', '20')

---Si variable (value2) sup à  30 augmentée la lampe ID10 de 30%
if (tonumber(value2) >= 30) then fibaro:call(10, 'setValue', '30') 

---Si variable (value2) sup à  40 augmentée la lampe ID10 de 40%
if (tonumber(value2) >= 40) then fibaro:call(10, 'setValue', '40') 

---Si variable (value2) sup à  50 augmentée la lampe ID10 de 50%
if (tonumber(value2) >= 50) then fibaro:call(10, 'setValue', '50') 

---- etc 

end

Partager ce message


Lien à poster
Partager sur d’autres sites

Quelle est la question ?

ne faudrait-il pas mettre un end après chaque if ? au lieu de 1 pour "tous" àla fin ?

Partager ce message


Lien à poster
Partager sur d’autres sites

un version un peu simplifiée, mais non testée car je n'ai pas de volet électrique :

--[[
%% properties
145 value
10 value
%% globals
--]]
 
local ID1 = 145
 
local value2 = fibaro:getValue(ID1, 'value');
 
---affiche information sur la valeur ID10
		fibaro:debug('Volet du bar ouvert ' .. value2 .. " %" )
 

fibaro:call(10, 'setValue', math.floor(value2))
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

effectivement, c'est beaucoup plus rationnel étant donné que tu veux allumer ta lampe au même niveau que tes volets sont fermés => beaucoup plus efficace car pas de tests

Partager ce message


Lien à poster
Partager sur d’autres sites

Dans la première version mettre "elseif"

 

Et devant math.floor peut être un tostring.

Partager ce message


Lien à poster
Partager sur d’autres sites

je n,ai pas de soucie avec le début du code

 
--[[
%% properties
145 value
10 value
%% globals
--]]
 
local ID1 = 145
 
local value2 = fibaro:getValue(ID1, 'value');
 
---affiche information sur la valeur ID10
local A = fibaro:getValue(ID1, 'value');
fibaro:debug('Volet du bar ouvert ' .. A .. " %" )

Partager ce message


Lien à poster
Partager sur d’autres sites

@Berale 24 :

oui, c mieux avec le tostring ;)

--[[
%% properties
145 value
10 value
%% globals
--]]
 
local ID1 = 145
 
local value2 = tostring(math.floor(fibaro:getValue(ID1, 'value')));
 
---affiche information sur la valeur ID10
        fibaro:debug('Volet du bar ouvert ' .. value2 .. " %" )
 

fibaro:call(10, 'setValue', value2)

Partager ce message


Lien à poster
Partager sur d’autres sites

oui ça fonctionne, mai j'ai oublier de vous précisé que je souhaite que la lampe vari automatiquement quand le volet fonctionne .

 

la lampe doit récupéré la valeur du volet en temps réelle :P  

Partager ce message


Lien à poster
Partager sur d’autres sites

Faudrait savoir si le module FGS222 envoie en temps réel sa potion, comme un encodeur.

et comment récupérer cette valeur

Partager ce message


Lien à poster
Partager sur d’autres sites

Si je ne me trompe pas l'ID de ton volet est 145,

tu as déclaré cet ID dans 

  • --[[
  • %% properties
  • 145 value

A chaque modification de "value" du volet (si c'est bien "value qui détermine la position du volet), la scène sera lancée. Donc à  chaque fois que le volet change de position ta lumière prendra la bonne valeur.

C'est du temps réel ^_^ .

Ce lien explique en partie le principe il me semble :

http://domotique-home.fr/fonction-fibarogetsourcetrigger/

Pour le FGS222, je n'en ai pas donc je ne sais pas pour le réglage à  effectuer afin d'avoir un retour.

Partager ce message


Lien à poster
Partager sur d’autres sites

merci encore pour votre aide 

 

j'ai réaliser le teste et le résultat sur ID145 : 

[DEBUG] 07:24:40: Autre cas

mai j'ai pas tout à  fait compris la fonction   fibaro:getSourceTrigger

 

si je comprend bien le FGRM222 n'envois pas de valeur en temps réelle 

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense surtout que j'explique mal car je suis débutant tout comme toi ^_^ .

 

Voici un extrait d'une page web de http://blog.domadoo.fr/2014/02/26/creation-de-scenarios-blocs-graphiques-et-lua-avec-le-home-center-2/

-----------------------------------------------------------

- Déclenchement automatique d’un module :
Si vous mettez en place une commande d’un module, celle-ci sera réalisée manuellement (c’est vous qui devrez activer le scénario pour que vos modules réalisent les actions définies). Pour mettre en place un déclenchement automatique en fonction d’un événement, vous devez ajouter dans l’entête le numéro ID de votre module servant de déclencheur (Trigger) suivi de « Value ».

Par exemple, vous souhaitez que le chauffage de votre salon soit déclenché automatiquement si vous ouvrez la fenêtre… pour éviter des dépenses inutiles. Le module commandant votre chauffage a un numéro ID de 53, le module détecteur d’ouverture de fenêtre a un numéro ID de 86.

Vous devez tout d’abord créer votre entête sans oublier d’ajouter le numéro ID du détecteur suivi de « Value » :

 


–[[
%% properties

86 Value

%% globals
--]]

-----------------------------------------------------------

 

ou ce lien :

http://tutoriels.domotique-store.fr/content/76/133/fr/lua-sur-hc2-declencher-des-scenes-avec-les-boutons-s1_s2-relies-aux-micro_modules-fibaro-fgd211-et-fgrm222.html

 

Pour le paramètrage, je n'ai pas ce module donc je ne peux pas t'aider plus  :P  :

http://tutoriels.domotique-store.fr/content/10/107/fr/parametres-du-micro_module-fibaro-fgrm_221-_-fgrm_222.html

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

le 145 value dans les properties signifie que :

 - la HC2 "surveille" si le "145" est en fonctionnement ou non.

 

Des qu'il fonctionne,  cela va declencher ton call

SI NON : il ne se passe rien.

 

En fait le 145 value est le DECLENCHEUR de la scene, pour toi cela declenche la variation de la lampe

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui c'est ça :60:

Pour être plus précis il "surveille" chaque changement d'état.

A chaque changement, la scène se lance, ce qui fait varier l'intensité de la lampe selon la position envoyé par le module volet (si celui-ci est bien paramétré).

Tu peux également lancer une scène comme l'exemple dans un des liens que je t'ai donné (http://tutoriels.dom...et-fgrm222.html) en appuyant sur l'un des interrupteurs du volet en mettant :

--[[
%% properties
146 sceneActivation
%% globals
--]]

146 étant l'ID de l'interrupteur, c'est un exemple car je ne le connais pas.

Mais pour ça il faut régler le paramètre 50 du module pour activer la fonction.

 

J'avoue avoir un mauvais retour car mon FGS211 (un ancêtre du tien) a toujours été capricieux avec la HC2. Je l'ai retiré car je n'avais pas de retour d'état, alors qu'il fonctionnais correctement avec ma Zipabox. :(

Partager ce message


Lien à poster
Partager sur d’autres sites

×