Aller au contenu

Messages recommandés

Posté(e)

Bonsoir a vous tous ,

 

J'utilise cette scène pour avoir trois fonctions  sur la même touche ,avec le capteur FGK du FIBARO,  mais sur "appui long" j'aime bien d'avoir le volume de VD Sonos , autant que on "appui long" le volume monte légèrement , des que on "relâche " le volume s'arrête .

 J'ai essayé de cette manière , mais sans résultats ...

Je vous remercie pour votre conseils 

Un grand merci

--[[
%% properties
125 sceneActivation
%% globals
--]]

local magicswitch = 125  -- a mettre ID sensors

if (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 11) then
   fibaro:debug('You click 11 = Single click')
   fibaro:call(60, "turnOff");
   fibaro:call(76, "pressButton", "8");
elseif (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 12) then 
   fibaro:debug('You click 12 = Long click')
   fibaro:call(76, "setSlider", "15", "8")
   fibaro:call(76, "setSlider", "15", "10")
   fibaro:call(76, "setSlider", "15", "12")
   fibaro:call(76, "setSlider", "15", "14") 
elseif (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 13) then 
   fibaro:debug('You click 13 = Return Long click')
elseif (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 14) then 
   fibaro:debug('You click 14 = Double click')
   fibaro:startScene(47);
elseif (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 15) then 
   fibaro:debug('You click 15 = Triple click')
   fibaro:call(60, "turnOn");
end
Posté(e)


[DEBUG] 20:10:51: You click 14 = Double click

[DEBUG] 20:11:01: You click 15 = Triple click

[DEBUG] 20:11:14: You click 11 = Single click

[DEBUG] 20:11:30: You click 12 = Long click

[DEBUG] 20:11:30: You click 13 = Return Long click

Posté(e)

ton debug semble bien fonctionner, et bien détecter les actions.

Mais cette scène ne tient pas compte de la durée de l'appui long.

 

En fait, lorsque tu appuies long, tu devrais lancer une autre scène qui appuie toute les 1/2 sec (par exemple) sur le bouton d'augmentation du volume, jusqu'à  ce le Return long click vienne interrompre la boucle.

Pour la scène qui tourne en boucle, je mettrais l'action dans un while true do ... end et puis le return, viendrait killer cette scène.

Posté(e)

Merci beaucoup,   de vos réponses , mai il est possible d'avoir quelques lignes de code pour quelques idées ,

 

Bien a vous , 

Posté(e)

Essaie ceci

--[[
%% properties
125 sceneActivation
%% globals
--]]
 
local magicswitch = 125  -- a mettre ID sensors
local volume = fibaro:get(76,"ui.Slider1.value") -- Recuperer le bon nom du Slider dans le VD


local actions = {
    [10] = function() fibaro:debug("appui simple B1") end,
    [11] = function()
            fibaro:debug('You click 11 = Single click')
            fibaro:call(60, "turnOff")
            fibaro:call(76, "pressButton", "8")
            end,
    [12] = function()
            fibaro:debug('You click 12 = Long click')
            -- Augmenter le volume
            volume = math.min(100, volume +10)
            fibaro:debug("Volume : " ..volume)
            fibaro:call(76, "setSlider", "15", volume)
            end,
    [13] = function()
            fibaro:debug('You click 13 = Return Long click')
            -- Diminuer le volume
             volume = math.max(0, volume -10)
            fibaro:debug("Volume : " ..volume)
            fibaro:call(76, "setSlider", "15", volume)
            end,
 
    [14] = function()
            fibaro:debug('You click 14 = Double click')
            fibaro:startScene(47)
            end,
    [15] = function()
            fibaro:debug('You click 15 = Triple click')
            fibaro:call(60, "turnOn")
            end,
}
 
local action = tonumber(fibaro:getValue(magicswitch, "sceneActivation"))
actions[action]()
  • Upvote 2
Posté(e)

Wow, Wow , Wow

 

le volume augmenter (+10) sur appui long et diminuer (-10) ,, je vais jouer un peu avec ces valeurs ... 

[DEBUG] 17:48:36: You click 13 = Return Long click
[DEBUG] 17:48:36: Volume : 16
[DEBUG] 17:48:44: You click 12 = Long click
[DEBUG] 17:48:44: Volume : 26
[DEBUG] 17:48:45: You click 13 = Return Long click
[DEBUG] 17:48:45: Volume : 16
[DEBUG] 17:59:15: You click 12 = Long click
[DEBUG] 17:59:15: Volume : 26
[DEBUG] 17:59:15: You click 13 = Return Long click
[DEBUG] 17:59:15: Volume : 16
Posté(e)

Vous tous depuis ce Forum , vous êtes une source inépuisable d'énergie et de nouvelles idées pour nous les débutants en domotique , 

 

Merci a vous , 

Posté(e)

Messieurs,

Le code au départ n'est pas de moi, je m'inspire des experts.

 

La fonction est de @steven et le math.min doit etre de @Berale dans un code que l'on avait fait pour un forumeur.

×
×
  • Créer...