Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Slider Value in Virtual devices


northyorks

Question

I have made a slider in a virtual device for my lightwave lights. They have a normal range of 0-32, so in my virtual device slider i have used:

 

local LWRF_DimLevel = math.floor((_sliderValue_ / 100) * 32)

 

However when I put the slider between the values of 0-4 (so very dim) the actual light level goes to 100% brightness.

 

I assume my math.floor must need changing?

 

Or is there any code I can use to not allow the slider to go below say 5?

 

Or if slider <5 then 'press button' off for example?

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
  • Inquirer
  • I have made a slider in a virtual device for my lightwave lights. They have a normal range of 0-32, so in my virtual device slider i have used:

     

    local LWRF_DimLevel = math.floor((_sliderValue_ / 100) * 32)

     

    However when I put the slider between the values of 0-4 (so very dim) the actual light level goes to 100% brightness.

     

    I assume my math.floor must need changing?

     

    Or is there any code I can use to not allow the slider to go below say 5?

     

    Or if slider <5 then 'press button' off for example?

    Found this ..

     

    not sure what it means but seems to work to limit range if it helps anyone else:

     

    1. function map_range( a1, a2, b1, b2, s )
    2. return b1 + (s-a1)*(b2-b1)/(a2-a1)
    3. end
    4.  
    5.  
    6. local LWRF_DimLevel = map_range(0, 100, 5, 32, _sliderValue_ )
    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...