Aller au contenu
mprinfo

Module Virtuel - Le Slider De A À Z (Image + Codes Lua)

Recommended Posts

:13:Vu que j'ai eu pas mal de J'aime pour mon dernier tuto :13:

 

(Je suis en manque d'affection :P )

 

Cela veux dire que vous êtes demandeur et ça me motive à  en faire d'autres

 

http://www.domotique-fibaro.fr/index.php/forum/83-la-home-center-pour-les-nuls/

 

Nous somme nombreux sur ce forum si 10% des membres font un tuto ça serait super

 

  • 1er Partie est plutôt simple.
  • 2eme Partie et plus complexe mais facile a comprendre.

 

Je vais vous expliquez comment ce servir du Slider d'un module Virtuel

 

1er Partie

  • Il faut crée un module virtuel voici comment faire en image
gallery_374_240_189778.jpg

 

 
med_gallery_374_240_139708.jpg
 

 

 
  • Il faut copier ce code dans le slider
local ID_VD = fibaro:getSelfId() -- Recupere l'id du module Virtuel
local Slider = fibaro:get(ID_VD,"ui.Slider1.value")
fibaro:debug(Slider)
-- Ecriture de la valeur du slider dans l'etiquette Label1
fibaro:call(ID_VD, "setProperty", "ui.Label1.value", Slider)
  • On sauvegarde et on revient sur le slider
  • Pour Debuger le code on fait comme cela

          fibaro:debug() affiche des messages dans le debug

          ex : fibaro:debug("Coucou") ou fibaro:debug("Valeur du slider : " ..Slider)

 

gallery_374_240_57736.jpg

 

gallery_374_240_53696.jpg
 

 

  • On appui sur Démarrer et on bouge le slider grace a fibaro:debug() on peut voir la valeur de la variable local Slider

 

 

2eme Partie

 

  • Nous venons de voir comment utiliser le slider
  • On aperçois que les valeurs vont de 0 à  100
  • Je vais donc vous montrer comment on peut avoir d'autre valeur que 0 à  100 
  • il est impossible pour le moment de modifier le slider au niveau de l'affichage 0 -100
  • C'est pour cela que nous allons utiliser une étiquette pour afficher la valeur
  • Il faut savoir que le slider à  101 position de 0 à  100 si on veut de 0 à  50 on va avoir (0 - 0,5 - 1 - 1,5 etc..)
  • Si vous voulez un nombre entier il faut utilisez math.floor()
  • Voici l'explication donner par Gregory à  Moicphil
-- Il te faut une fonction de mapping.

function map_range( a1, a2, b1, b2, s )
return b1 + (s-a1)*(b2-b1)/(a2-a1)
end

-- à‡a permet de mapper une valeur s du range a1, a2 dans le range b1, b2. 
-- Ici s est la valeur de ton curseur, a1=0, a2=100 
-- et à  toi de définir les températures min et Max (b1 et b2) que tu souhaites. 
-- à‡a permet de mapper une valeur s du range a1, a2 dans le range b1, b2. Ici s est la valeur 
-- de ton curseur, a1=0, a2=100 et à  toi de définir les températures min et Max (b1 et b2) 
-- que tu souhaites. 

          C'est l'un des sites préféré de notre amis KriKroff :13:

 

  • Je vais vous donnez un exemple pour un slider de 30 à  80
  • -- Permet de récuperer la valeur slider
    function map_range( a1, a2, b1, b2, s )
    return b1 + (s-a1)*(b2-b1)/(a2-a1)
    end
     
    local V_Slider = map_range(0, 100, 30, 80, _sliderValue_ );
    
    -- Permet d'avoir un nombres entier math.floor()
    local Slider = math.floor(V_Slider)
    
    
  • Pour modifier la valeur d'un slider directement depuis une URL, voici la syntaxe : (By Steven)

     

    http://<URL_HC2>/api/callAction?deviceID=<ID_Module_virtuel>&name=setSlider&arg1=<Position_du_slider>&arg2=<Valeur>

     

    URL_HC2 = L'url de votre HC2 ... soit son adresses IP, soit www.mondomaine.com

    ID_Module_virtuel = L'identifiant du module virtuel 

    Position_du_slider = La position du slider dans le module virtuel. en comptant de haut en bas et de gauche à  droite le nombre de label, bouton, slider dans le module virtuel

    Valeur = la valeur souhaitée .. depuis la v 4.x la valeur DOIT être un chiffre entier.

     

    Exemple

     

    http://192.168.1.1:8...&arg1=4&arg2=10

  • Upvote 11

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×